尝试上传到我的 PPA:无法验证签名

尝试上传到我的 PPA:无法验证签名

我已经创建了一个 PPA(https://launchpad.net/~brentonhorne/+archive/ubuntu/eclipse-ide-cpp) 目前完全是空的,但我一直尝试将我的.changes文件上传到它(使用dput eclipse-ide-cpp eclipse-ide-cpp_4.6.0-1_amd64.changes),但每次我这样做时都会收到错误消息:

Checking signature on .changes
gpg: no valid OpenPGP data found.
gpg: the signature could not be verified.
Please remember that the signature file (.sig or .asc)
should be the first file given on the command line.
No signature on /home/fusion809/GitHub/mine/eclipse-ide-cpp/eclipse-ide-cpp_4.6.0-1_amd64.changes.

仅供参考,我已经创建了这个~/.dput.cf文件(通过按照以下说明https://help.launchpad.net/Packaging/PPA/Uploading):

[eclipse-ide-cpp]
fqdn = ppa.launchpad.net
method = ftp
incoming = ~brentonhorne/ubuntu/eclipse-ide-cpp/
login = anonymous
allow_unsigned_uploads = 0

.sig现在,我尝试使用以下命令为我的更改文件创建一个文件:

gpg --output eclipse-ide-cpp_4.6.0-1_amd64.changes.sig --sign eclipse-ide-cpp_4.6.0-1_amd64.changes

但即使这样做了,每当我尝试上传更改文件时,dput我都会收到与之前报告的相同的错误消息。现在,如果我dput eclipse-ide-cpp eclipse-ide-cpp_4.6.0-1.changes.sig改为运行(因为我认为这是我的原始上传错误消息指示我应该做的),我会收到错误消息:

Not a .changes file.
Please select a .changes file to upload.
Tried to upload: eclipse-ide-cpp_4.6.0-1.changes.sig

我的更改文件是通过 cd 进入eclipse-ide-cpp_4.6.0以下子目录生成的这个 GitHub 存储库我的和运行:

dpkg-buildpackage -us -uc

如果你想知道我在创建文件时是否犯了错误.changes

答案1

你似乎在包装方面取得了一些进步,我也在学习。

dpkg-buildpackage -us -uc

man dpkg-buildpackage

-us    Do not sign the source package.
-uc    Do not sign the .changes file.

:) 您命令不要签名。删除这两个选项,然后重试。

附注:

  • hkp://keyserver.ubuntu.com:11371您应该使用或其他工具同步您的 GPG 密钥seahorse。否则启动板将拒绝您的软件包。

  • 只需调用dpkg-buildpackage即可生成源代码 + 二进制文件(仅限您的计算机架构)包。如果您确信二进制文件构建良好,则可以通过仅构建源代码包并让 launchpad 构建所有二进制文件来缩短该过程,方法是使用:

    dpkg-buildpackage -S
    

    man dpkg-buildpackage

      -S     Specifies a source-only build, no binary packages need to 
             be made.  Passed to dpkg-genchanges.  Note: if what you 
             want is  simply  to (re-)build the source package, using 
             dpkg-source is always better as it does not require any 
             build dependencies to be installed to be able to call the 
             clean target.
    

    还有dpkg-source另一种选择,不需要安装构建依赖项来构建源包。

相关内容