使用 snapcraft 构建时,Ubuntu snap 插件“autotools”默认会跳过“make install”

使用 snapcraft 构建时,Ubuntu snap 插件“autotools”默认会跳过“make install”

我正在为我的项目构建一个 snap 包,我有一个只想编译的库。即只有 /configure && make 而不是:/configure && make && make install

当我在 Ubuntu snap 中搜索它的文档时,我发现:https://snapcraft.io/docs/reference/plugins/autotools

也在这里搜索:https://github.com/search?o=desc&q=filename%3Asnapcraft.yaml+%22plugin%3A+autotools%22+&s=indexed&type=Code&utf8=%E2%9C%93

但是我找不到任何可以跳过 make install 部分的方法。有人能建议我怎么做吗?一种不严谨的方法可能是在 make install 之后,我将添加一个 shell 脚本来递归删除 make install 生成的文件,然后继续进行应用程序代码编译。但我认为应该有一条快乐的路径可以很好地做到这一点。所以当我运行 snapcraft 来构建 snap 包时,请告诉我是否有任何方法可以跳过这个 make install。

答案1

您可以使用一个节覆盖安装阶段所做的事情install:,您可以将其留空,或者什么都不做,只回显一个空白行,表明您正在跳过该阶段。或者,如果 Makefile 有安装节,然后您可以使用安装节来执行任何所需的操作,例如

parts:
  foo:
    source: .
    plugin: autotools
    install: |
      cp -a somebinary $SNAPCRAFT_PART_INSTALL/bin
      cp -a somesupportfiles $SNAPCRAFT_PART_INSTALL/foo

这将仅使用 shellcp命令来进行安装。

相关内容