web-dev-qa-db-ja.com

sbuildとバックポートを使用した構築

Debian Jessie用のパッケージをsbuildでビルドしており、これまでのところうまく機能しています。

ただし、詳細は1つだけです。Jessieバックポートアーカイブからビルドの依存関係の1つを取得したいと思います。

ただし、バックポートからそのパッケージ(およびそのパッケージのみ)をプルするようにchrootを構成する方法がわかりません。

Debianシステムでapt _sources.list_とピン留め設定を構成する方法を知っていますが、sbuild(1)sbuild.conf(5)にリポジトリーの追加とそれらからのパッケージのピン留めに関連するものが見つかりませんでした。マニュアルページ。

5
Mathieu Bridon

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が登場します。aptitudeaptのように欠落している依存関係に遭遇しますが、バックポートアーカイブでそれを見つけ、自動的にそれを取得することを決定します(そしてそれ)そこから。

それは私の好みには少し"automagic"であり、明示的なピン留めを設定する方法を好みますが、これまでのところ、それが私が見つけた唯一の方法です。

ありがとう@bigon!

3
Mathieu Bridon