AppImage / AppImage/type2-runtime

Find a better way to detect the build environment architecture

Open
#55 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
73
Forks
35
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.