我有一个手动创建的.deb
,我想将其上传到 PPA。
我的问题如下:
- 那可能吗?
如果是这样,
- 我怎么做?
答案1
不可以。Launchpad 不允许直接上传二进制包。它需要你上传文件dsc
和changes
原始 tarball。然后构建系统会在干净的 chrooted 环境中构建它
你是如何构建这个 tarball 的?你有打包目录,也就是debian/
目录?对吗?
我是这样做的:
解压上游 tarball。例如
foo-x.y.tar.gz
然后将 debian/ 目录放入解压的目录中
在 debian/changelog 文件中添加一个条目(手动或使用)
dch -i
。如果版本号显示为x.y
将其重命名
foo-x.y.tar.gz
为foo_x.y.orig.tar.gz
。请查看原始 tarball 应如何命名 -sourcepackagename_x.y.orig.tar.gz
现在切换到 debian/ 目录所在的目录
运行
debuild -S -k9E6622AB
,其中 9E6622AB 是我的 GPG 密钥。您需要对您的软件包进行签名。
如果一切顺利,那么将创建三个文件 - 该.orig.tar.gz
文件,一个.dsc
文件和第三个.changes
文件
我希望您使用 pbuilder/cowbuilder 或您选择的任何构建器来创建 deb 文件。
剩下的你要做的是
dput ppa:你的用户名/ppaname foo.changes
当然你需要创建一个同名的 PPA
如果您的依赖项是使用不兼容打包系统的 ruby gem,那么您可以使用postinst
、、preinst
和文件postrm
来prerm
更好地控制打包过程
答案2
您无法上传 .deb,您需要上传 .deb 的源代码,以便 PPA 制作它们(如果您的 .deb 依赖于架构,则允许它为 32 位和 64 位构建!)。请参阅这里开始做这件事。