我有以下 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
通过替换debuild
(debuild
接受dpkg-buildpackage
参数)可以得到预期的结果。
tl;dr:“str.replace”dpkg-buildpackage
可debuild
快速解决问题
答案4
看起来您没有导入私钥。尝试导入它:
gpg --import private-key-file.gpg