Debian Jessie用のパッケージをsbuildでビルドしており、これまでのところうまく機能しています。
ただし、詳細は1つだけです。Jessieバックポートアーカイブからビルドの依存関係の1つを取得したいと思います。
ただし、バックポートからそのパッケージ(およびそのパッケージのみ)をプルするようにchrootを構成する方法がわかりません。
Debianシステムでapt _sources.list
_とピン留め設定を構成する方法を知っていますが、sbuild(1)
とsbuild.conf(5)
にリポジトリーの追加とそれらからのパッケージのピン留めに関連するものが見つかりませんでした。マニュアルページ。
IRCの@bigonのおかげで、私は方法を見つけました。
実行時に、すでに持っていたオプションに加えて、次のオプションをsbuild
コマンドに渡します。
$ sbuild ... --build-dep-resolver=aptitude --extra-repository="deb http://deb.debian.org/debian jessie-backports main" ...
--extra-repository
は、chrootで使用する有効なアーカイブとしてJessieバックポートを追加します。
ただし、残念ながら、バックポートアーカイブのRelease
ファイルには"NotAutomatic: yes"
があるため、これだけでは不十分です。その結果、バックポートに必要な依存関係が含まれていても(そして、debian/control
で適切に宣言されていても)、そこから自動的に取得されることはありません。
そこで、--build-dep-resolver=aptitude
が登場します。aptitude
もapt
のように欠落している依存関係に遭遇しますが、バックポートアーカイブでそれを見つけ、自動的にそれを取得することを決定します(そしてそれ)そこから。
それは私の好みには少し"automagic"であり、明示的なピン留めを設定する方法を好みますが、これまでのところ、それが私が見つけた唯一の方法です。
ありがとう@bigon!