debuild - 密钥不可用(别人的密钥)

Stu*_*xon 8 apt dpkg gnupg debuild

我正在尝试使用 debuild 构建 cairo。

我到了最后,这条消息:

gpg: skipped "Robert Ancell <robert.ancell@canonical.com>": secret key not available
Run Code Online (Sandbox Code Playgroud)

因为我不是 Robert Ancell,所以这是有道理的 - 我如何让它使用我自己的密钥?

gpg --list-key outputs:
$ gpg --list-key /home/stu/.gnupg/pubring.gpg
 ----------------------------
pub   1024R/2ADA7053 2009-05-04 uid                  Launchpad PPA for Aleksander Morgado

pub   2048R/17F35B46 2015-01-28 uid                  Stuart Axon
<stu.axon@gmail.com> uid                  Launchpad PPA for Stuart
Axon <stuaxo2@yahoo.com> sub   2048R/B8E8ED59 2015-01-28
Run Code Online (Sandbox Code Playgroud)

我有环境变量:

DEBSIGN_KEYID=17F35B46
Run Code Online (Sandbox Code Playgroud)

Set*_*eth 8

debuild 要求提供上次编辑更改日志的用户的密钥。如果您要上传到 PPA,那么您的包必须与存储库中当前的等价包不同,因此您应该编辑更改日志。

使用dch更新版本和更新日志,然后重建。debuild 会询问您的密钥。(如果您不确定要使用什么版本号,请查看Launchpad 帮助文档。


Flo*_*sch 6

使用-k选项来告诉debuild使用哪个键,例如

debuild -kB57F5641
Run Code Online (Sandbox Code Playgroud)

请注意,在-k和密钥 ID之间不允许有空格。


Yur*_*ira 6

我目前使用的Xubuntu 16.04“Xenial Xerus”,并遇到了同样的问题:既debuilddebsign正在返回此密钥不可用的错误,虽然我没有创建一个本地密钥和我有它上传到道路Ubuntu的密钥服务器,太.

我已经尝试使用该-k选项手动设置我的密钥。我还将我的密钥设置为我的默认密钥,我还编辑了该debian/changelog文件,还有很多其他事情,但没有任何效果:我仍然遇到相同的错误。

...然后我意识到我使用gpg2而不是gpg创建了我的密钥。猜猜我做了什么?

在我这样做之后,像debuild -S -sadebsign some-file_source.changes等等这样的命令终于起作用了。

我不知道究竟是什么毛病debuilddebsigndpkg-buildpackage等等,但我的印象是,他们正在发送的参数gpg虽然只有gpg2可以解析(“理解”)这样的参数。因此,创建一个符号链接(为了创建一个实际运行 gpg2 二进制文件的假 gpg 二进制文件)解决了这个问题。

虽然有更优雅的方法可以强制debsign使用gpg2

  • 设置-pgpg2选项debsign
  • 设置DEBSIGN_PROGRAM=gpg2/etc/devscripts.conf~/.devscripts