web-dev-qa-db-ja.com

sconsビルドシステムを使用するソフトウェアをdebianizeする「正しい」方法は何ですか?

使用可能な特定のツールがある場合、またはsconsを実行する偽のMakefileを使用する必要がありますか?

4
RobotHumans

debian/rulesファイルはMakefileです。 「偽の」Makefileでやりたいことは何でもできます。 dhコマンド Manpage icon は、Debianのデフォルトでほとんどのビルドシステムを実行するヘルパーです。 sconsをサポートしていると思われる場合は、必要なものは次のとおりです。

#!/usr/bin/make -f

%:
    dh $@

カスタムオプションを渡す必要がある場合(またはsconsを実際にサポートしていない場合)、デフォルトの動作をオーバーライドできます。ルールファイルは次のようになります。

#!/usr/bin/make -f

SCONS=scons 

%:
    dh $@

override_dh_auto_build:
    $(SCONS) --prefix=$(DEB_DESTDIR)/usr

override_dh_auto_clean:
    dh_auto_clean
    $(SCONS)  -c

override_dh_auto_install:
    $(SCONS) install --prefix=$(DEB_DESTDIR)/usr

時々、何かをする方法を学ぶ最良の方法は、他のパッケージがそれをどのように行うかを調べることです。コマンド:

reverse-depends -b scons

sconsにビルド依存するすべてのパッケージを一覧表示し、ソースを取得して、ビルド方法を確認します。

5
andrewsomething