我知道 launchpad 的政策是只允许在 PPA 上上传源包(正如所解释的这里)。
然而,python .deb 包中包含了所有的源代码,不能使用标准普尔扩展并需要手动构建包...有没有办法解决这个问题?
编辑:从第一个答案来看,我似乎应该澄清我是编写代码的开发人员,所以我真的在寻找更快捷的方法让我的程序成为 ppa 中的 .deb。我通常使用以下命令在系统中获取 .deb 包:
python setup.py --command-packages=stdeb.command bdist_deb
鉴于这允许我重用我的setup.py
脚本,这是所有 Python 程序的标准。我查看了 Python 打包指南这里但看起来我遗漏了一些东西,因为很难相信为了达到与上述一行相同的结果我应该付出 10 倍的努力……?
答案1
查看该包的 README,它支持通过py2dsc
实用程序或sdist_dsc
distutils 命令从 Python 包构建 Debian 源包。
一旦您获得了 Debian 源包,您应该能够使用以下命令将其上传到您的 PPA:
# Unpack the source package:
dpkg-source -x package_version.dsc
# Prepare a signed package upload:
cd package-version/
debuild -S -sa
# Upload the source package:
cd ..
dput $ARCHIVE package_version.upload
答案2
不,这是不可能的。
这是一件好事。理想情况下,从源代码打包的目的是让您清楚地看到哪些更改仅存在于 debian/ubuntu 中,哪些源来自上游。选择将文件放在哪个目录中是特定于发行版的更改,它应该放在特定于发行版的文件中,与其他源分开。
请注意,源包非常简单:在包含源的包中运行 dh_make,更新控制和版权文件,并将要复制的文件添加到安装文件中。如果源中有更新,您只需解压它们并更新更改日志。
答案3
这对我有用:
python setup.py --command-packages=stdeb.command debianize
摘自他们的自述文件:
debianize 命令直接在 setup.py 旁边构建一个 debian/ 目录。