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.

