私は最初のDebianプロジェクトをパッケージ化しており、問題を100%解決しましたgnu-make
(私にとってはここで何でも可能なので、今私の問題は完全にナビゲーションdpkg
/debuild
システムにあります)。
これで、次のルールファイルと互換性のあるダミーコンパイルが行われました。
// debian/compat
10
// debian/rules
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_install:
cat binaries.txt | xargs -I arg install -D -m 0755 arg $$(pwd)/debian/package/opt/package/arg
すべてのコンパイルファイルとソースファイルがインクルードdebian
ディレクトリのmakeを介して管理されていると仮定すると、期待どおりに動作する最小限のケースがあります。
// binaries.txt
foo
bar
単純なmakeプロセスによって生成されたダミーバイナリを一覧表示するバイナリファイル。
ここのドキュメントに従って、deb_helper
私のバイナリをシンボリックリンクするためのシンボリックリンクを作成しようとしています。/opt/package
/usr/local/bin
https://manpages.debian.org/stretch/dpkg/dpkg-maintscript-helper.1.en.html
しかし、私は運があまり良くなかった。これの手順は何ですか?
答え1
パッケージにシンボリックリンクを送信するには、次を使用することをお勧めします。dh_link
。最も簡単な方法は、必要なシンボリックリンクをリストすることですdebian/links
(またはdebian/package.links
ソースパッケージが複数のバイナリパッケージを構築する場合)。
opt/package/bin/foo usr/bin/foo
opt/package/bin/bar usr/bin/bar
Debianパッケージはその下にファイルを提供しないため、/usr/local
ビルドツールはそれをうまくサポートしていません。
で他のものが必要ない場合は/opt/package
バイナリを/usr/bin
。
また、使用することができますdh_install
インストールを簡素化するには、インストールするバイナリを一覧表示しますdebian/install
。
foo opt/package/bin
bar opt/package/bin
または
foo usr/bin
bar usr/bin
dh_auto_install
その後、オーバーレイを削除できます。