Как я могу использовать локальные файлы .deb в моих сборках pbuilder?

Часто мне нужно создавать пакеты, от которых зависит другой пакет (то есть, строить зависимости). Вместо того, чтобы все эти пакеты сначала собирались в моем ppa (что иногда может занять некоторое время), я хотел бы использовать каталог результатов из pbuilder в качестве источника для самого pbuilder.

Как я могу это сделать? Могу ли я сделать это через крючок?

9
задан 5 September 2010 в 01:55

2 ответа

Вы можете прикрепить их в простое хранилище, созданное с помощью dpkg-scanpackages, и сделать это доступным через apache. Затем обновите apt config pbuilder для использования вашего репозитория.

0
ответ дан 5 September 2010 в 01:55

Это можно сделать несколькими способами. Как упоминал adol, в вики Ubuntu есть хороший пример того, как сделать это, создав локальный репозиторий с мини-dinstall и добавив его в свою конфигурацию pbuilder. Ответ Денниса об использовании dpkg-scanpackages также работает.

Я делал это недавно с помощью apt-ftparchive. Мне нравится этот подход, так как я нахожу его очень легким. Вот аннотированный пример того, что я делаю:

# 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"

Вам также нужен хук 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

Теперь все, что вам нужно сделать, это поместить пакеты в локальное хранилище, и они будут быть доступным для строителя. Если вы пытаетесь создать цепочку зависимостей, вы можете сделать каталог результатов pbuilder локальным репозиторием.

Возможно, вы можете представить другие варианты этого. Например, вы можете использовать dput с post_upload_command для генерации файла Packages вместо использования ловушки.

Эта вики-страница Debian также может быть полезна.

0
ответ дан 5 September 2010 в 01:55

Другие вопросы по тегам:

Похожие вопросы: