使用 dpkg-buildpackage 签名软件包失败,但使用 debsign 签名软件包成功

使用 dpkg-buildpackage 签名软件包失败,但使用 debsign 签名软件包成功

我有以下 gpg 密钥:

-----------------------------
pub   2048R/F516F2E7 2017-06-19
uid                  Ulad Kasach <[email protected]>
sub   2048R/4057A05F 2017-06-19

当我尝试使用 创建并签署包时dpkg-buildpackage -kF516F2E7 -S -sa,出现以下错误:

gpg: skipped "F516F2E7": No secret key
gpg: dpkg-sign.1F6Q4CLd/<package name>.dsc: clearsign failed: No secret key

dpkg-buildpackage: error: failed to sign .dsc and .changes file

但是,如果我运行debsign -k F516F2E7 <package name>.dsc 它就会成功。

有人知道为什么会这样吗以及如何dpkg-buildpackage才能成功?

答案1

直到现在我也遇到了同样的问题。

dpkg-buildpackage似乎希望您传递电子邮件地址以及 -k 标志,而不是密钥 ID。

dpkg-buildpackage [email protected]

此后我没有遇到任何错误。

答案2

尝试:

sudo debuild -b -uc -us

该命令生成一个未签名的 deb 文件供本地使用。

答案3

dpkg-buildpackage虽然这并不能回答“为什么失败”的问题,但dpkg-buildpackage通过替换debuilddebuild接受dpkg-buildpackage参数)可以得到预期的结果。

tl;dr:“str.replace”dpkg-buildpackagedebuild快速解决问题

答案4

看起来您没有导入私钥。尝试导入它:

gpg --import private-key-file.gpg

相关内容