多くの場合、別のパッケージが依存するパッケージを作成する必要があります(つまり、ビルドの依存関係)。これらのすべてのパッケージを最初にppaでビルドするのではなく(時間がかかることがあります)、pbuilderの結果ディレクトリをpbuilder自体のソースとして使用したいと思います。
これどうやってするの?フックを介してこれを行うことはできますか?
Dpkg-scanpackagesで作成されたシンプルなリポジトリにそれらを貼り付け、Apache経由で利用可能にすることができます。次に、pbuilderのapt設定を更新して、リポジトリを使用します。
これにはいくつかの方法があります。 adolが述べたように、Ubuntu wikiには、mini-dinstallでローカルリポジトリを作成し、pbuilder構成に追加することでこれを行う方法の 素晴らしい例 があります。 dpkg-scanpackagesの使用に関するDennisの回答も同様に機能します。
私は最近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で利用できるようになります。依存関係の文字列をチェーンビルドしようとしている場合、ローカルリポジトリディレクトリとしてpbuilder結果ディレクトリを作成できます。
これに関する他のバリエーションを想像できるでしょう。たとえば、フックを使用する代わりに、post_upload_commandでdputを使用してパッケージファイルを生成できます。
この Debian wikiページ も参考になります。