AppImage / AppImage/type2-runtime

Find a better way to detect the build environment architecture

未关闭
#55 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C
星标
73
派生
35
PR 合并指标
30 天内没有已合并 PR

描述

The architecture check introduced in https://github.com/AppImage/type2-runtime/pull/49 breaks the detection on OSes other than Alpine because of them using busybox. On Ubuntu 22.04, `file` returns the following:

```
> file -L /bin/bash
/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7a6408ba82a2d86dd98f1f75ac8edcb695f6fd60, for GNU/Linux 3.2.0, stripped
```

The output does _not_ match `x86_64`, the string probed by the bash script. Edit: to clarify: the issue here is that it probes against the _loader_ path, not the architecture reported by `file`.

Please note that this is not an imminent problem since I need to use the Alpine containerized build environment anyway due to the very simplistic build scripts. However, the chosen solution is not portable in any way.

By the way, `x86-64` would be working on both systems. However, I'd rather use a dedicated tool like `uname`. Unfortunately, busybox's implementation doesn't support `-p` properly in containers, it returns `unknown` there.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。