Build machine: créer automatiquement tous les paquets deb pour toutes les distributions
Bon, ça m'aura pris du temps mais ça semble marcher, en ce moment même, j'ai lancé le script et je patiente, un coeur de mon processeur étant utilisé à compiler mon logiciel pour toutes les versions de ubuntu et debian ... i386 et amd64 (en attendant les arm).
j'ai mis bout à bout plusieurs petites choses:
- une debian squeeze amd64 que je préfère de plus en plus par rapport aux modifications des dernières ubuntu
- la doc magnifique de davromaniak
- un script maison
- quelques connaissances de packageur debian (quand même)
#!/bin/bash #un build automatique ou presque pour toutes les distribs ... function pbuilder_build() { nprocs=$(grep -cE "^processor" /proc/cpuinfo) dsc=$1 shift dists=$@ for i in $dists; do CONCURRENCY_LEVEL=$nprocs DIST=$i ARCH=i386 sudo pbuilder build $dsc CONCURRENCY_LEVEL=$nprocs DIST=$i ARCH=amd64 sudo pbuilder build $dsc done } for DISTRIB in squeeze lucid precise natty do if [ -d debian ]; then LAVERSION="1.3~ryxeo3~${DISTRIB}1" MESSAGE="Version du 3 aout 2012" dch -v "${LAVERSION}" "${MESSAGE}" --distribution ${DISTRIB} --force-distribution --force-bad-version --allow-lower-version debuild -us -uc -S bzr revert debian/changelog FICDSC=`ls ../*${LAVERSION}*.dsc` pbuilder_build ${FICDSC} ${DISTRIB} sudo mv /var/cache/pbuilder/${DISTRIB}-*/result/*${LAVERSION}*.deb /tmp/ sudo rm /var/cache/pbuilder/${DISTRIB}-*/result/* fi done
J'hésite à mettre en place un sbuild/buildd ... à voir, peut-être que je vais mettre ça en place au bureau sur le serveur de build histoire que ça soit vraiment tout automatique, en ce cas ça irait du "bzr branch" à la génération du paquet.