2つのビルドシステムでDebianパッケージをビルドする


5

私は、通常makefileとの両方でビルドする必要があるパッケージを持っていますsetup.py。問題は、経由で呼び出されるDebianパッケージングマジックがdebuilda makefileを認識し、適切に実行することです。

make
make install DESTDIR=???

正しく機能するようにします。私が唯一持っている場合はsetup.pyそこに座ってと持っているdh $@ --with python3 --buildsystem pybuilddebian/rules、それは正確でPythonモジュールをインストールします

python3 setup.py build
python3 setup.py install --install-layout deb --root=??? ???

私はこれらのすべてのフラグを知りません。そして、私はする必要はないと思います。私はただmakefile魔法が起こり、それから魔法が欲しいsetup.py

debuild両方を行うにはどうすればいいですか?

私が以下を行うとき debian/rules

%:
        dh $@
        dh $@ --with python3 --buildsystem pybuild

最初のパッケージのみが結果のパッケージに配置されます。私はdebhelper.logそれらの間を削除しようとしましたが、それはあまり変わりませんでした。

回答:


3

両方を使用できますが、その場合debian/rulesはオーバーライドのみを使用します。

#!/usr/bin/make -f

%:
    dh $@ --with=python3

override_dh_auto_build:
    make universe-explode-in-delight
    cd python_src && python3 setup.py build

override_dh_auto_test:
    cd python_src && python3 setup.py test

override_dh_auto_install:
    cd python_src && python3 setup.py install \
        --force --root=$(CURDIR)/debian/tmp \
        --no-compile -O0 --install-layout=deb
    make install_non_python_stuff

override_dh_auto_clean:
    cd python_src && python3 setup.py clean

参照:http : //manpages.ubuntu.com/manpages/trusty/man1/dh.1.html


宛先ディレクトリをに変更しました$(CURDIR)/debian/PACKAGENAMEが、それ以外は機能します。
マーティンUeding
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.