如何为Python扩展创建依赖于体系结构的Debian包?

2024-06-17 15:25:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了一个Python 3 LIRC扩展,因为pylorc不适用于python3。我正试图将它打包到一个Debian包中,并成功地创建了包python3-lirc_1.2.0-1_all.deb和{}。这些包安装得很好,但只适用于编译它们的特定体系结构。在

所以python3-lirc_1.2.0-1_all.deb在我的笔记本电脑上编译时在我的笔记本上工作,python3-lirc_1.2.0-1_all.deb在我的Raspberry Pi上编译时在我的Raspberry Pi上工作,但是每个包都依赖于体系结构。在

我可以在分发之前给它们重新命名:

python3-lirc_1.2.0-1_all.deb -> python3-lirc_1.2.0-1_amd64.deb
python3-lirc_1.2.0-1_all.deb -> python3-lirc_1.2.0-1_armhf.deb

但这似乎不是正确的方式。在debian/{control,rules}文件中是否有我需要设置的标志?通常这是自动处理的。在

这是我的debian/控制文件:

^{pr2}$

这是我的debian/rules文件:

#!/usr/bin/make -f

%:
    dh $@ --with python2,python3 --buildsystem=python_distutils

override_dh_auto_build:
    cython -a lirc/lirc.pyx;
    python2.6 setup.py build;
    python2.7 setup.py build;
    cython -3 -a lirc/lirc.pyx;
    python3 setup.py build;

override_dh_auto_install:
    python2.6 setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb;
    python2.7 setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb;
    python3 setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb;

Tags: install文件pybuildsetupdebrootdebian