跳转到主要内容

Python到Debian源包转换工具

项目描述

https://travis-ci.org/astraw/stdeb.png?branch=master

stdeb - Python到Debian源包转换工具

stdeb通过一个新的distutils命令sdist_dsc,从Python包生成Debian源包。为Debian包提供了自动默认设置,但许多方面的结果包可以进行自定义(请参阅下面的自定义部分)。额外的命令bdist_deb创建一个Debian二进制包,一个.deb文件。命令install_deb安装这个.deb文件。命令debianize直接在您的setup.py旁边构建一个debian/目录。

还提供了一些便利的工具

  • pypi-download将查询Python包索引(PyPI)以获取包并下载它。

  • pypi-install 将查询 Python 包索引 (PyPI) 中的软件包,下载它,从中创建一个 .deb 文件,然后安装这个 .deb 文件。

  • py2dsc 将 distutils 构建的源 tarball 转换为 Debian 源软件包。

  • py2dsc-deb 将 distutils 构建的源 tarball 转换为 Debian 源软件包,然后使用 Debian 工具链从这个源软件包构建一个 .deb 文件。

Python 3 支持

如以下更详细地解释,stdeb 的核心是 sdist_dsc distutils 命令。该命令运行一次以生成 Debian 源软件包。这个 Debian 源软件包可以指定为 Python 2、Python 3 或两者都构建软件包。此外,这个生成可以使用 Python 2 或 Python 3 解释器来完成。默认情况下,只为正在使用的 Python 版本构建软件包。要覆盖此设置,请使用 --with-python2=True--with-python3=True 作为 sdist_dsc distutils 命令的参数(或同时使用两者以确保)。例如,仅使用 Python 3 解释器构建 Python 3 软件包

python3 setup.py --command-packages=stdeb.command bdist_deb

使用 Python 3 解释器构建 Python 2 和 Python 3 软件包(并且只有 Python3 软件包安装脚本)

python3 setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True --with-python3=True --no-python2-scripts=True bdist_deb

新闻

  • 错误修复

    • 在 PyPI API 调用之间添加睡眠以避免速率限制 (#173)

  • 改进

    • 如果设置了 SOURCE_DATE_EPOCH,则使用它为生成的 changelog 中的时间戳生成可重复构建的工件 (#166)

    • 将 debhelper 兼容版本从 7 更新到 9 (#158)

    • 添加标志 –with-dh-systemd (#162)

    • 添加对 DEBEMAIL 环境变量的支持 (#168)

    • 使用 setuptools 的“url”字段在 debian/control 中的“Homepage”字段中 (#169)

    • dh_virtualenv:指定 Python 版本 (#165)

    • 添加兼容标志以修改 Debian 兼容级别 (#163)

  • 外观:* 从 debian/control 和 rules 文件中删除多余的换行符 (#167) * 使用 flake8 在 Travis CI 中检查样式,更新代码以符合规范 (#171)

  • 错误修复

    • 处理 zip tarball 中的带空格的路径 (#150)

    • 修复 Python 3 中的 map() 迭代器问题 (#152)

    • 修复使用仅 Python 3 时检查 python3-all(而不是 python-all)的问题 (#154)

  • 改进

    • 在 Python 中获取日期,避免在 macOS 上要求 date (#115)

    • 添加配置文件选项 Python2-Depends-Name (#156)

    • 添加选项 --with-dh-virtualenv (#155)

    • 添加选项 ignore-source-changes (#151)

  • 错误修复

    • 修复在Python 3下应用补丁文件的问题

  • 改进

    • 向sdist_dsc和bdist_deb命令添加--sign-results

    • --debian-version添加到命令行程序选项

    • 在debian/control中添加对Breaks / Breaks3的支持

    • 添加对Suite3选项的支持

    • 在pypi-install中支持zip文件

  • 破坏性变更

    • 移除已弃用的dh_desktop调用

  • 2015-02-18: 版本 0.8.5. 请参阅下载页面。错误修复:撤销了在虚拟环境中构建时安装到虚拟环境的更改。改进:添加了–allow-virtualenv-install-location以允许安装到虚拟环境位置。支持Debian Squeeze (6),Debian Wheezy (7),Ubuntu Precise (12.04),Ubuntu Trusty (14.04)及以后版本。

  • 2015-02-16: 版本 0.8.4. 请参阅下载页面。错误修复:再次在Python 3.4(例如Ubuntu Trusty)上工作。改进:改进了Python 3的定制(Dirk Thomas添加了force-x-python3-versionX-Python3-Version,Louis添加了对Recommends3Suggests3Provides3Replaces3的支持。支持Debian Squeeze (6),Debian Wheezy (7),Ubuntu Precise (12.04),Ubuntu Trusty (14.04)及以后版本。

  • 2015-02-14: 版本 0.8.3. 请参阅下载页面。这是一个错误修复版本,修复了Unicode支持的几个方面。在Debian Squeeze (6),Debian Wheezy (7)和Ubuntu Precise (12.04)上测试通过。支持Python 3.4(例如Ubuntu Trusty 14.04)的错误被意外破坏,并在0.8.3版本中修复。

  • 2014-8-14: 版本 0.8.2. 请参阅下载页面。这是一个错误修复版本,修复了一个严重的问题,在某些情况下,如果只请求Python 3包,则会构建Python 2包。

  • 2014-8-10: 版本 0.8.1. 请参阅下载页面。由于0.8.0中的错误,此版本是0.8系列的第一个宣布版本。自0.7.1以来的亮点

    • 完全支持Python 3。这包括从Python 3运行以及为Python 3生成软件包。默认情况下,使用Python 3运行时构建Python 3软件包,使用Python 2运行时构建Python 2软件包。也可以使用命令行选项来为其他Python解释器构建软件包。

    • 为源软件包构建.changes文件。虽然这仍然必须签名后才能上传到PPA等,但在某些情况下仍然应该有用。

    • 切换到Debian源格式3.0(quilt)。实际上,以前与源软件包一起提供的.diff.gz文件现在被.deb.tar.gz文件所替代。

    • 在与PyPI通信时验证SSL证书。(验证需要Requests >= 0.8.8。)

    • 许多错误修复。

  • 2014-05-05: 版本 0.7.1. 请参阅下载页面。本发布版本的亮点(您还可以查阅完整的变更日志)。由于0.7.0中的错误,此版本是0.7系列的第一个宣布版本。自0.6.0以来的亮点

    • 新命令:pypi-download和pypi-install,分别用于直接从PyPI下载和安装软件包。py2dsc-deb直接从源tarball创建.deb文件。

    • 新distutils命令:install_deb允许您直接将Python包安装为标准系统软件包。

    • 许多错误修复,包括PyPI的新URL。

    • 通过Travis CI自动运行测试套件

    • 感谢许多人的帮助,尤其是Piotr Ożarowski对stdeb的帮助。

  • 2010-06-18: 版本 0.6.0. 请参阅下载页面。本发布版本的亮点(您还可以查阅完整的变更日志

    • 新增了一个用于在您的 setup.py 文件旁边构建 debian/ 目录的 debianize 命令。

    • 错误修复。

  • 2010-01-09: 版本 0.5.1. 错误修复版本。请参阅下载页面变更日志发布说明

  • 2009-12-30: 版本 0.5.0。请参阅下载页面。本次发布的亮点(您也可以参考完整的变更日志

    • 新增了一个 pypi-install 脚本,它会自动下载、创建 .deb 文件并从Python 包索引 (PyPI) 安装软件包。

    • 移除了对 setuptools 的依赖。

    • 新增了一个选项(–guess-conflicts-provides-replaces)用于查询原始 Debian 软件包的 Conflicts/Provides/Replaces 信息。

    • 由于这些更改以及修复了一些 bug/warts,进行了一些小的向后不兼容的更改和弃用。请参阅发布说明

  • 2009-12-28: 发布了版本 0.4.3。请参阅下载页面。请参阅变更日志发布说明

  • 2009-11-02: 发布了版本 0.4.2。请参阅下载页面。请参阅变更日志发布说明

  • 2009-10-04: 发布了版本 0.4.1。请参阅下载页面。请参阅变更日志发布说明

  • 2009-09-27: 发布了版本 0.4。请参阅下载页面。本版本切换到 debhelper 7。请参阅0.4 版本变更日志

包括 0.3.2 在内的所有早期版本都与 Ubuntu Hardy 兼容。

命令

pypi-download,命令行命令

pypi-download 接收一个包名,查询 PyPI 并下载它

pypi-download [options] mypackage

pypi-install,命令行命令

pypi-install 接收一个包名,查询 PyPI 并下载它,构建 Debian 源包,然后从它构建 .deb 文件,并安装它

pypi-install [options] mypackage

py2dsc,命令行命令

py2dsc 接收一个 .tar.gz 源包并从中构建 Debian 源包

py2dsc [options] mypackage-0.1.tar.gz # uses pre-built Python source package

py2dsc-deb,命令行命令

py2dsc-deb 接收一个 .tar.gz 源包并从中构建 Debian 源包,然后构建 .deb 文件

py2dsc-deb [options] mypackage-0.1.tar.gz # uses pre-built Python source package

sdist_dsc,distutils 命令

所有方法最终都会调用 sdist_dsc distutils 命令。您可能更愿意直接这样做

python setup.py --command-packages=stdeb.command sdist_dsc

从未经修改的 Python 包中生成 Debian 源包。以下文件将在新创建的子目录 deb_dist 中生成

  • packagename_versionname.orig.tar.gz

  • packagename_versionname-debianversion.dsc

  • packagename_versionname-debianversion.diff.gz

这些可以使用标准的 Debian 工具(例如 dpkg-buildpackage)编译成二进制包

bdist_deb,distutils 命令

安装了 bdist_deb distutils 命令。这调用 sdist_dsc 命令,然后在结果上运行 dpkg-buildpackage

python setup.py --command-packages=stdeb.command bdist_deb

install_deb,distutils 命令

install_deb distutils 命令调用 bdist_deb 命令,然后安装结果。您需要以超级用户权限运行此命令

sudo python setup.py --command-packages=stdeb.command install_deb

debianize,distutils 命令

debianize distutils 命令构建与先前命令中使用的相同的 debian/ 目录,但输出直接放置在项目的根文件夹中(与 setup.py 并排)。这对于直接定制 Debian 包非常有用(而不是使用各种 stdeb 选项调整生成的包)。

python setup.py --command-packages=stdeb.command debianize

关于告诉 distutils 使用 stdeb distutils 命令的说明

Distutils 命令包也可以在 distutils 配置文件中指定(而不是使用 --command-packages 命令行参数),如 distutils 文档 中所述。具体来说,您可以将此包含在您的 ~/.pydistutils.cfg 文件中

[global]
command-packages: stdeb.command

示例

这些都假设您已将 stdeb 安装在系统 Python 路径中。stdeb 也可以从非系统 Python 路径(例如 virtualenv)运行。

快速入门 1:现在从 PyPI 安装一些东西,其他什么都不管

从命令行执行此操作

pypi-install mypackage

警告:尽管 stdeb 尽力而为,但它绝对无法在没有人工干预的情况下保证所有 Debian 包依赖都得到正确满足。使用 pypi-install 将绕过您自定义 stdeb 行为的能力。阅读本文件的其余部分以了解如何制作更好的包。

快速入门 2:只告诉我制作 .deb 文件的最快方式

(首先,像安装 Python 包一样安装 stdeb。)

从包含您的 setup.py 文件的目录执行此操作

python setup.py --command-packages=stdeb.command bdist_deb

这将生成 Debian 源包(.dsc、.orig.tar.gz 和 .diff.gz 文件),然后编译它为当前系统的 Debian 二进制包(.deb),结果将在 deb_dist 中。

警告:在其他版本的 Ubuntu 或 Debian 上安装编译的 .deb 文件将导致未定义的行为。如果您有扩展模块,它们可能会损坏。即使在没有扩展模块的情况下,也可能发生一些不好的事情。

因此,更好的做法是为每个目标 Debian 或 Ubuntu 版本构建 Debian 源包,然后编译它(例如,使用 Ubuntu 的 PPA)。

快速入门 3:我已阅读警告,所以请展示如何制作源软件包,然后编译它

这生成一个源包

wget http://pypi.python.org/packages/source/R/Reindent/Reindent-0.1.0.tar.gz
py2dsc Reindent-0.1.0.tar.gz

这使用标准的 Debian 工具将其转换为 .deb。 (在每个目标发行版的同一源包上执行 操作)

cd deb_dist/reindent-0.1.0/
dpkg-buildpackage -rfakeroot -uc -us

这会安装它

cd ..
sudo dpkg -i python-reindent_0.1.0-1_all.deb

快速入门 4:从 Python 包直接安装到 Debian 系统包

(首先,像安装 Python 包一样安装 stdeb。)

从包含您的 setup.py 文件的目录执行此操作

python setup.py --command-packages=stdeb.command install_deb

这将生成 Debian 源包(.dsc、.orig.tar.gz 和 .diff.gz 文件),为当前系统编译成 Debian 二进制包(.deb),然后使用 dpkg 安装它。

另一个示例,包含更多解释

如果您没有Python源代码包(由 python setup.py sdist 生成的 .tar.gz 文件),这个例子更有用。为了说明,我们确实下载了这样的压缩包,但立即将其解压(或者,使用版本控制系统获取已解压的源代码包)

wget http://pypi.python.org/packages/source/R/Reindent/Reindent-0.1.0.tar.gz
tar xzf Reindent-0.1.0.tar.gz
cd Reindent-0.1.0

以下命令将生成一个名为 deb_dist 的目录,其中包含文件 reindent_0.1.0-1.dscreindent_0.1.0.orig.tar.gzreindent_0.1.0-1.diff.gz,这些文件组合起来就是一个Debian源代码包

python setup.py --command-packages=stdeb.command sdist_dsc

以上方式生成的源代码也已被解压(使用 dpkg-source -x)并放置在 deb_dist 子目录中。为了继续上面的例子

cd deb_dist/reindent-0.1.0
dpkg-buildpackage -rfakeroot -uc -us

最后,生成的软件包可以安装

cd ..
sudo dpkg -i python-reindent_0.1.0-1_all.deb

关于另一个使用示例,以及更多的解释,请参阅 allmydata-tahoe工单251

下载

文件可在 下载页面 上找到(对于旧版本,请参阅 旧下载页面)。

git仓库可在 http://github.com/astraw/stdeb 找到

安装(或,使用 stdeb 创建 stdeb 安装程序)

为了好玩,下面是使用stdeb安装stdeb的方法。请注意,stdeb也存在于Debian和Ubuntu中,所以这个配方只是为了安装较新的stdeb。

STDEB_VERSION="0.10.0"

# Download stdeb
wget http://pypi.python.org/packages/source/s/stdeb/stdeb-$STDEB_VERSION.tar.gz

# Extract it
tar xzf stdeb-$STDEB_VERSION.tar.gz

# Enter extracted source package
cd stdeb-$STDEB_VERSION

# Build .deb (making use of stdeb package directory in sys.path).
python setup.py --command-packages=stdeb.command bdist_deb

# Install it
sudo dpkg -i deb_dist/python-stdeb_$STDEB_VERSION-1_all.deb

背景

对于普通的Python包,其源代码分发(使用 python setup.py sdist 生成的 python_package.tar.gz)包含构建Debian源代码包所需的大部分内容。这种近似相等性促使我编写了这个distutils扩展,它会执行setup.py文件以提取相关信息。也可以选择使用 setuptools

我最初编写这个是为了将我自己的几个Python包Debian化,但我感觉它可能具有普遍的实用性。它在理论上至少看起来与 easydebLogilab的Devtoolsbdist_dpkgbdist_debpkgmedh-virtualenv 相似。

特性

  • 为python-support支持的所有Python版本创建一个包。(可以使用 XS-Python-Version: 配置选项来限制此范围。)

  • 自动将Python包名转换为有效的Debian包名。

  • 尝试自动转换版本号,以保持排序。另请参阅配置选项 Forced-Upstream-Version

  • 精细控制版本号。(Debian-VersionForced-Upstream-VersionUpstream-Version-PrefixUpstream-Version-Suffix 配置选项。)

  • 安装 .desktop 文件。(MIME-Desktop-Files 配置选项。)

  • 安装 .mime 和 .sharedmimeinfo 文件。(MIME-FileShared-MIME-File 配置选项。)

  • 安装版权文件。(Copyright-File 配置选项。)

  • 对上游源代码应用补丁。(Stdeb-Patch-File 配置选项。)

  • 将环境变量传递给setup.py脚本。(Setup-Env-Vars 配置选项。)

自定义生成的 Debian 源软件包(配置选项)

stdeb将尝试提供合理的默认值,但这些只是猜测。

有两种方法可以自定义stdeb生成的Debian源代码包。首先,您可以为distutils命令提供选项。其次,您可以提供一个 stdeb.cfg 文件。

stdeb distutils 命令选项

sdist_dsc命令接受distutils命令的命令行选项。例如

python setup.py --command-packages=stdeb.command sdist_dsc --debian-version 0MyName1

这会创建一个Debian包,将Debian版本设置为“0MyName1”。

这些选项也可以通过distutils配置文件来设置。(这些是位于setup.py旁边的setup.cfg文件和~/.pydistutils.cfg文件。)在这种情况下,将参数放入[sdist_dsc]部分。例如,一个项目的~/.setup.cfg文件可能包含以下内容

[sdist_dsc]
debian-version: 0MyName1

要在调用bdist_deb时将这些命令传递给sdist_dsc,请这样做

python setup.py sdist_dsc --debian-version 0MyName1 bdist_deb

命令行选项

效果

–with-python2

构建Python 2包(默认=True)

–with-python3

构建Python 3包(默认=False)

–no-python2-scripts

禁用Python 2脚本安装(默认=False)

–no-python3-scripts

禁用Python 3脚本安装(默认=False)

–force-x-python3-version

用x-python3-version的值覆盖默认的python3:any依赖

–allow-virtualenv-install-location

允许安装到/some/random/virtualenv-path

–with-dh-virtualenv

使用dh_virtualenv构建包,所以所有依赖都嵌入到包中。

–with-dh-systemd

添加systemd插件,在构建过程中正确地添加dh_systemd_enable和dh_systemd_start辅助程序。

–sign-results

使用gpg对生成的.dsc和.changes文件进行签名

–dist-dir (-d)

将最终构建的分发放在此目录中(默认=’deb_dist’)

–patch-already-applied (-a)

补丁已经应用(当py2dsc调用sdist_dsc时使用)

–default-distribution

已弃用(见–suite)

–compat

debian兼容级别(默认=9)

–suite (-z)

未指定在.cfg中时使用的分发名称(默认=’unstable’)

–default-maintainer

已弃用(见–maintainer)

–maintainer (-m)

如果未在.cfg中指定,则使用维护者姓名和电子邮件(默认来自setup.py)

–extra-cfg-file (-x)

额外的.cfg文件(如果存在stdeb.cfg,则除之外)

–patch-file (-p)

在调用setup.py之前应用的补丁文件(与.cfg中指定的文件不兼容)

–patch-level (-l)

在调用setup.py之前应用的补丁文件(与.cfg中指定的文件不兼容)

–patch-posix (-q)

使用–posix模式应用补丁

–remove-expanded-source-dir (-r)

删除展开的源目录

–ignore-install-requires (-i)

忽略egg-info目录中的requires.txt中的要求

–ignore-source-changes

在构建源包时忽略源的所有更改(向dpkg-source添加-i.*选项)

–no-backwards-compatibility

此选项没有效果,此处为向后兼容,将来可能会删除。

–guess-conflicts-provides-replaces

如果为True,则尝试根据apt-cache输出在debian/control中猜测Conflicts/Provides/Replaces。(默认=False)。

–use-premade-distfile (-P)

使用sdist命令已制作的.zip或.tar.gz文件

–source

debian/control Source:(默认:<source-debianized-setup-name>)

–package

debian/control Package:(默认:python-<debianized-setup-name>)

–suite

changelog中的套件(例如,stable,lucid)(默认:unstable)

–maintainer

debian/control Maintainer:(默认:<setup-maintainer-or-author>)

–debian-version

debian版本(默认:1)

–section

debian/control Section:(默认:python)

–epoch

版本纪元

–forced-upstream-version

强制上游版本

–upstream-version-prefix

上游版本前缀

–upstream-version-suffix

上游版本后缀

–uploaders

上传者

–copyright-file

版权文件

–build-depends

debian/control Build-Depends

–build-conflicts

debian/control Build-Conflicts

–stdeb-patch-file

包含要应用补丁的文件的文件

–stdeb-patch-level

提供给patch命令的补丁级别

–depends

debian/control Depends

–suggests

debian/control Suggests

–recommends

debian/control Recommends

–xs-python-version

debian/control XS-Python-Version

–x-python3-version

debian/control X-Python3-Version

–dpkg-shlibdeps-params

传递给dpkg-shlibdeps的参数

–conflicts

debian/control Conflicts

–provides

debian/control 提供内容

–replaces

debian/control 替换内容

–mime-desktop-files

MIME 桌面文件

–mime-file

MIME 文件

–shared-mime-file

共享 MIME 文件

–setup-env-vars

传递给 setup.py 的环境变量

–udev-rules

安装到 udev 的规则文件

您也可以通过 distutils 选项传递以下任何参数给 stdeb.cfg 文件。以这种方式传递参数(无论是命令行中还是 distutils .cfg 文件的 [sdist_dsc] 部分中)将具有优先权。选项名称应使用小写。

stdeb.cfg 配置文件

您可以编写 ConfigParser 所理解的配置文件格式。在构建每个包时,stdeb 都会在包含 setup.py 的目录中查找是否存在 stdeb.cfg 文件。您可以使用命令行选项 –extra-cfg-file 指定额外的配置文件。部分应为 [DEFAULT] 或 [package_name],其中 package_name 是 setup() 命令中指定的名称参数。一个示例 stdeb.cfg 文件是

[DEFAULT]
Depends: python-numpy
XS-Python-Version: >= 2.6

所有可用选项

配置文件选项

效果

debian/control Source:(默认:<source-debianized-setup-name>)

debian/control Package:(默认:python-<debianized-setup-name>)

包3

debian/control 包:针对 python3(默认:python3-

套件

changelog中的套件(例如,stable,lucid)(默认:unstable)

套件3

python3 的套件(例如 stable, lucid)(默认:使用 Suite 选项的值)

维护者

debian/control Maintainer:(默认:<setup-maintainer-or-author>)

Debian 版本

debian版本(默认:1)

部分

debian/control Section:(默认:python)

纪元

版本纪元

强制上游版本

强制上游版本

上游版本前缀

上游版本前缀

上游版本后缀

上游版本后缀

上传者

上传者

版权文件

版权文件

构建依赖

debian/control Build-Depends

构建冲突

debian/control Build-Conflicts

Stdeb 补丁文件

包含要应用补丁的文件的文件

Stdeb 补丁级别

提供给patch命令的补丁级别

依赖

debian/control Depends

依赖3

debian/control 依赖:针对 python3

建议

debian/control Suggests

建议3

debian/control 建议:针对 python3

推荐

debian/control Recommends

推荐3

debian/control 推荐:针对 python3

XS-Python-Version

debian/control XS-Python-Version

X-Python3-Version

debian/control X-Python3-Version

Dpkg-Shlibdeps-Params

传递给dpkg-shlibdeps的参数

冲突

debian/control Conflicts

冲突3

debian/control 冲突:针对 python3

破坏

debian/control 破坏

破坏3

debian/control 破坏:针对 python3

提供

debian/control 提供内容

提供3

debian/control 提供:针对 python3

替换

debian/control 替换内容

替换3

debian/control 替换:针对 python3

MIME-Desktop-Files

MIME 桌面文件

MIME-File

MIME 文件

Shared-MIME-File

共享 MIME 文件

Setup-Env-Vars

传递给 setup.py 的环境变量

Udev-Rules

安装到 udev 的规则文件

Python2-Depends-Name

覆盖 ${python:Depends} 中 Python 2 Debian 包名称

stdeb.cfg 文件中的选项名称不区分大小写。

可重复构建

默认情况下,stdeb 使用当前时间作为生成的更改日志文件中的时间戳。这会导致非可重复构建,因为每次调用都会生成不同的更改日志 / .deb。可以通过将 SOURCE_DATE_EPOCH 环境变量设置为固定的时间戳(例如,当版本被标记或最后提交时)来设置该时间戳,这将在更改日志中使用。这将确保在重复调用时产生的 .deb 可重复。

有关可重复构建和此特定环境变量的更多信息,请参阅 https://reproducible-builds.org/docs/source-date-epoch/

先决条件

  • Python 2.7 或 Python 3.x

  • 标准 Debian 工具,如 datedpkg-source 和 Debhelper 7(如果需要支持没有 dh7 的旧发行版,请使用 stdeb 0.3.x)

  • 如果您的 setup.py 使用 setuptools 功能 setup_requiresinstall_requires,则在运行任何 stdeb 命令之前,必须运行 apt-file update

待办事项

  • 输出符合 Debian Python Policy 规范或 新 python 政策。这包括几个方面,其中之一是

    • 自定义更改日志的能力

    • 能够包含作为 -doc 包的项目提供的文档

    • 在 debian/copyright 中包含许可证信息

    • 能够将项目提供的示例、测试和数据作为一个单独的包包含

    • 还有更多未列出

  • 创建(更好的)文档

  • 使用标准 distutils 机制记录输出

  • 重构源代码以拥有更简单、更合理的结构

志愿者召集令

我没有太多时间来做这件事。除非人们站出来贡献力量,否则这个项目很可能会只是一个其潜在能力的影子。人们可以帮助的方式有很多。特别是,如果项目引起任何兴趣,我非常希望找到一个共同维护者或维护者。其次,我会感激 Debian 开发者或 Ubuntu MOTUs 关于 Python 打包的复杂细节的建议。

邮件列表

请将所有问题发送至 distutils-SIG

许可证

MIT 风格许可证。版权所有 (c) 2006-2015 stdeb 作者。

有关详细信息,请参阅源分发中提供的 LICENSE.txt 文件。

作者

额外致谢

  • Zooko O’Whielacronx 为 autofind-depends 补丁。

  • Brett(姓氏未知)为 –ignore-install-requires 补丁。

  • Ximin Luo 为修复了一个错误。

  • Alexander D. Sedov 为错误修复和建议。

  • Michele Mattioni 为错误修复。

  • Alexander V. Nikolaev 为 debhelper 构建系统规范。

  • Roland Sommer 为描述字段错误修复。

  • Barry Warsaw 提出了 debianize 命令。

  • Asheesh Laroia 更新了 PyPI URL。

  • Piotr Ożarowski 实现了 dh_python2 支持。

  • Nikita Burtsev 进行了 Unicode 测试和修复。

  • Mikołaj Siedlarek 修复了一个错误。

  • Dirk Thomas 为 –force-x-python3-version 和 X-Python3-Version。

  • Louis 为 Recommends3、Suggests3、Provides3 和 Replaces3 支持。

  • kzwin 为与 virtualenv 的互操作。

  • GitHub 为托管服务。

  • WebFaction(又名 python-hosting)为之前的托管服务。

  • TravisCI 为持续集成。

Join the chat at https://gitter.im/astraw/stdeb

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

stdeb-0.10.0.tar.gz (57.3 kB 查看散列)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面