将修改后的Hello包上传至Launchpad PPA时遇错求解决
解决Launchpad PPA上传的dput错误
一、修复dput配置文件问题
你当前/etc/dput.cf里的[ppa]配置存在两处关键问题:
method = ftp已过时,Launchpad目前仅支持https上传login = anonymous不符合要求,需填写你的Launchpad用户名
修正后的[ppa]配置段如下:
[ppa] fqdn = ppa.launchpad.net method = https incoming = ~hectorta/ubuntu/hello-ppa login = hectorta allow_unsigned_uploads = 0
另外,dput ppa:hectorta/hello-ppa ...格式需要系统dput默认支持ppa前缀识别,若仍提示找不到主机,直接使用修正后的配置段名执行即可:dput ppa ../hello_2.10-2_amd64.changes
二、解决GPG签名验证错误(gpgme_op_verify: GPGME: No data)
这个错误核心是changes文件未被正确签名,或签名密钥未与Launchpad关联,按以下步骤排查:
检查并重新签名changes文件
先验证现有签名状态:gpg --verify ../hello_2.10-2_amd64.changes若提示无签名或验证失败,执行重新签名(输入GPG密钥密码完成操作):
debsign ../hello_2.10-2_amd64.changes若系统存在多个GPG密钥,可指定密钥签名:
debsign -k<你的GPG密钥ID> ../hello_2.10-2_amd64.changes确保GPG密钥已关联Launchpad
- 查看本地GPG密钥ID:
gpg --list-keys - 上传公钥到Ubuntu密钥服务器:
gpg --send-keys --keyserver keyserver.ubuntu.com <你的密钥ID> - 登录Launchpad个人账户设置,在「GPG密钥」栏目确认该密钥已添加。
- 查看本地GPG密钥ID:
三、重新尝试上传
完成上述配置后,执行以下命令上传:
dput ppa ../hello_2.10-2_amd64.changes
额外提醒:从Debian归档下载的包直接编译上传可能存在依赖适配问题,建议使用debuild -S生成源changes文件,上传源包到PPA由Launchpad自动编译,更符合PPA的常规上传流程。
内容的提问来源于stack exchange,提问作者Hector Ta
相关产品推荐
相关产品推荐

