J'ai besoin de construire debs pour Ubuntus Lucid. Je sais que je peux configurer des machines virtuelles/chroots, etc. pour créer une distribution par construction, mais existe-t-il un mécanisme de ma machine Oneiric permettant de faire quelque chose comme:
ubuntu-dpkg-buildpackage --distro=Lucid
et avez-vous un deb Lucid?
En bref, ceci concerne les packages internes, et ne peut donc pas être confié à Launchpad ni à aucun autre endroit.
Il n’existe pas de solution à commande unique pour le faire, mais les outils existent pour le rendre relativement indolore:
debootstrap
peut créer une installation Ubuntu minimale et vierge dans un répertoire autonomeschroot
vous permet de gérer plusieurs chroots, en les maintenant propres pour une utilisation ultérieuremk-schroot
peut être utilisé pour automatiser la configuration et la gestion du schrootdebuild -S
), sbuild
chrootera dans votre chroot vierge, installera tous les paquets dépendants et construira vos sources.c’est essentiellement ce que les serveurs de compilation du tableau de bord utilisent pour créer des packages sources et les placer dans l’archive Ubuntu.
En règle générale, l’utilisation d’un chroot vierge est une bonne pratique, car elle garantit que le package ne dépend d’une configuration personnalisée sur votre machine de compilation.
Le processus d'installation impliquerait la création d'une nouvelle racine pour chaque version d'Ubuntu que vous souhaitez cibler. Ceci est assez simple: utilisez mk-sbuild
pour vous construire un nouveau chroot. Quelque chose comme ceci est ce que vous voulez:
mk-sbuild --Arch = AMD64 --name = lucide lucide
Cela vous guidera pour créer un chroot appelé 'lucid-AMD64' et affichera les informations utiles suivantes lorsque vous aurez terminé:
Vous avez créé lucid-AMD64. Pour CHANGER l'image dorée: schroot -c lucid-AMD64 À CONSTRUIRE dans un instantané: sbuild -A -d lucid-AMD64 PACKAGE * .dsc
Ainsi, une fois vos chroots installés, le processus de construction serait le suivant:
debuild -S
pour créer un paquet source, y compris <package>_<version>.dsc
sbuild -A -d lucid-AMD64 ../<package>_<version>.dsc
Pour plus d'informations, les pages de manuel relatives à mk-sbuild
, schroot
, sbuild
, debootstrap
et debuild
sont assez complètes. https://wiki.ubuntu.com/DebootstrapChroot a de bonnes informations sur la construction et la configuration des chroots. En outre, il y a # ubuntu-devel sur irc.freenode.net si vous avez besoin d’un coup de main.