Bonsoir @ tous,
Bon j'ai essayé de faire tout bien comme vous avez dit :
1) 2 dossiers différents de travail pour le script :
HomeZikByGit=$HOME/.ZiK/ZikByGit
HomeZik=$HOME/.ZiK
2) Suppression Raccourci Menu principal.
Celui de git marche très bien (trop fort Vinc 😉 )
3) La purge dpkg a été activé pour git-core.
Il y avait un intégré dans le code initial pour la purge certain packages comme celui de git se comporte bizarrement et reste dans la liste "dpkg -l" Bizare Bizare :/
4) La liste des packages installés durant install de Zik est enfin fiable. 😃
Le fichier se trouve dans "$HomeZikByGit/MissingDepZik.txt" , il ne reste plus qu'a l'exploiter pour la désinstallation Auto.
5) Menu Mode Utilisateur / Mode Avancée.
correction routine mode utilisateur Desinstall et ConfigBackup.
6) Correction dans l'ordre des fonctions pour éviter situation bizarre .
ex: Mise à jour sans install, desinstall sans depot Git , installation sans dossier Zik, etc ...
7) compilation & installation de taglib 1.5 pour le wma.
Option dispo dans le Mode Avancée.
la version 0.8.2 est en ligne :
wget http://ordiboy.free.fr/open/Linux/Setup_ZikByGit.sh
chmod +x ./Setup_ZikByGit.sh
./Setup_ZikByGit.sh
voici le code :
#!/bin/bash
#
##################################
## Auteurs : La ZikTeam ;o) ##
## Version: 0.8.2 ##
## Licence: GNU ##
##################################
Version="0.8.2 "
#
#
####################################################################
# wget http://ordiboy.free.fr/open/Linux/Setup_ZikByGit.sh ##
# chmod +x ./Setup_ZikByGit.sh ##
# ./Setup_ZikByGit.sh ##
####################################################################
#
#
#http://forum.ubuntu-fr.org/viewtopic.php?id=154862&p=1
DEPENDANCES_Zik="git-core libmusicbrainz-ruby1.8 libtagc0-ruby libgst-ruby libgtk2-ruby libgettext-ruby1.8"
DEPENDANCES_Os="build-essential gstreamer0.10-plugins-ugly"
HomeZikByGit=$HOME/.ZiK/ZikByGit
HomeZik=$HOME/.ZiK
OrigineDep=""
package_list=""
optionremove=""
APT="apt-get"
ModeUserExpert="U"
color()
{
printf '\033[%sm%s\033[m\n' "$@"
}
########################################################################################################################
# Remove_packages
########################################################################################################################
Remove_packages()
{
rm $HomeZik/apt.txt &>/dev/null
touch $HomeZik/apt.txt &>/dev/null
missing=""
echo $MESSAGE
package_list="$1"
## check les fichiers manquants
## check la liste
for i in $package_list ; do
## check extra (paquets a pb...) defini tocheck ou pas...
if [ -z "$basic" ]; then
tocheck="$(echo -e "$i" | sed 's/[0-9]/\.*/g')"
else
tocheck="$i"
fi
## demarre check
if [[ ` sudo dpkg -l | awk '{print $2}' | grep -w "^$tocheck$" | tail -n1 ` ]]; then
echo "$i" | tee -a $HomeZik/apt.txt
missing=`cat $HomeZik/apt.txt | xargs`
sudo $APT remove ${missing} $optionremove
fi
done
## message final
if [ -n "$failed" ]
then
echo ` color 31 "Un problème à été rencontré !
Les paquets suivants ne peuvent pas être installé :
$failed
Veuillez verifier votre sources.list et reporter le problème sur le forum SVP "`
exit 1
else
echo `color 32 "Vérification terminée, dépendences Desinstallées ok ^^ "`
fi
rm $HomeZik/apt.txt &>/dev/null
rm $HomeZik/failed.txt &>/dev/null
}
########################################################################################################################
# install_packages
########################################################################################################################
install_packages()
{
if [ ! -d $HomeZikByGit ]
then
mkdir -p $HomeZikByGit
fi
rm $HomeZik/apt.txt &>/dev/null
touch $HomeZik/apt.txt &>/dev/null
missing=""
echo $MESSAGE
package_list="$1"
## check les fichiers manquants
## clean dpkg
sudo dpkg -l | grep '^rc' | grep git-core && sudo dpkg -P "git-core" 2>/dev/null
## check la liste
for i in $package_list ; do
## check extra (paquets a pb...) defini tocheck ou pas...
if [ -z "$basic" ]; then
tocheck="$(echo -e "$i" | sed 's/[0-9]/\.*/g')"
else
tocheck="$i"
fi
## demarre check
if [[ ! ` sudo dpkg -l | awk '{print $2}' | grep -w "^$tocheck$" | tail -n1 ` ]]; then
echo "$i" | tee -a $HomeZik/apt.txt
cp $HomeZik/apt.txt $HomeZikByGit/MissingDepZik.txt
missing=`cat $HomeZik/apt.txt | xargs`
else
echo "$i" | tee $HomeZikByGit/OrigineDepZik.txt &>/dev/null
fi
done
## installe les paquets manquants
if [ -z "$missing" ]; then
rm $HomeZik/apt.txt &>/dev/null
echo `color 32 "Toutes les dépendences sont installées, ok..."`
else
echo `color 31 "Le(s) paquet(s) suivants vont/va etre installé(s) :
${missing}
"`
sleep 3
sudo $APT install ${missing}
## vérification de l'installation...
rm $HomeZik/failed.txt &>/dev/null
touch $HomeZik/failed.txt &>/dev/null
check=$(echo "$missing" | xargs | sed -e 's/[0-9]/\.*/g')
for i in $missing; do
if [ ! ` sudo dpkg -l | awk '{print $2}' | grep -w "^$i$" ` ]; then
echo "$i" | tee -a $HomeZik/failed.txt
fi
done
## message final
if [ -n "$failed" ]; then
echo ` color 31 "Un problème à été rencontré !
Les paquets suivants ne peuvent pas être installé :
$failed
Veuillez verifier votre sources.list et reporter le problème sur le forum SVP
"`
exit 1
else
echo `color 32 "Vérification terminée, installation des dépendences ok ^^ "`
fi
rm $HomeZik/apt.txt &>/dev/null
rm $HomeZik/failed.txt &>/dev/null
fi
}
########################################################################################################################
# DesinstallationDependances
########################################################################################################################
DesinstallationDependances(){
clear
echo ""
echo " ---------------------------------------"
echo " Desinstallation des Dependances ;O) "
echo " ---------------------------------------"
echo ""
echo "Faite votre choix : "
echo ""
echo `color 32 "1 - D(efaut) - Mode Sans risque"`
echo "-------------"
echo ">> Suppression Automatique de : "
echo $DEPENDANCES_Zik
echo ""
echo ""
echo `color 31 "2 - M(anuel) - Mode utilisateurs Avancés"`
echo "-------------"
echo ">> Suppression Manuelle de : "
echo $DEPENDANCES_Os $DEPENDANCES_Zik
echo ""
echo ""
echo "3 - A(nnuler)"
read RepDependances
case $RepDependances in
[dD]* | 1)
optionremove="-y"
Remove_packages "git-core libmusicbrainz-ruby1.8 libtagc0-ruby libgst-ruby libgtk2-ruby libgettext-ruby1.8"
optionremove=""
;;
[mM]* | 2)
Remove_packages "git-core libmusicbrainz-ruby1.8 libtagc0-ruby libgst-ruby libgtk2-ruby libgettext-ruby1.8"
Remove_packages "build-essential gstreamer0.10-plugins-ugly"
;;
[aA]* | 3)
clear
echo
echo `color 32 "===================================================="`
echo `color 32 " Desinstallation des dependances annulées "`
echo `color 32 "===================================================="`
sleep 3
clear
;;
*)
clear
echo "Les choix possibles sont 1 ou 2 :"
echo ">>" $RepDependances "<< n'est pas une entree valide."
echo "Essayez à nouveau ;O)"
esac
}
########################################################################################################################
# SauvegarderConfig
########################################################################################################################
SauvegarderConfig(){
clear
echo ""
echo " ---------------------------------------"
echo " Sauvegarder la config de ZiK ;O) "
echo " ---------------------------------------"
echo "Voulez vous :"
echo ""
echo `color 32 "1 - S(auvegarder votre configuration Zik)"`
echo ""
echo `color 31 "2 - R(einitialisation complete de la configuration)"`
echo ""
echo ""
echo "3 - A(nnuler)"
read Savconfig
case $Savconfig in
[sS]* | 1)
rm -Rf $HomeZikByGit/zik &>/dev/null
cd $HomeZik/
if [ -f ZikConfigBk.tar.gz ];
then
cd $HomeZik/ && mv $HomeZik/ZikConfigBk.tar.gz $HomeZik/ZikConfigBk~
cd $HomeZik/ && tar --remove-files -zcvf $HomeZik/ZikConfigBk.tar.gz *
else
cd $HomeZik/ && tar --remove-files -zcvf $HomeZik/ZikConfigBk.tar.gz *
fi
;;
[rR]* | 2)
if [ -d $HomeZik ];
then
rm -Rf $HomeZik
fi
;;
[aA]* | 3)
clear
echo
echo `color 32 "===================================================="`
echo `color 32 " Sauvegarde de la config annulée "`
echo `color 32 "===================================================="`
sleep 3
clear
;;
*)
clear
echo "Les choix possibles sont 1,2 ou 3 :"
echo ">>" $Savconfig "<< n'est pas une entree valide."
echo "Essayez à nouveau ;O)"
esac
}
########################################################################################################################
# RestaurationConfig
########################################################################################################################
RestaurationConfig(){
cd $HomeZik/
if [ -f ZikConfigBk.tar.gz ];
then
clear
echo ""
echo `color 32 "===================================================="`
echo `color 32 " Restauration de la configuration de Zik "`
echo `color 32 "===================================================="`
echo ""
echo `color 31 "ZikByGit vient de detecter une sauvegarde "`
echo `color 31 "Que voulez vous faire ?"`
echo ""
echo "1 - R(estaurer votre configuration Zik)"
echo ""
echo "2 - A(nnuler la Restauration)"
read Resconfig
case $Resconfig in
[rR]* | 1)
cd $HomeZik/ && tar -zxvf $HomeZik/ZikConfigBk.tar.gz
rm $HomeZik/ZikConfigBk.tar.gz
#clear
echo `color 32 "===================================================="`
echo `color 32 " Restauration de la configuration effectuée "`
echo `color 32 "===================================================="`
sleep 3
;;
[aA]* | 2)
clear
if [ -f ZikConfigBk.tar.gz ];
then
cd $HomeZik/ && mv $HomeZik/ZikConfigBk.tar.gz $HomeZikByGit/~ConfigBk.tar.gz
clear
echo `color 32 "===================================================="`
echo `color 32 " Au cas ou $HomeZikByGit/~ConfigBk.tar.gz ;O) "`
echo `color 32 "===================================================="`
sleep 3
fi
clear
echo
echo `color 32 "===================================================="`
echo `color 32 " Restauration de la configuration annulée "`
echo `color 32 "===================================================="`
sleep 3
clear
;;
*)
clear
echo "Les choix possibles sont 1 ou 2 :"
echo ">>" $RepDependances "<< n'est pas une entree valide."
echo "Essayez à nouveau ;O)"
esac
fi
}
########################################################################################################################
# MiseajourZik
########################################################################################################################
MiseajourZik(){
install_packages "git-core libmusicbrainz-ruby1.8 libtagc0-ruby libgst-ruby libgtk2-ruby libgettext-ruby1.8"
install_packages "build-essential gstreamer0.10-plugins-ugly"
if [ -d $HomeZikByGit/zik ];
then
cd $HomeZikByGit/zik
if ! git pull > CtrlMAJGit.log 2>&1
then
echo "Le depot Git de Zik n'est pas accessible "
cat CtrlMAJGit.log
return 0
fi
if grep -q "Already up-to-date." < CtrlMAJGit.log
then
clear
echo
echo `color 32 "===================================================="`
echo `color 32 " Vous avez déja la derniere Version "`
echo `color 32 "===================================================="`
sleep 3
rm -f CtrlMAJGit.log
else
cd $HomeZikByGit/zik && sudo make uninstall
make distclean
git pull
./configure && make
sudo make install
clear
echo
echo `color 32 "===================================================="`
echo `color 32 " Mise à jour Terminée "`
echo `color 32 "===================================================="`
sleep 3
fi
else
mkdir -p $HomeZikByGit
cd $HomeZikByGit && git clone git://rubyforge.org/zik.git
cd $HomeZikByGit/zik && ./configure
make
sudo make install
RestaurationConfig
echo
echo `color 32 "===================================================="`
echo `color 32 " Installation de Zik via le dedépôt Git "`
echo `color 32 "===================================================="`
sleep 3
fi
}
########################################################################################################################
# ModeUserExpert
########################################################################################################################
ModeUserExpert(){
clear
echo ""
echo `color 32 "====================================================="`
echo " Mode Utilisateur / Mode Avancée "
echo `color 32 "====================================================="`
echo ""
echo "Choisisez votre type d'installation :"
echo ""
echo `color 32 " 1 - U(tilisateurs) - Mode utilisateurs "`
echo ""
echo `color 31 " 2 - A(vancée) - Mode utilisateurs Avancés"`
echo ""
read UserExpert
case $UserExpert in
[uU]* | 1)
#Basculement sur le Main
ModeUserExpert="U"
;;
[aA]* | 2)
ModeUserExpert="E"
echo ""
echo " ----------------------------------------------------"
echo " Apt-get / Apptitude "
echo " ----------------------------------------------------"
echo "Choisisez votre type d'installation :"
echo ""
echo `color 32 "1 - Apt-ge(t)"`
echo ""
echo `color 31 "2 - Apptitud(e)"`
echo ""
read AptgetApptitude
case $AptgetApptitude in
[tT]* |1)
APT="apt-get"
;;
[eE]* | 2)
APT="aptitude"
;;
*)
clear
echo "Les choix possibles sont 1 ou 2:"
echo ">>" $AptgetApptitude "<< n'est pas une entree valide."
echo "Essayez à nouveau ;O)"
esac
;;
*)
clear
echo "Les choix possibles sont 1 ou 2:"
echo ">>" $UserExpert "<< n'est pas une entree valide."
echo "Essayez à nouveau ;O)"
exit
esac
}
########################################################################################################################
# Main
########################################################################################################################
cd $HomeZik/
ModeUserExpert
clear
echo ""
echo `color 32 "====================================================="`
echo " Le Zik By Git (Ver: $Version ) ;O) "
echo " "
echo " Installation de Zik en version de Developpement "
echo `color 32 "-----------------------------------------------------"`
echo ""
echo " 1 - I(nstallation)"
echo ""
echo " * "
echo ""
echo " 2 - M(ise à jour)"
echo " 3 - S(auvegarde config)"
echo ""
echo " * "
echo ""
echo " 4 - D(esinstaller)"
echo ""
echo `color 32 "-----------------------------------------------------"`
echo " 5 - A(nnuler)"
echo `color 32 "====================================================="`
read reponse
#Menu / Installation
#-------------------
case $reponse in
[iI]* | 1)
echo
echo `color 31 "==========================================================================="`
echo `color 31 "Le Script va vous demander votre mot de passe "'sudo'" - (o; La ZikTeam ;o) "`
echo `color 31 "==========================================================================="`
sleep 2
echo `color 32 "suppression de l'ancienne version de Zik (.deb ou Git)"`
sudo $APT remove zik -y
mkdir -p $HomeZikByGit
if [ -e $HomeZikByGit/zik ]
then
cd $HomeZikByGit/zik && sudo make uninstall
fi
install_packages "git-core libmusicbrainz-ruby1.8 libtagc0-ruby libgst-ruby libgtk2-ruby libgettext-ruby1.8"
install_packages "build-essential gstreamer0.10-plugins-ugly"
echo
echo `color 32 "===================================================="`
echo `color 32 "Téléchargement et Installation de ZiK grâce au dépôt"`
echo `color 32 "===================================================="`
if [ ! -e $HomeZikByGit ]
then
mkdir -p $HomeZikByGit
fi
cd $HomeZikByGit
if [ -d $HomeZikByGit/zik ]
then
cd $HomeZikByGit/zik && git pull
else
cd $HomeZikByGit && git clone git://rubyforge.org/zik.git
fi
cd $HomeZikByGit/zik && ./configure && make
sudo make install
clear
RestaurationConfig
clear
echo `color 32 "===================================================="`
echo `color 32 " installation Terminée "`
echo `color 32 "===================================================="`
sleep 3
ZiK.rb
#Menu / Mise à jour
#------------------
;;
[mM]* | 2)
echo
echo `color 31 "==========================================================================="`
echo `color 31 "Le Script va vous demander votre mot de passe "'sudo'" - (o; La ZikTeam ;o) "`
echo `color 31 "==========================================================================="`
sleep 2
MiseajourZik
ZiK.rb
#Menu / Sauvegarde
#------------------
;;
[sS]* | 3)
SauvegarderConfig
ZiK.rb
#Menu / Desinstallation
#----------------------
;;
[dD]* | 4)
echo
echo `color 31 "==========================================================================="`
echo `color 31 "Le Script va vous demander votre mot de passe "'sudo'" - (o; La ZikTeam ;o) "`
echo `color 31 "==========================================================================="`
sleep 2
if [ $ModeUserExpert = "E" ]; then
cd $HomeZikByGit/zik && sudo make uninstall
SauvegarderConfig
DesinstallationDependances
clear
echo `color 32 "===================================================="`
echo `color 32 " Procedure terminée "`
echo `color 32 "===================================================="`
sleep 3
else
if [ -d $HomeZik ]
then
if [ -d $HomeZikByGit/zik ]
then
cd $HomeZikByGit/zik && sudo make uninstall
fi
rm -Rf $HomeZikByGit
if [ -f $HomeZik/ZikConfigBk.tar.gz ];
then
mv $HomeZik/ZikConfigBk.tar.gz $HomeZik/ZikConfigBk~
cd $HomeZik/ && tar --remove-files -zcvf $HomeZik/ZikConfigBk.tar.gz *
else
cd $HomeZik/ && tar --remove-files -zcvf $HomeZik/ZikConfigBk.tar.gz *
fi
else
mkdir -p $HomeZikByGit
fi
optionremove="-y"
Remove_packages "git-core libmusicbrainz-ruby1.8 libtagc0-ruby libgst-ruby libgtk2-ruby libgettext-ruby1.8"
optionremove=""
rm -Rf $HomeZikByGit
clear
echo `color 32 "===================================================="`
echo `color 32 " Procedure terminée "`
echo `color 32 "===================================================="`
sleep 3
fi
#Menu / Annuler
#--------------
;;
[aA]* | 5)
clear
echo
echo `color 32 "===================================================="`
echo `color 32 " Installation annulée "`
echo `color 32 "===================================================="`
sleep 3
clear
#Menu / Erreur
#-------------
;;
*)
clear
echo "Les choix possibles sont 1,2,3 ou 4 :"
echo ">>" $reponse "<< n'est pas une entree valide."
echo "Essayez à nouveau ;O)"
sleep 3
clear
esac
exit 0
==========================================================
Un retour sur partage samba :
Alors docteur c'est grave ?
EDIT : Avec Totem 2.24.3 (GStreamer 0.10.21) cela a l'air de fonctionner sans avoir à monter le dossier, peut être une piste ...
~$ gst-launch playbin uri=smb://ordisalon/x/Musique/Jason/01-x.mp3
Définition du pipeline à PAUSED...
connection_message_func(): Callback
CALLBACK: fill-authentication!!!
connection_message_func(): Callback
CALLBACK: fill-authentication!!!
connection_message_func(): Callback
CALLBACK: full-authentication!!!
connection_message_func(): Callback
CALLBACK: fill-authentication!!!
connection_message_func(): Callback
CALLBACK: fill-authentication!!!
connection_message_func(): Callback
CALLBACK: full-authentication!!!
ERREUR : le pipeline refuse de se mettre en pause.
ERREUR : de l'élément /GstPlayBin:playbin0/GstGnomeVFSSrc:source : Impossible d'ouvrir la ressource en lecture.
Information de débogage supplémentaire :
gstgnomevfssrc.c(836): gst_gnome_vfs_src_start (): /GstPlayBin:playbin0/GstGnomeVFSSrc:source:
Could not open vfs file "smb://ordisalon/x/Musique/Jason/01-jason_mraz-make_it_mine.mp3" for reading: Accès refusé (16)
Définition du pipeline à NULL...
Libération du pipeline (FREE)...
===========================================
questions :
- Le lien symbolique Zik au lieu de Zib.rb est il actif ?
- comment fait on pour rendre les fichiers de music en lecture par defaut par Zik ?
le ouvrir avec "commande" zik.rb ne fonctionne pas chez, dois je appliquer une option supplementaire du type "ruby Zik.rb %u" ou un truc du genre ?