![在启动板上构建 snap 包时出错](https://linux22.com/image/1057423/%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%9D%BF%E4%B8%8A%E6%9E%84%E5%BB%BA%20snap%20%E5%8C%85%E6%97%B6%E5%87%BA%E9%94%99.png)
我正在尝试在启动板上为我的应用程序创建一个快照构建。
我可以在启动板上正常构建应用程序,但是 snap 构建失败并出现以下错误:
W:GPG error: http://ppa.launchpad.net/snappy-dev/tools/ubuntu yakkety InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F1831DDAFC42E99D, E:The repository 'http://ppa.launchpad.net/snappy-dev/tools/ubuntu yakkety InRelease' is not signed.
我不确定这是否是我编写并添加到 launchpad 的 snapcraft.yaml 的问题:http://bazaar.launchpad.net/~bablu-boy/nutty/trunk/view/head:/snapcraft.yaml
Launchpad 上的 snap 构建页面是这里.最新的 snap 构建的构建日志有上述错误。
感谢您对解决此问题的任何帮助。提前致谢!
答案1
这有点复杂,我不确定能否当场帮你解决。你发现了一个错误。
通常情况下,Launchpad 不会费心发送它要求构建者构建的档案的公钥,因为它们都在我们位于受信任网络的数据中心中。这可能不是理想的选择,但我们配置sbuild
为允许未经身份验证的档案,因此通常只会导致出现外观警告。
但是,在这种情况下,snapcraft
设置为借用构建系统的apt
配置来获取您在 中列出的包stage-packages
,并且它似乎不知道还要借用允许未经身份验证的档案的配置。因此,事情失败了。
我认为最好的解决办法可能是改变 Launchpad,将必要的公钥发送给构建者,至少对于 snap 构建来说是这样。虽然在大多数情况下这并不是必需的,但奇怪的警告有时会让人感到困惑,即使它不会导致严重的故障,但这将是一个很好的强化措施。请你提交错误对这个?
另外,我发现你遇到了bzr错误当您尝试针对主档案进行构建时,但至少那个档案是已知的,我们应该很快就能修复它。
更新:现在终于全部修复了。您需要snapcraft.yaml
对 xenial 之后的系列进行一些更改,因为它们没有valac-0.30-vapi
(对于 yakkety,使用valac-0.32-vapi
,对于 zesty,使用valac-0.34-vapi
;可能需要进行其他更改),但这些都是您应该能够在构建系统中解决的问题。