Debian パッケージのビルドで rpm.spec ファイルに対する "exclude" コマンドの代替案は何ですか

Debian パッケージのビルドで rpm.spec ファイルに対する

rpmパッケージをビルドするときは、仕様ファイルでこの除外コマンドを使用して、一部のパッケージの特定のファイルを除外できます。

前任者。

%exclude foobar/bin/printjob_svr.bin

debパッケージをビルドしながら、同じ内容をどのように、どこで指定しますか?ソースから別のパッケージをビルドするときに除外する必要があるファイルのリストがあります。これで、ソースから3つの異なるパッケージをビルドできるようになりましたが、インストール時にすべてのファイルが存在します。

ベストアンサー1

Debianパッケージでは、インストール後(ソースパッケージから)ファイルを削除し、パッケージをビルドする前にファイルを削除したり、インストールするファイルのリストにそれらを一覧表示したり、インストールからそのファイルを除外したりできます。特定の種類のファイルの場合)。

dhショートスタイルベースを使用している場合debian/rules(暗黙的に)、次のものを使用できます。

  • dh_auto_install、アップストリームインストールを実行してファイルを配置しますdebian/tmp(複数のパッケージをビルドするため)。
  • dh_installdebian/tmp、(etc。)の内容に基づいて適切なインストール先(etc)にファイルをコピーします。debian/foobar.installdebiandebian/foobar.install

上記の3つのオプションが以下に翻訳されています。

  1. ファイルをコピーして削除debian/tmpするには

    override_dh_intall:
            rm -f debian/tmp/bin/printjob_svr.bin
            dh_install
    
  2. dh_installファイルをスキップするには、そのファイルを.installファイルにリストしないでください。つまり、ワイルドカードや通常のディレクトリ名(bin、、bin/*)は使用できません。にスキップされたファイルもリストする必要がありますdebian/not-installedが、警告が表示されますman dh_missing

  3. ファイルを明示的に除外するには、ターゲットをオーバーライドし、この機能をサポートするコマンド-Xでのみ機能するオプションを追加します。dh_

    override_dh_installdocs:
            dh_installdocs -Xprintjob_svr.bin
    

    (これはあなたのユースケースには合いません。完全性のためにリストされています。)

おすすめ記事