Projet

Général

Profil

GitPackaging » Historique » Version 16

Version 15 (Daniel Dehennin, 06/02/2012 09:08) → Version 16/45 (Daniel Dehennin, 06/02/2012 09:13)

{{toc}}

h1. Gestion des paquets EOLE

h2. Environnement de compilation personnel

Il existe plusieurs outils afin de mettre en place des environnements de compilation personnels.

L’outil utilisé dans le projet "Debian":http://www.debian.org se nomme "sbuild":http://wiki.debian.org/sbuild.

Ce système peut se reposer sur un système de snapshot : on installe un système de base, propre, et la compilation se fait dans un snapshot temporaire de ce système.

Cela permet de lancer des compilations en parallèles au besoin.

Deux méthodes sont utilisables pour la mise en place des snapshots :

* [[eole:GitPackagingSbuildLVM|avec LVM]]
* [[eole:GitPackagingSbuildBtrfs|avec le système de fichier btrfs]]

Lorsque les schroots sont en place et sbuild configuré, la compilation d’un paquet peut se dérouler comme suit :

<pre>
buildd@build:~/src$ sudo apt-get install git-core git-buildpackage fakeroot build-essential debhelper cdbs
buildd@build:~/src$ git clone http://dev-eole.ac-dijon.fr/git/eole-debsums
buildd@build:~/src$ cd eole-debsums
buildd@build:~/src/eole-debsums$ git checkout -b dist/ubuntu/lucid/build origin/dist/ubuntu/lucid/master
buildd@build:~/src/eole-debsums$ git buildpackage --git-builder="sbuild -A -d eole-2.3-dev" --git-cleaner=/bin/true
</pre>

Ou si on souhaite minimiser les paquets à installer:

<pre>
buildd@build:~/src$ sudo apt-get install git-core git-buildpackage dpkg-dev
buildd@build:~/src$ git clone http://dev-eole.ac-dijon.fr/git/eole-debsums
buildd@build:~/src$ cd eole-debsums
buildd@build:~/src/eole-debsums$ git checkout -b dist/ubuntu/lucid/build origin/dist/ubuntu/lucid/master
buildd@build:~/src/eole-debsums$ git buildpackage --git-builder="dpkg-buildpackage -nc -d -S" --git-cleaner=/bin/true
buildd@build:~/src/eole-debsums$ sbuild -A -d eole-2.3-dev ../eole-debsums_20111207-eole1.dsc
</pre>

h2. Séparation du code et du packaging

h3. Le développement dans @master@

h3. Le packaging dans @dist/<VENDOR>/<DISTRIBUTION>/master@

Afin de faire un paquet, il faut intégrer la branche de développement souhaitée, par exemple:

<pre>
buildd@build:~/src/eole-debsums(master)$ git checkout dist/ubuntu/lucid/master
buildd@build:~/src/eole-debsums(dist/ubuntu/lucid/master)$ git merge master
buildd@build:~/src/eole-debsums(dist/ubuntu/lucid/master)$ git buildpackage --git-builder="dpkg-buildpackage -nc -d -S" --git-cleaner=/bin/true
buildd@build:~/src/eole-debsums(dist/ubuntu/lucid/master)$ sbuild -A -d eole-2.3-dev ../eole-debsums_20111207-eole1.dsc
</pre>

h1. Webographie

* "PackagingGuide/Python":https://wiki.ubuntu.com/PackagingGuide/Python