compile
20 Oct. 2007
- Auteur : zakharov
- Responsable : zakharov
- Téléchargement ( télécharger ) : 262 fois
- Score ( voter ) :
- Connexes : Même auteur | Même responsable | Historique
- - télécharger / mettre à jour les sources et ce pour les dépots subversion, cvs, git, mercurial et les archives (tgz, tar.gz, tar.bz2 et zip... sans mise à jour pour elles)
- - compiler les produits pour les compilations à base de cmake, autogen*, bootstrap* et bien sûr configure, mais aussi scons et jam. Les logs de compilation, de configuration et les warnings de chaque "produit" sont séparés et stockés dans des fichiers (et écrasés à la prochaine compilation). Les erreurs de compilation ou de configuration sont alors très facilement détectables
- - gérer de manière simple les patches (seulement ceux en -p0 :/ ), en plaçant un fichier de patch dans une arborescence de répertoires on indique au script si le patch est à installer ou à supprimer, le script fera le reste, pratique quand on a plein de patches à appliquer puis à supprimer, etc.
- - plein d'autres choses que je vous laisse découvrir en faisant
$ ./compile help
$ for projet in `./compile list-projects`; do ./compile $projet; done &> ~/logce qui me permet d'avoir à jour le matin tous mes projets préférés et ce sans avoir eu à faire autre chose que d'appuyer sur "Entrée" :magie: La syntaxe pour ajouter/modifier de nouveaux produits est assez simple (voir les quelques exemples fournis dans le script) et peut en général se résumer à
function builtin_produit () {
generic "où aller chercher les sources" "options de compilation éventuelles"
}et peuvent se décliner en trois "saveurs" (-dev, -testing et -stable).
le script ne fait ni le café ni la vérification des dépendances (librairies et "produits"), et oui... finalement la partie la plus difficile (dénicher la librairie de dev manquante) n'est pas encore automatisée (mais j'y songe ;)).
- pour avoir la liste des produits inclus dans le script
$ ./compile list
- pour créer un nouveau projet qu'on appellera "zique", avec dedans disons Gimmix avec MPD en version de développement
$ ./compile zique create add=MPD-dev,libmpd-dev,Gimmix-dev
(libmpd est une dépendance de Gimmix et doit être de la même version que MPD). pour lancer vos MPD et Gimmix fraîchement compilés$ zique/install/bin/MPD & $ zique/install/bin/Gimmix
- Ensuite, disons une semaine plus tard, pour mettre à jour le projet dans son ensemble
$ ./compile zique