20

いくつかのファイルをインストールする小さな deb パッケージを作成しています。それらのいくつかは /usr/lib/mypackage/ に配置され、/usr/lib/mypackage/mybin から /usr/bin/mybin へのシンボリックリンクを作成したい

/usr/lib/mypackage フォルダーについては、mypackage.install を使用してそこにファイルをコピーします。これはうまくいくようです。

ただし、シンボリックリンクを作成するには、そこにあるdebian rulesファイルを使用する必要があることを理解しています.どうすればよいかわかりません.追加する必要がある行は次のとおりです.どこにどのように追加する必要がありますか? ありがとう

ln -s /usr/lib/mypackage/mybin /usr/bin/mybin
4

1 に答える 1

28

最良の方法はdh_link、debhelper スイートの一部である を使用することです。操作の詳細については、を参照man dh_linkしてください。それからわか​​るように、おそらく次のようなものが というファイルに必要であることがわかりますdebian/$mypackage.links

/usr/lib/mypackage/mybin  /usr/bin/mybin

のどこに配置する必要がdh_linkあるdebian/rulesかは、パッケージの作成方法によって異なります。Debhelper を使用している場合は、debian/rulesおそらく既に処理されていdh_linkます (ただし、従来の Debhelper を使用している場合は、そのdh_link行がコメント アウトされている可能性があり、コメントを解除する必要があります)。新しいスタイルの Debhelper ( dh) または CDBS-plus-debhelper ( include /usr/share/cdbs/1/rules/debhelper.mk) の使用もここでカウントされます。彼らはあなたのために世話をdh_linkします。

しかし、Debhelper を使用しておらず、開始したくない場合は、dh_linkおそらくオプションではありません。その場合、件名に関する Debian ポリシーに準拠していることを確認する必要があります (つまり、そこにあるシンボリックリンクは絶対ではなく相対でなければなりません)。debian/rulesbuildターゲットにリンクを作成することをお勧めします。例:

build:
    # ... other stuff ...
    mkdir -p debian/$mypackage/usr/bin
    ln -s ../lib/mypackage/mybin debian/$mypackage/usr/bin/mybin
于 2012-05-08T15:50:16.653 に答える