Projet

Général

Profil

GitPackagingSbuildLVM » Historique » Version 7

Version 6 (Daniel Dehennin, 10/05/2012 17:31) → Version 7/12 (Daniel Dehennin, 10/05/2012 17:37)

{{include(eole:GitPackagingSbuildCommon)}}

h3. Avant l’installation du chroot: création d’un volume logique

Dans le modèle @LVM@ chaque chroot est installé sur un volume logique
dédié.

La taille de ce volume doit pouvoir contenir :

* Un système minimal ;

* L’intégralité des dépendances pour la compilation d’un paquet.

<pre>
system@build:~$ sudo lvcreate -L2g -n ${dist}-${arch}-sbuild ${YOUR_VG}
system@build:~$ sudo mkfs.ext4 -m0 -L ${dist}-${arch}-sbuild /dev/${YOUR_VG}/${dist}-${arch}-sbuild
system@build:~$ sudo mkdir -p /srv/chroot/${dist}-${arch}-sbuild
system@build:~$ sudo mount /dev/${YOUR_VG}/${dist}-${arch}-sbuild /srv/chroot/${dist}-${arch}-sbuild
</pre>

h3. Installation du système de base

{{include(eole:GitPackagingCreateSchroot)}}

h3. Adaptation post-installation

Nous devons adapter la configuration de @schroot@ à l’utilisation des
snapshot @LVM@ une fois le système installé :

<pre>
system@build:~$ sudo sed -i -e "s,type=directory,type=lvm-snapshot," \
-e "/directory=/d" \
-e "/type=/ialiases=eole-2.3,eole-2.3-dev,eole-2.3-proposed,eole-2.3-security" \
/etc/schroot/chroot.d/$dist-$arch-sbuild*
buildd@build:~$ sudo /bin/sh -c "cat >> `expr /etc/schroot/chroot.d/$dist-$arch-sbuild*` <<EOT
lvm-snapshot-options=--size 2G
mount-options=-o noatime
device=/dev/${YOUR_VG}/$dist-$arch-sbuild
source-groups=root,sbuild
source-root-groups=root,sbuild
EOT
"
</pre>

Les alias ci-dessus font que l’appel à @sbuild -d eole-2.3-dev@ utilisera l’architecture @AMD64@ par défaut.

La création d’un schroot @i386@ devrait ajouter des alias contenant l’architecture afin de ne pas entrer en conflit :
<pre>
system@build:~$ sudo sed -i -e "s,type=directory,type=lvm-snapshot," \
-e "/directory=/d" \
-e "/type=/ialiases=eole-2.3-i386,eole-2.3-dev-i386,eole-2.3-proposed-i386,eole-2.3-security-i386" \
/etc/schroot/chroot.d/$dist-$arch-sbuild*
buildd@build:~$ sudo /bin/sh -c "cat >> `expr /etc/schroot/chroot.d/$dist-$arch-sbuild*` <<EOT
lvm-snapshot-options=--size 2G
mount-options=-o noatime
device=/dev/${YOUR_VG}/$dist-$arch-sbuild
source-groups=root,sbuild
source-root-groups=root,sbuild
EOT
"
</pre>

Ainsi, la commande @sbuild -d eole-2.3-dev --arch=i386@ utilisera le schroot @i386@ et non le @AMD64@.

{{include(eole:GitPackagingWebographie)}}