由于“校验和不匹配”错误,无法将包上传到 Launchpad

由于“校验和不匹配”错误,无法将包上传到 Launchpad

我在将我的 showdown 项目上传到 PPA 时遇到了很多问题。

我已经正确设置了 PGP 密钥和我的公共 SSH 密钥到 Launchpad。我已经使用 debuild 打包了我的 C++ 项目,生成了一个源包,lintian 只给了我两个警告,我认为这两个警告对于 showdown 规则来说是可以接受的:

W: massren source: native-package-with-dash-version
W: massren source: binary-nmu-debian-revision-in-source 1.0-0extras12.04.1~ppa2

生成二进制包也行得通,并且包在我的 Ubuntu 12.04“Precise”机器上安装没有问题。我只收到了一些关于我将文件安装到/opt/extras.ubuntu.com/<packagename>.

我正在使用以下命令上传:

dput ppa:gabrielegreco/massren massren_1.0-0extras12.04.1~ppa2_source.changes

当我使用 dput 上传时,没有出现任何错误,签名似乎没问题,公钥似乎也被接受了(因为上传无需输入密码即可进行……)。这是来自的输出dput

$ dput ppa:gabrielegreco/massren massren_1.0-0extras12.04.1~ppa2_source.changes

  Checking signature on .changes
  gpg: Signature made Mon 02 Jul 2012 10:00:38 AM CEST using RSA key ID 49982576
  gpg: Good signature from "Gabriele Greco <[email protected]>"
  Good signature on /home/gabry/no-backup/massren_1.0-0extras12.04.1~ppa2_source.changes.
  Checking signature on .dsc
  gpg: Signature made Mon 02 Jul 2012 10:00:33 AM CEST using RSA key ID 49982576
  gpg: Good signature from "Gabriele Greco <[email protected]>"
  Good signature on /home/gabry/no-backup/massren_1.0-0extras12.04.1~ppa2.dsc.
  Uploading to ppa (via ftp to ppa.launchpad.net):
  Uploading massren_1.0-0extras12.04.1~ppa2.dsc: done.
  Uploading massren_1.0-0extras12.04.1~ppa2.tar.gz: done.    
  Uploading massren_1.0-0extras12.04.1~ppa2_source.changes: done.
  Successfully uploaded packages.

目前我没有收到来自 Launchpad 网站的回复,但上传内容未显示在 PPA 页面上。

之前的尝试给我的回复电子邮件包含不同类型的错误:

File massren_1.0-0extras12.04.1~ppa1.tar.gz mentioned in the changes has a checksum
  mismatch. 1503fa155226cbc4aba2f8ba9aa11a75 != 294a5e0caf3fe95b0b007a10766e9672
File massren_1.0-0extras12.04.1~ppa1.tar.gz mentioned in the changes has a checksum
  mismatch. 1503fa155226cbc4aba2f8ba9aa11a75 != 294a5e0caf3fe95b0b007a10766e9672

或者更隐晦地说:

GPG verification of
  /srv/launchpad.net/ppa-queue/incoming/upload-ftp-20120629-163320-001135/~gabrielegreco/massren/ubuntu/massren_1.0-0extras12.04.1~ppa1.dsc
  failed: Verification failed 3 times:
    ["(7, 58, u'No data')", "(7, 58, u'No data')", "(7, 58, u'No data')"]

Further error processing not possible because of a critical previous error.

有什么办法可以解决这个问题吗?我是 Ubuntu 打包新手,所以可能会错过一些步骤……有没有其他方法dput(又称手动上传)?

答案1

问题似乎出在我和 launchpad 之间的 untangle 防火墙上。我在家里手动上传了文件,并通过 FTP 将它们发送到 launchpad。

我使用命令行“ftp”客户端,因为我无法在 OSX 上使用“dput”,并且 ncftp 不起作用(可能是因为它没有将正确的电子邮件设置为匿名用户的密码)?

无论如何,这是手动上传的顺序:

  • 通过 FTP 连接到 ppa.launchpad.net
  • 使用匿名用户
  • 使用您注册 launchpad 时使用的邮箱地址作为密码
  • 将目录更改为 ~yourlaunchpadusername/yourppa/ubuntu
  • 上传文件 packagename_version.dsc、packagename_version.tar.gz、packagename_version_source.changes
  • 退出 FTP 并等待电子邮件确认。

如果您的构建没有正确完成(在我的情况下问题是一个未满足的依赖关系)您必须上传不同版本的文件,否则您会收到错误(我最终将~ppa2 更改为~ppa3)。

答案2

~/.dput.cf在文本编辑器中打开并添加以下文本:

[your-ppa]
fqdn = ppa.launchpad.net
method = ftp
incoming = ~<your_launchpad_id>/<ppa_name>/ubuntu/
login = your_launchpad_id

allow_unsigned_uploads = 0

保存文件,退出文本编辑器,然后运行:

dput your-ppa *_source.changes

相关内容