を使用してソースからDebianパッケージをビルドしたいと思いますdpkg-buildpackage
。パッケージソースをダウンロードしました。
apt-get -t wheezy-backports source gnucash
ドキュメントを見ると、gnucash-2.6.9/configure
パッケージをビルドするときにいくつかのオプションを選択/選択解除できることがわかります。
Debian 管理者が私に代わって決定を下しました。しかし、特定のオプションを無効にするにはどうすればよいですか?
なしでコンパイルしたいとしましょう--enable-aqbanking
。このオプションは複数の構成ファイルに表示されます。
$ grep -rl enable-aqbanking gnucash-2.6.9/
gnucash-2.6.9/packaging/gnucash.spec
gnucash-2.6.9/packaging/gnucash.spec.in
gnucash-2.6.9/configure.ac
gnucash-2.6.9/configure
どちらを編集する必要がありますか?
正しいアプローチは何ですか?
答え1
gnucash-2.6.9/packaging/gnucash.spec
gnucash-2.6.9/packaging/gnucash.spec.in
Debianパッケージの一部ではありません。これは、RPM形式でgnucashをパッケージ化するためのプロジェクト独自の仕様ファイル(2番目はテンプレート)です。
gnucash-2.6.9/configure.ac
また、アップストリームの一部です。これはビルドに使用されるAutoconfファイルですgnucash-2.6.9/configure
。このautoconf.ac
ファイルは Debian パッケージで使用されますが、パッケージの一部ではありません。
debian/
すべてのDebianパッケージはこのサブディレクトリにあります。
実際のビルドスクリプト(実際にはMakefile)がdebian/rules
ここで興味を持っているはずです。ほとんどの Debian パッケージはdebhelper
プログラム。このパッケージdh
はdebhelper
。
簡単に言えば、「伝統的な」作業方法は、debhelper
最初からすべての作業を実行するのではなく、パッケージを構築するために使用できる標準のコマンドセットを提供することです。各標準ステップには、必要に応じてオーバーライドできるデフォルト値を持つdh
最新のバリエーションです。debhelper
これはAPが言ったことに関連しています。この場合、ルール・ファイルはデフォルトの構成ステップをオーバーライドします。だから。override_dh_auto_configure
構成ステップの機能を変更するには、このターゲットを変更する必要があります。override_dh_auto_configure
目標は次のとおりです。
override_dh_auto_configure:
dh_auto_configure -- \
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/gnucash \
--infodir=/noinst \
--mandir=/noinst \
--docdir=/noinst \
--disable-static \
--enable-dbi \
--enable-ofx \
--enable-aqbanking \
--enable-locale-specific-tax \
--enable-python
だからこれはdh_auto_configure
debhelper
目標を超えました。man dh_auto_configure
この目標に関する詳細情報を確認してください。
この場合、デフォルトは引数なしで実行されdh_auto_configure
ます。つまり、オーバーライドは指定された引数/オプションでのみ実行されます。したがって、ここでパラメータ/オプションを削除する必要があります。configure
./configure
configure
--enable-aqbanking
以下はdhに関するスライドです。おじいちゃんのデブヘルパーじゃない。オンラインに追加情報があります。
答え2
さて、一度見てくださいgnucash-2.6.x/debian/rules
。
表示された行override_dh_auto_configure:
(私の場合は23行)を見つけて、その下に上書きを追加します。
あなたの場合は--enable-aqbanking
すでに存在しているので(少なくともwheezeバックポートの場合)、削除してください。
詳細は以下で確認できます。マニュアルページ。
修正する:また、ファイルrules
にカスタムコンテンツをconfigure
。DEB_CONFIGURE_EXTRA_FLAGS