如何启动我自己的存储库

Mar*_*ppi 18 package-management launchpad ppa development

我是一个狂热的开发者,但我从来没有真正开始设置我自己的 PPA——有人会怎么做?遇到的常见问题?如何让我的源代码编译成 PPA 上的包?

mac*_*aco 15

像txwikinger所说的在Launchpad上注册,然后你需要生成一个GPG密钥

gpg --gen-key
Run Code Online (Sandbox Code Playgroud)

并将其上传到 Ubuntu 的密钥服务器

gpg --keyserver keyserver.ubuntu.com --publish-keys $KEYID
Run Code Online (Sandbox Code Playgroud)

替换$KEYID为“秒”行斜杠后的数字:

gpg -K --fingerprint
Run Code Online (Sandbox Code Playgroud)

单击您的配置文件的 GPG 密钥部分旁边的绿色 +,并为其提供先前命令中的密钥指纹。您将收到一封加密的电子邮件。解密它(在您的邮件客户端中设置您的 GPG 密钥以使其更容易),然后单击里面的链接以验证您拥有该密钥。

单击您的 launchpad.net 页面以创建新的 PPA

按照 Source Lab 链接的打包指南进行操作,但与 Txwikinger 所说的不同,您不会上传 deb。那是因为 deb 是一个二进制包,而 PPA 使用源包。在您的源目录中获得 4 个必要的文件(/debian/rules /debian/changelog /debian/control 和 /debian/copyright)并在其外部获得源的原始 tarball 后,运行

debuild -S -sa
Run Code Online (Sandbox Code Playgroud)

将生成一个包含 .debian.tar.gz(如果使用源格式 3.0)或 .diff.tar.gz 以及 .dsc 和 .changes 文件的源包。.dsc 和 .changes 需要签名,因此您需要输入两次 GPG 密码。该-sa只需要你上传包到PPA的第一次。以后再改版,就可以过日子了。

然后你将运行:

dput ppa:youruser/ppa *.changes
Run Code Online (Sandbox Code Playgroud)

显然填写您自己的用户名,如果您为 PPA 选择了自定义名称,请将其放在斜杠之后。Launchpad 上的 PPA 页面将告诉您确切的 ppa: 语法。