Snapcraft:是否可以包含另一个(已构建的).snap?

Snapcraft:是否可以包含另一个(已构建的).snap?

我想知道在使用 Snapcraft 构建时是否有办法包含另一个 .snap 文件。这类似于stage-packagesbuild-packages,但用于 snaps 而不是 debs。

我已经看到了该after属性,但我的理解是,它只是拉下共享部分 YAML 并在本地重建。

答案1

不可以,你不能将一个包含.snap在另一个里面.snap。若要在 snap 之间共享库/运行时二进制文件,请考虑使用content interface 这里。此外,您还可以在 snapcraft 中创建shared part并将其提供给更广泛的社区。请查看可供使用的部件列表这里

答案2

您可以将任何内容包含在您的 snap 中,包括其他 snap。在某些情况下,snapcraft 可能还没有合适的助手来用几行代码完成您想要的操作,但您始终可以创建一个 makefile,它可以在构建和安装阶段准确完成您需要完成的操作。使用 unsquashfs 从其他 snap 中提取先前的内容。

话虽如此,请考虑一下第一个 snap 是否应该单独使用。如果不是,当没有人能够以有用的方式实际安装它时,让该 snap 停留在您的帐户下的商店中并不是一件好事。我们需要改进 snapcraft 以更好地处理这些情况下的重用,但与此同时,如果您已经习惯了使用 deb,或者甚至只是将构建的部分推送到您可以暂时在消费者之间共享的地方,那么使用 deb 也是可以的。

相关内容