J'utilise pbuilder-dist
pour construire mes paquets pour Debian unstable et Ubuntu Precise. Je veux savoir comment exécuter lintian
(et éventuellement d'autres commandes) à l'intérieur d'un certain chroot.
J'ai Ubuntu 12.04 sur ma machine.
Lintian peut être exécuté à l'intérieur de cowbuilder
ou pbuilder
à l'aide de crochets. Plusieurs exemples sont disponibles dans /usr/share/doc/pbuilder/examples/
Copiez simplement le hook que vous voulez dans un répertoire:
mkdir ~/pbuilderhooks
cp /usr/share/doc/pbuilder/examples/B90lintian $HOME/pbuilderhooks
Dites ensuite à pbuilder d'utiliser les hooks dans ce répertoire:
echo "HOOKDIR=$HOME/pbuilderhooks/" >> ~/.pbuilderrc
Et/ou:
echo "HOOKDIR=$HOME/pbuilderhooks/" | Sudo tee -a /etc/pbuilderrc
La première est requise si vous avez l'intention d'exécuter cowbuilder-dist
ou pbuilder-dist
sans Sudo; ce dernier si vous avez l'intention d'exécuter Sudo cowbuilder
ou Sudo pbuilder
. Utilisez tee -a pour éviter d'écraser le fichier/etc/pbuilderrc d'origine.
Exécuter debuild -S exécutera lintian sur le source.changes pour vous je crois. Lintian est également exécuté sur le fichier .changes pendant la génération binaire. Une fois que vous avez construit le paquet binaire et/ou source, vous pouvez exécuter manuellement lintian sur l'un des fichiers .changes, comme ceci:
mfisch@caprica:~$ lintian libkqueue_1.0.4-2ubuntu1_AMD64.changes
ou
mfisch@caprica:~$ lintian libkqueue_1.0.4-2ubuntu1_source.changes
Vous pouvez obtenir différentes erreurs lintian ou avertissements de chaque build (source et binaire).
Si vous essayez de vous déplacer plus rapidement, exécutez pbuilder --login, installez les build-deps et exécutez vos builds là-bas, ce qui vous évite le temps de démarrage de la réinstallation de deps avant chaque build.