pkgxdev / setup

GitHub Action and `curl pkgx.sh | sh`
Apache License 2.0
136 stars 47 forks source link

Alpine support #68

Open abitrolly opened 1 year ago

abitrolly commented 1 year ago

Bootstrap in container.

podman run -it --rm alpine

Installing curl and running tea.

/ # apk add curl
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
(1/5) Installing ca-certificates (20220614-r0)
(2/5) Installing brotli-libs (1.0.9-r6)
(3/5) Installing nghttp2-libs (1.47.0-r0)
(4/5) Installing libcurl (7.83.1-r4)
(5/5) Installing curl (7.83.1-r4)
Executing busybox-1.35.0-r17.trigger
Executing ca-certificates-20220614-r0.trigger
OK: 8 MiB in 19 packages
/ # sh <(curl tea.xyz)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8627  100  8627    0     0  63106      0 --:--:-- --:--:-- --:--:-- 62970
                                      /dev/fd/64: line 173: /root/.tea/charm.sh/gum/v0.8.0/bin/gum: not found
/ #

gum is there, but it is not executable.

/ # apk add file
(1/2) Installing libmagic (5.41-r0)
(2/2) Installing file (5.41-r0)
Executing busybox-1.35.0-r17.trigger
OK: 15 MiB in 21 packages
/ # file /root/.tea/charm.sh/gum/v0.8.0/bin/gum 
/root/.tea/charm.sh/gum/v0.8.0/bin/gum: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=yTUp2qAJqe_xPUobZxaV/mZxURjpe-HEM-BnNCYdd/BHsDweByhsUWmtZfsC0P/UVLtlJRmGQGIpoU2Sb7b, stripped
/ # /root/.tea/charm.sh/gum/v0.8.0/bin/gum 
/bin/sh: /root/.tea/charm.sh/gum/v0.8.0/bin/gum: not found
mxcl commented 1 year ago

So we definitely want to work out the box on Alpine, so this issue is now tracking that.

We currently require glibc and that's probably the main difficulty we’ll have here.

I'm surprised the error is not found however, was expecting a dynamic linking lookup failure.

mxcl commented 1 year ago

I added a test for alpine, but mysteriously the GitHub Action doesn't even work: https://github.com/teaxyz/setup/actions/runs/3759314481/jobs/6388731172#step:4:7

abitrolly commented 1 year ago

To me it looks like the action works, because line "determining latest tea version…" definitely comes from action.

The problems is /github/home/opt/tea.xyz/v0.17.2/bin/tea: not found. Maybe there is no /github/home/opt at this point. I don't know.