Vieux motard que j’aimais… Je découvre enfin la puissance des scripts Bash ;)

Désolé pour la très mauvaise contrepèterie, mais cela remonte à l’époque où je lisais un certain « Amstrad 100 pour 100″… Bref. Ce matin, après avoir tapé pour la 10 000ième fois environ la ligne de commande suivante :

tar xvfj *.tar.bz2 ; rm -f *.tar.bz2 ; cd mozilla ; make -f client.mk checkout ; cd .. ; tar cvfj moz-fox.tar.bz2 mozilla

qui permet la mise à jour du code source de mon Mozilla Firefox (version du tronc), j’ai décidé de voir si je pouvais – via un script bash – limiter cet ennuyeuse ligne de code.

Et j’ai réussi à pondre le code suivant, en m’entrainant avec une copie du code source de mon Mozilla Thunderbird :

#!/bin/bash

# Script qui effectue les opérations suivantes
# a) copie du code source vers le répertoire de travail
# b) mise à jour du code source
# c) on archive le source mis à jour.

# version développée pour Thunderbird, adaptable à Seamonkey et firefox
# en remplaçant les « mail » par des « fox » ou « suite »

# Rendu exécutable par un petit chmod u+x, et déplacé à la racine de
# mon répertoire utilisateur

# Etape a)

cd ~/sources
mv moz-mail.tar.bz2 ~/logs/mail/

# Etape b)

cd ~/logs/mail/
tar xvfj moz-mail.tar.bz2
rm -f moz-mail.tar.bz2
cd mozilla
make -f client.mk checkout
cd ..

# Etape c)

tar cvfj moz-mail.tar.bz2 mozilla/
mv moz-mail.tar.bz2 ~/sources

Je sais que ce n’est pas ultra optimisé, ni super bien codé, mais cela suffit largement à mes besoins de base. Maintenant, il ne me reste plus qu’à faire un script équivalent pour la compilation du code, et j’aurais quelque scripts qui me simplifieront un peu la vie et rallongeront la durée de vie de mon clavier 😉

Edition 23 septembre 9 h 30 :

Voici un prototype du code du script bash pour la compilation automatisée. Des spécialistes en Bash scripting pour me corriger les éventuelles erreurs ?

#!/bin/bash

# Script qui effectue les opérations suivantes
# a) Déplacement dans le répertoire de travail
# b) lancement de la compilation
# c) copie d’une version du logiciel compilée dans Applications et son installation
# d) copie d’une version du logiciel compilée dans Compils pour en garder une archive

# version développée pour Thunderbird, adaptable à Seamonkey et firefox
# en remplaçant les « mail » par des « fox » ou « suite »

# Rendu exécutable par un petit chmod u+x, et déplacé à la racine de
# mon répertoire utilisateur

# On prend comme prérequis que le code est déjà présent.

cd ~/logs/mail/mozilla

make -f client.mk
make -C mail/installer

# à remplacer par make -C xpinstall/packager si compilation en mode dynamique
# on utilise *.tar.bz2 => nom complet pouvant changer, simple sécurité

cd dist/
cp *.tar.bz2 ~/Applications
cp *.tar.bz2 ~/compils

# maintenant la partie dangereuse.

cd ~/Applications
rm -rf /thunderbird # effaçage de l’ancienne version
tar xvfj thun*.tar.bz2 # au cas où il y aurait d’autre archives en .tar.bz2
rm -f thun*.tar.bz2 # on a plus besoin de l’archive en .tar.bz2

cd ~ # histoire de quitter le répertoire Applications