Snapcraft - 如何使用上一部分文件的绝对路径

Snapcraft - 如何使用上一部分文件的绝对路径

我正在创建一个包含 2 个部分的 Snap。第二部分需要第一部分中创建的文件,否则将无法构建。

我尝试使用相对路径,从当前部分的根目录开始,但 libtool 不接受它。如果我使用绝对路径,它会构建,但现在 snapcraft.yaml 不再可移植。

这就是我现在所拥有的:

build: |
  ./autogen.sh && ./configure LDFLAGS='-L/home/snapcraft/mySnap/parts/libdb4.8/install/usr/local/BerkeleyDB.4.8/lib/' CPPFLAGS='-I/home/snapcraft/mySnap/parts/libdb4.8/install/usr/local/BerkeleyDB.4.8/include/'

是否有一个环境变量保存前面部分的绝对路径?或者还有其他方法可以做到这一点?

谢谢

答案1

我可以通过将必要的文件添加到暂存区来解决此问题

stage:
  - usr/local/BerkeleyDB.4.8/lib/*
  - usr/local/BerkeleyDB.4.8/include/*

然后使用 $SNAPCRAFT_STAGE 环境变量指向它们。

build: |
  ./autogen.sh && ./configure LDFLAGS='-L$SNAPCRAFT_STAGE/usr/local/BerkeleyDB.4.8/lib/' CPPFLAGS='-I$SNAPCRAFT_STAGE/usr/local/BerkeleyDB.4.8/include/'

相关内容