我如何启动自己的存储库


18

我是一个狂热的开发人员,但实际上我从来没有自己设置过PPA-有人会怎么做?遇到常见问题?如何获取源代码以将其编译为PPA上的软件包?

Answers:


15

像txwikinger所说的那样在Launchpad上注册,那么您需要生成一个GPG密钥

gpg --gen-key

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

gpg --keyserver keyserver.ubuntu.com --publish-keys $KEYID

替换$KEYID为“ sec”行上斜线后的数字:

gpg -K --fingerprint

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

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

遵循Source Lab链接的包装指南,但是与Txwikinger所说的不同,您不会上传deb。这是因为deb是二进制程序包,而PPA则采用源程序包。在您的源目录中获得4个必需的文件(/ debian / rules / debian / changelog / debian / control和/ debian / copyright)并在其中包含源的原始压缩文件之后,运行

debuild -S -sa

将生成一个源程序包,其中包括.debian.tar.gz(如果使用源格式3.0)或.diff.tar.gz以及.dsc和.changes文件。.dsc和.changes将需要签名,因此您将需要两次输入GPG密码。该-sa只需要你上传包到PPA的第一次。以后的版本,您可以继续使用。

然后,您将运行:

dput ppa:youruser/ppa *.changes

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


在14.04中gpg --keyserver keyserver.ubuntu.com --publish-keys $KEYID最终会出现错误:gpg: Invalid option "--publish-keys"。根据askubuntu.com/questions/220063/…,应--send-keys改为使用::gpg --keyserver keyserver.ubuntu.com --send-keys $KEYID
landroni 2014年

4

有一些工具可以帮助您将源tarballs + debian控制文件上传到启动板上的PPA中。这将告诉您如何。但是上传软件包只是其中的一小部分...

设置构建环境和debian软件包(.deb)基础结构并非易事!它需要对程序包结构以及不同类型的脚本(特别是Make和Shell脚本)如何工作有很好的了解。

当我打包.deb的
Ubuntu打包指南Debian新维护者指南时,我发现这两个指南非常有用。

请仔细阅读所有的Ubuntu打包指南,您应该迈向成功!


0

您可以在首页上的https://launchpad.net中注册帐户,然后才能启动自己的PPA。PPA托管在启动板上。

您可以通过创建一个.deb包来编译源代码,然后使用命令上传到您的ppa dput。然后,该包将由启动板的编译场自动编译,并且可在许多平台上使用。

有关包装的更多信息,请参见有关包装Wiki


我认为这更多是我感兴趣的。我知道PPA使用Bazaar进行源代码控制(我认为),所以我是否只需将代码推送到PPA和BLAM!打包,还是我简化了?
Marco Ceppi

1
集市和PPA有点不同。您可以使用bazaar来对整个程序包进行修订控制(包括用于程序包管理的.deb插件),但是bazaar本身就不需要它,您也不需要打包。Bazzar基本上是bzr修订控件的中央分支,它通过启动板具有附加的用户权限管理。
txwikinger 2010年

bzr就像git,但更容易。它与包装无关。现在有从bzr到Lauchpad Beta Testers的每日构建食谱,但是您仍然需要建立包装分支。
maco 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.