Bonsoir tout le monde 😉
Script ZikByGit :
- Un script unique "Setup_ZikByGit.sh" redirige vers la dernier version du script.
- Modification de la gestion des dépendances, routine adapter du script de "smo"
http://forum.ubuntu-fr.org/viewtopic.php?id=259077
- La sauvegarde de la config disponible dans le Menu principal.
- Détection si nouvelle Mise à jour de Zik disponible.
- Désinstallation amélioré Mode Utilisateur (auto) / Mode Avancé (y/n Manuel).
- Correction du Bug suite Mise à jour : @mathieuI 😉
@Vinc : Merci pour toutes ces informations technique sur la creation du .deb.
Le script pour simplifier la mise a jour Zik avance bien, cette dernière version 0.8 est vraiment fonctionnelle.
j'ai essayé d'intégrer ceci sans grand succès:
dpkg-query -s libmusicbrainz-ruby1 1> /dev/null 2>&1 || DEPENDANCES_Zik="${DEPENDANCES_Zik} libmusicbrainz-ruby1.8
du coups j'ai utilisé ce topic qui est très intéressent , car beaucoup de routine assez bien faite à mon gout :
http://forum.ubuntu-fr.org/viewtopic.php?id=259077
@mathieuI : une interface en mode semi-texte avec dialogue, je pense aussi que c'est le meilleur des choix.
@draco31.fr : Merci pour ce lien
http://forum.ubuntu-fr.org/viewtopic.php?id=259077 qui m'a grandement servit.
- Un script unique pour nous simplifier la vie et éviter de modifier la Doc.
Le voici 😃
wget http://ordiboy.free.fr/open/Linux/Setup_ZikByGit.sh
chmod +x ./Setup_ZikByGit.sh
./Setup_ZikByGit.sh
Voici la dernière Version "Setup_ZikByGit_0.8.sh"
wget http://ordiboy.free.fr/open/Linux/Setup_ZikByGit.sh
chmod +x ./Setup_ZikByGit.sh
./Setup_ZikByGit.sh
Lecture directe de "Setup_ZikByGit.sh"
#!/bin/bash
#
##################################
## Auteurs : La ZikTeam ;o) ##
## Version: 0.1 ##
## Licence: GNU ##
##################################
#
#
#
####################################################################
# wget http://ordiboy.free.fr/open/Linux/Setup_ZikByGit.sh ##
# chmod +x ./Setup_ZikByGit.sh ##
# ./Setup_ZikByGit.sh ##
####################################################################
#
#Lanceur generique pour ZikByGit ...
#http://forum.ubuntu-fr.org/viewtopic.php?id=154862&p=1
HomepointZik=$HOME/.ZiK
cd $HOME
rm Setup_ZikByGit* &>/dev/null
wget http://ordiboy.free.fr/open/Linux/ZikByGit/Setup_ZikByGit_0.8.sh
chmod +x ./Setup_ZikByGit_0.8.sh
./Setup_ZikByGit_0.8.sh
rm Setup_ZikByGit.sh &>/dev/null
Lecture directe de "Setup_ZikByGit.0.8.sh" téléchargeable par l'intermédiaire de "Setup_ZikByGit.sh" :
#!/bin/bash
#
##################################
## Auteurs : La ZikTeam ;o) ##
## Version: 0.8 ##
## Licence: GNU ##
##################################
#
#
#
####################################################################
# 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"
HomepointZik=$HOME/.ZiK
optionremove=""
color()
{
printf '\033[%sm%s\033[m\n' "$@"
}
########################################################################################################################
# Remove_packages
########################################################################################################################
Remove_packages()
{
rm $HOME/apt.txt &>/dev/null
touch $HOME/apt.txt
missing=""
echo $MESSAGE
package_list="$1"
## check les fichiers manquants
## clean dpkg
sudo dpkg -l |grep ^rc |awk '{print $2}' |xargs sudo dpkg -P 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 [[ ` dpkg -l | awk '{print $2}' | grep -w "^$tocheck$" | tail -n1 ` ]]; then
echo "$i" | tee -a $HOME/apt.txt &>/dev/null
missing=`cat $HOME/apt.txt | xargs`
sudo apt-get remove ${missing} $optionremove
fi
done
## vérification de l'installation...
rm $HOME/failed.txt &>/dev/null
touch $HOME/failed.txt &>/dev/null
check=$(echo "$missing" | xargs | sed -e 's/[0-9]/\.*/g')
for i in $missing; do
if [ ! ` dpkg -l | awk '{print $2}' | grep -w "^$i$" ` ]; then
echo "$i" | tee -a $HOME/failed.txt &>/dev/null
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 $HOME/apt.txt &>/dev/null
rm $HOME/failed.txt &>/dev/null
}
########################################################################################################################
# install_packages
########################################################################################################################
install_packages()
{
rm $HOME/apt.txt &>/dev/null
touch $HOME/apt.txt
missing=""
echo $MESSAGE
package_list="$1"
## check les fichiers manquants
## clean dpkg
sudo dpkg -l |grep ^rc |awk '{print $2}' |xargs sudo dpkg -P 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 [[ ! ` dpkg -l | awk '{print $2}' | grep -w "^$tocheck$" | tail -n1 ` ]]; then
echo "$i" | tee -a $HOME/apt.txt &>/dev/null
missing=`cat $HOME/apt.txt | xargs`
else
echo "$i" | tee $HOME/OrigineDepZik.txt &>/dev/null
OrigineDep=`cat $HOME/OrigineDepZik.txt | xargs`
fi
done
## installe les paquets manquants
if [ -z "$missing" ]; then
rm $HOME/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-get install ${missing}
## vérification de l'installation...
rm $HOME/failed.txt &>/dev/null
touch $HOME/failed.txt &>/dev/null
check=$(echo "$missing" | xargs | sed -e 's/[0-9]/\.*/g')
for i in $missing; do
if [ ! ` dpkg -l | awk '{print $2}' | grep -w "^$i$" ` ]; then
echo "$i" | tee -a $HOME/failed.txt &>/dev/null
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 $HOME/apt.txt &>/dev/null
rm $HOME/failed.txt &>/dev/null
fi
}
########################################################################################################################
# RaccourciMenuPrincipal
########################################################################################################################
RaccourciMenuPrincipal(){
echo "Création du raccourci dans le Menu Principal"
#Créer le lanceur
echo "
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon[fr_FR]=/usr/local/share/ZiK/pix/ZiK.svg
Categories=GTK;AudioVideo;Audio;
Exec=/usr/local/bin/ZiK.rb
Name[fr_FR]=ZiK
Comment[fr_FR]=Lecteur audio
Name=ZiK
Comment=Lecteur Audio
Icon=/usr/local/share/ZiK/pix/ZiK.svg" | sudo tee "/usr/share/applications/ZiK.desktop"
}
########################################################################################################################
# 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 "Desinstallation des dependances annulées ..."
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 "1 - S(auvegarder votre configuration Zik)"
echo ""
echo "2 - R(einitialisation complete de la configuration)"
echo ""
echo ""
echo "3 - A(nnuler)"
read Savconfig
case $Savconfig in
[sS]* | 1)
rm -Rf $HomepointZik/zik/.git &>/dev/null
rm -Rf $HomepointZik/zik &>/dev/null
cd $HomepointZik/
if [ -f ZikConfigBk.tar.gz ];
then
mv ZikConfigBk.tar.gz ~ZikConfigBk.tar.gz
tar --remove-files -zcvf ZikConfigBk.tar.gz *
else
tar --remove-files -zcvf ZikConfigBk.tar.gz *
fi
;;
[rR]* | 2)
if [ -d $HomepointZik ];
then
rm -Rf $HomepointZik &>/dev/null
fi
;;
[aA]* | 3)
clear
echo "Operation annulée, aucun dossier n'a ete supprimer..."
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 $HOME/.ZiK
if [ -f ZikConfigBk.tar.gz ];
then
clear
echo ""
echo " ---------------------------------------"
echo " Restaurer la config de ZiK ;O) "
echo " ---------------------------------------"
echo "Voulez vous :"
echo ""
echo "1 - R(estaurer votre configuration Zik)"
echo ""
echo "2 - A(nnuler)"
read Resconfig
case $Resconfig in
[rR]* | 1)
tar -zxvf ZikConfigBk.tar.gz
#clear
echo " -------------------------"
echo " -------------------------"
echo " config Restaurée "
echo " -------------------------"
echo " -------------------------"
sleep 3
;;
[aA]* | 2)
clear
if [ -f ZikConfigBk.tar.gz ];
then
mv ZikConfigBk.tar.gz ~ConfigBk.tar.gz
#clear
echo " ---------------------------------------"
echo " ---------------------------------------"
echo " config renomée : ~ConfigBk.tar.gz "
echo " ---------------------------------------"
echo " ---------------------------------------"
sleep 3
fi
echo " ---------------------------------------"
echo " ---------------------------------------"
echo " Restauration annulées "
echo " ---------------------------------------"
echo " ---------------------------------------"
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 $HomepointZik/zik ];
then
cd $HomepointZik/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 " --------------------------------------"
echo " Vous avez déja la derniere Version "
echo " --------------------------------------"
echo " --------------------------------------"
sleep 3
rm -f CtrlMAJGit.log
else
sudo make uninstall
make distclean
git pull
./configure && make
sudo make install
RaccourciMenuPrincipal
clear
echo " -------------------------"
echo " -------------------------"
echo " Mise à jour Terminée "
echo " -------------------------"
echo " -------------------------"
sleep 3
fi
else
mkdir -p $HomepointZik &>/dev/null
cd $HomepointZik && git clone git://rubyforge.org/zik.git
cd $HomepointZik/zik && ./configure
make
sudo make install
RestaurationConfig
echo " -------------------------"
echo " -------------------------"
echo " Installation dépôt zik "
echo " -------------------------"
echo " -------------------------"
sleep 3
fi
}
########################################################################################################################
# Main
########################################################################################################################
clear
echo ""
echo " ----------------------------------------------------"
echo " Le Zik By Git ;O) "
echo " "
echo " Installation de Zik en version de Developpement "
echo " ----------------------------------------------------"
echo ""
echo " 1 - I(nstall)"
echo " 2 - M(ise à jour)"
echo " 3 - S(auvegarde config)"
echo " 4 - D(esinstaller)"
echo ""
echo " 5 - A(nnuler)"
echo ""
read reponse
#Menu / Installation
#-------------------
case $reponse in
[iI]* | 1)
echo `color 32 "suppression de l'ancienne version de Zik (.deb ou Git)"`
sudo apt-get remove zik -y
if [ ! -e $HomepointZik ]
then
cd $HomepointZik/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 $HomepointZik ]
then
mkdir -p $HomepointZik
fi
cd $HomepointZik
if [ -d $HomepointZik/zik ]
then
cd $HomepointZik/zik && git pull
else
cd $HomepointZik && git clone git://rubyforge.org/zik.git
fi
cd $HomepointZik/zik && ./configure
make
sudo make install
clear
RestaurationConfig
RaccourciMenuPrincipal
clear
echo " -------------------------"
echo " -------------------------"
echo `color 32 " installation Terminée "`
echo " -------------------------"
echo " -------------------------"
sleep 3
ZiK.rb
#Menu / Mise à jour
#------------------
;;
[mM]* | 2)
MiseajourZik
ZiK.rb
#Menu / Sauvegarde
#------------------
;;
[sS]* | 3)
SauvegarderConfig
ZiK.rb
#Menu / Desinstallation
#----------------------
;;
[dD]* | 4)
cd $HomepointZik/zik && sudo make uninstall
DesinstallationDependances
SauvegarderConfig
if [ -f /usr/share/applications/ZiK.desktop ];
then
sudo rm /usr/share/applications/ZiK.desktop &>/dev/null
fi
clear
echo " --------------------------"
echo " --------------------------"
echo " Desinstallation effectuée "
echo " --------------------------"
echo " --------------------------"
sleep 3
#Menu / Annuler
#--------------
;;
[aA]* | 5)
clear
echo "Installation annulée, au revoir ;O) ..."
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
Merci pour les retours 🙂
Bon week en @ Tous