在stdeb bdist_deb调用中重写或禁用${python:Depends}

在stdeb bdist_deb调用中重写或禁用${python:Depends},python,debian,packaging,setup.py,debhelper,Python,Debian,Packaging,Setup.py,Debhelper,我正在尝试将Python软件打包为: 这很好用 不幸的是,stdeb将变量${python:Depends}添加到debian/control文件中。此占位符由来自debhelper的dh_python2自动处理,并由包含多个Python版本的字符串替换,例如:“python2.7,Python(>=2.7.1-0ubuntu2),Python(您实际上需要做的是在debian/control中的源代码包中添加类似X-Python-Version:>=2.6的内容,并将Python-all或Py

我正在尝试将Python软件打包为:

这很好用


不幸的是,stdeb将变量
${python:Depends}
添加到debian/control文件中。此占位符由来自
debhelper
dh_python2
自动处理,并由包含多个Python版本的字符串替换,例如:
“python2.7,Python(>=2.7.1-0ubuntu2),Python(您实际上需要做的是在
debian/control
中的源代码包中添加类似
X-Python-Version:>=2.6
的内容,并将
Python-all
Python-all-dev
添加到
Build-dependens
中。如果您正在构建一个合适的套件,而
Python-all
都依赖于这两个套件,那么这将起作用
python2.6
python2.7
。使用
pbuilder
为目标系统构建是一个好主意,尤其是当它与您的开发环境不同时。 请不要重写
${python:dependens}
——这是错误的,不会有任何好处。

您可以通过
XS python Version
选项强制stdeb python依赖项。例如,通过创建
stdeb.cfg
文件,其中包含:

[DEFAULT]
XS-Python-Version: 2.6

设置此选项的其他方法可能是在
[sdist\u dsc]
部分或命令行(
sdist\u desc--xs python version 2.6 bdist\u deb
)中的setupg.cfg,但它实际上并不适用于我。

我最终在stdeb的源代码中对文件
util.py
进行了黑客攻击。我替换了
${misc:dependens}
${python:dependens}
与我所需的python依赖关系。但你是对的:最好的方法是使用
pbuilder
。你所做的令人震惊。只需将
${python:dependens}
中的
debian/control
替换为
${my:dependens}
并将
覆盖debian/rules
添加到
debian/rules
如下:
dh\u gencontrol--Vmy:Depends=“pkg1,pkg2”
您能提供有关使用pbuilder的更多详细信息吗?请参阅,仅供参考,这看起来与问题相同。
[DEFAULT]
XS-Python-Version: 2.6