使用两个构建系统构建 Debian 软件包

使用两个构建系统构建 Debian 软件包

我有一个需要用常规makefile和构建的软件包setup.py。问题是,通过调用的 Debian 打包魔法debuild会识别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它们之间的,但没有什么变化。

答案1

您可以同时使用两者,但在这种情况下,您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

相关内容