7

我在为 python 和 debian 分发工具的迷宫中导航时遇到了麻烦;cdbs、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、debhelper_ python-support_ python-central_

我的应用程序是一个相当简单的应用程序 - 一个 python 包(包含模块和 a 的目录__init__.py)、一个用于运行程序的脚本 ( script.py) 和一些图标 ( .png) 和菜单项 (.desktop文件)。

从这些文件中,我如何在不使用上面列出的无意义工具的情况下从头开始构建一个简单、干净的 .deb 文件?

我主要针对 ubuntu,但如果该软件包在直接 debian 上运行,我希望它

4

2 回答 2

5

python-stdeb should work for you. It's on Debian testing/unstable and Ubuntu (Lucid onwards). apt-get install python-stdeb

It is less a shortcut method than a tool that tries to generate as much of the source package as possible. It can actualy build a package that both works properly and is almost standards compliant. If you want your package to meet the quality standards for inclusion in Debian, Ubuntu, etc you will need to fill out files like debian/copyright, etc.

As much as people claim cdbs is really easy, I'd like to point out that the rules file Nick mentioned could easily have been done with debhelper7. Not to forget, dh7 can be customized far more easily than cdbs can.

#!/usr/bin/make -f
%:
    dh $@

Note: You should check whether your package meets the Debian Policy, Debian Python Policy, etc before you submit to Debian. You will actually need to read documents for that - no shortcut.

于 2010-06-20T05:12:41.057 回答
3

首先,答案是没有直接的方法来制作 dpkg,并且文档被从许多地方分成一百万个小块。但是,ubuntu Python 打包指南非常有用。

对于简单的包(易于描述的包setuptools),一旦您设置了 debian 控制结构,这些步骤就非常简单:

  • 运行setup.py --sdist --prune并确保设置dist-dir为合理的
  • dpkg-buildpackage为您的包调用适当的选项(可能-b至少)

您将需要一个debian/rules用于 buildpackage 的文件来运行,但幸运的是,如果您使用cdbs,您的工作已经完成,您将需要与以下内容非常相似的内容:

#!/usr/bin/make -f

DEB_PYTHON_SYSTEM := pysupport

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/python-distutils.mk

如果您不使用distutils,您可能想查看 wiki 上的DebianPython/Policy页面(在“CDBS + the hard way”下)。还有一个pycentral 选项,DEB_PYTHON_SYSTEM如果你想找到更多信息,你可以谷歌搜索。

于 2010-05-28T13:13:44.927 回答