web-dev-qa-db-fra.com

Comment utiliser des fichiers .deb locaux dans mes versions de pbuilder?

Souvent, il me faut créer des packages dont dépend un autre (par exemple, des dépendances de construction). Au lieu que tous ces paquets soient d'abord créés dans mon ppa (ce qui peut parfois prendre un peu de temps), j'aimerais utiliser le répertoire de résultats de pbuilder comme source du pbuilder lui-même.

Comment puis-je faire ceci? Puis-je le faire via un crochet?

9
txwikinger

Vous pouvez les coller dans un référentiel simple créé avec dpkg-scanpackages et le rendre disponible via Apache. Puis mettez à jour apt config de pbuilder pour utiliser votre référentiel.

5
Dennis Kaarsemaker

Cela peut être fait de plusieurs manières. Comme mentionné par adol, le wiki Ubuntu a un bel exemple comment le faire en créant un référentiel local avec mini-dinstall et en l'ajoutant à votre configuration pbuilder. La réponse de Dennis sur l'utilisation de dpkg-scanpackages fonctionne également.

Je fais cela récemment avec apt-ftparchive. J'aime cette approche car je la trouve très légère. Voici un exemple commenté de ce que je fais:

# From my ~/.pbuilderrc file

# Location of the dir where you keep pbuilder hook scripts.
HOOKDIR="/home/andrew/.pbuilder-hooks"

# Path to your local repo to be used as a mirror written as apt source line.
OTHERMIRROR="deb file:///home/andrew/pbuilder/local_repo ./"

# Path to your local repo. This tells pbuilder to mount this directory so it is available in the chroot.
BINDMOUNTS="/home/andrew/pbuilder/local_repo"

# As we need to have the apt-ftparchive command, we need to insure this package is installed.
EXTRAPACKAGES="apt-utils"

Vous avez également besoin d'un hook pbuilder:

# From my ~/.pbuilder-hooks/D5update-local-repo file

# Path to the local repo.
LOCAL_REPO="/home/andrew/pbuilder/local_repo"

# Generate a Packages file.
(cd $LOCAL_REPO ; apt-ftparchive packages . > Packages)

# Update to include any new packages in the local repo.
apt-get update

Maintenant, tout ce que vous avez à faire est de déposer les paquets dans votre dépôt local et ils seront disponibles pour pbuilder. Si vous essayez de construire en chaîne une chaîne de dépendances, vous pouvez faire de votre répertoire de résultats pbuilder votre répertoire de référentiel local.

Vous pouvez probablement imaginer d'autres variations à ce sujet. Par exemple, vous pouvez utiliser dput avec une commande post_upload pour générer le fichier Packages au lieu d'utiliser le hook.

Ceci page du wiki Debian pourrait également être utile.

6
andrewsomething