Build machine: créer automatiquement tous les paquets deb pour toutes les distributions

Debian-Logo.jpg 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.

Ubuntu-Logo.jpg

QR code
Send to friend

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.