У меня есть пакет, который должен быть собран как с обычным makefile
, так и с setup.py
. Дело в том, что магия упаковки Debian, которая вызывается через debuild
, распознает makefile
и делает правильные вещи
make
make install DESTDIR=???
и заставляет их работать правильно. Когда у меня есть только setup.py
и dh $@ --with python3 --buildsystem pybuild
в debian/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
между ними, но это не сильно изменилось.
Можно использовать обоих, но в этом случае Ваш 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