autotools automakeを使用してDebianをパッケージ化するときにライセンスファイルを削除する方法は?

autotools automakeを使用してDebianをパッケージ化するときにライセンスファイルを削除する方法は?

私の Debian パッケージで lintian エラーが発生します。

Rhythmbox-plugin-alternative-toolbar: 追加ライセンスファイル usr/lib/rhythmbox/plugins/alternative-toolbar/LICENSE

これは、ソースコードにLICENSEファイルが含まれており、Debianのパッケージング規則によっては、すべてのライセンス情報がパッケージの著作権ファイル内にある必要があるためです。

私はautotools automakeを使ってビルドしています。私のDebian/ルールは次のとおりです。

#!/usr/bin/make -f

/usr/share/cdbs/1/rules/autoreconf.mk が含まれます。
/usr/share/cdbs/1/rules/debhelper.mk が含まれます。
/usr/share/cdbs/1/rules/utils.mk が含まれます。
/usr/share/cdbs/1/class/gnome.mk を含む
/usr/share/gnome-pkg-tools/1/rules/uploaders.mk が含まれます。
/usr/share/gnome-pkg-tools/1/rules/gnome-version.mk が含まれます。
-include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk

DEB_DH_AUTORECONF_ARGS := --注文型./autogen.sh

#削除されたすべてのファイルを一覧表示します。
ユニバーサルバイナリインストール後のアーキテクチャ::リストがありません

私の最初の考えは、ライセンスファイルを削除するためにルールにoverride_dh_auto_installステートメントを含めることでしたが、現在のルールの一番下に以下を追加すると、これは無視または機能しないようです。

override_dh_auto_install:
    探す。 - 名前「ライセンス」 - 削除済み
    dh_自動インストール

だから私の質問は - DebianパッケージをビルドするときにLICENSEファイルをどのように削除するのですか?

注 - 一種のオーバーライドを通じて、Lintianエラーを人為的に隠したくありません。ビルドされたパッケージに追加のライセンスファイルが含まれていないことを確認したいと思います。

ベストアンサー1

この質問は約2年前にも答えがありませんでした。それで、最近見つけた解決方法を投稿します。

ファイルの削除後ろに呼ぶdh_自動インストール:

override_dh_auto_install:
    dh_auto_install
    find ./debian -type f -name "LICENSE" -delete

あるいは、ファイルが準備された後にパッケージがビルドされる前に呼び出される他のディレクティブをオーバーライドします。最初にオーバーライドして実行した方法は次のとおりです。dh_md5sums指示する:

override_dh_md5sums:
    find ./debian/<package_name> -type f -name "LICENSE.txt" -delete
    dh_md5sums

他人を圧倒するDH_ディレクティブも機能できます。

おすすめ記事