tummychow / git-absorb

git commit --fixup, but automatic
https://crates.io/crates/git-absorb
BSD 3-Clause "New" or "Revised" License
4.64k stars 71 forks source link

Compile release on older architecture #39

Closed jankatins closed 2 years ago

jankatins commented 3 years ago

If you install the current git-absorb release, it failson debian unstable with the following error, as debian unstable (and probably a lot of other distros) do not have such a new libc:

[23:28:42] λ  git-absorb
git-absorb: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by git-absorb)
[23:29:28] [1] ✗  dpkg -l |grep libc6:amd64
ii  libc6:amd64                                      2.31-11                              amd64        GNU C Library: Shared libraries

(I have the same problem when I compile git-absorb on a fedora34 and want to run it in a fedora33 container, which is the reason I wanted to try the releases -> Seems the easiest way out is use musl to get a completely static binary: https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html)

tummychow commented 3 years ago

i'm amenable to using the musl target instead, but https://github.com/rust-lang/libz-sys requires musl to be installed on the host system (installing the x86_64-unknown-linux-musl target is not sufficient), which i don't want to do since i just build the release binaries on my personal workstation. i'll take a pr to do this in ci, but i'm probably too lazy to containerize the build just for this

jankatins commented 3 years ago

Would you take a PR basically copying https://github.com/BurntSushi/ripgrep/blob/master/.github/workflows/release.yml or https://github.com/starship/starship/blob/master/.github/workflows/deploy.yml ? It would need a github token from your side to make it work...

tummychow commented 3 years ago

hmmm... i think i would accept such a PR. it might take a while to get merged since i'd have to figure out how to test it etc