如何构建多拱快照

Dav*_*lla 5 ubuntu-core snap

我有一个快照,我想为多个架构构建。现在,在snapcraft.yaml文件中,我将一个包装器定义为要执行的二进制文件,它设置了应用程序运行所需的环境变量。

它包含的一段脚本代码如下:

#!/bin/sh
ARCH='x86_64-linux-gnu'
export LD_LIBRARY_PATH=$SNAP/usr/lib/$ARCH:$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

显然,硬编码ARCH不是最佳的,因为非 amd64 构建将无法正常工作。但是,dpkg-architecture在使用 Snapcraft 时,使用拱形检测将不起作用。

在使用 Snapcraft 构建快照时,如何在我的包装器中动态检测主机的架构以设置正确的库路径?

代码作为snappy 桌面示例的一部分提供。

kyr*_*ofa 5

二进制包装器(和服务文件)SNAP_ARCH为您定义环境变量。不幸的是,这不是一个理想的解决方案,因为它们不是三胞胎,但它应该有足够的信息让您通过案例陈述或其他东西到达那里。