I've successfully migrated some custom scripts to ubi, aside from one:
$ ubi --project dandavison/delta ; ./bin/delta
./bin/delta: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by ./bin/delta)
Unfortunately my system doesn't support the "libc" version of that project, and I should instead use the "musl" version.
Here's some debugging:
$ ubi -d --project dandavison/delta 2>&1 | grep -e gnu -e musl | grep -v https
[ubi][DEBUG] matching against asset name = delta-0.13.0-aarch64-unknown-linux-gnu.tar.gz
[ubi][DEBUG] matching against asset name = delta-0.13.0-arm-unknown-linux-gnueabihf.tar.gz
[ubi][DEBUG] matching against asset name = delta-0.13.0-i686-unknown-linux-gnu.tar.gz
[ubi][DEBUG] matching against asset name = delta-0.13.0-x86_64-unknown-linux-gnu.tar.gz
[ubi][DEBUG] matching against asset name = delta-0.13.0-x86_64-unknown-linux-musl.tar.gz
[ubi][DEBUG] matching against asset name = git-delta-musl_0.13.0_amd64.deb
[ubi][DEBUG] found multiple installation candidates, looking for 64-bit binary first in ["delta-0.13.0-x86_64-unknown-linux-gnu.tar.gz", "delta-0.13.0-x86_64-unknown-linux-musl.tar.gz"]
[ubi][DEBUG] picked asset named delta-0.13.0-x86_64-unknown-linux-gnu.tar.gz
[ubi][DEBUG] downloading asset named delta-0.13.0-x86_64-unknown-linux-gnu.tar.gz
[ubi][DEBUG] extracting binary from tarball at /tmp/.tmpH8iClD/delta-0.13.0-x86_64-unknown-linux-gnu.tar.gz
[ubi][DEBUG] found tarball entry with path delta-0.13.0-x86_64-unknown-linux-gnu/LICENSE
[ubi][DEBUG] found tarball entry with path delta-0.13.0-x86_64-unknown-linux-gnu/README.md
[ubi][DEBUG] found tarball entry with path delta-0.13.0-x86_64-unknown-linux-gnu/delta
So ubi sees both the "gnu" and "musl" as candidates, but installs the "first".
I'd like, if possible, an option to say "download the one matching this", i.e. I'd like to run something like:
ubi --project dandavision/delta --matching musl
... and have it only iterate over assets whose file name matches musl.
I'm not that well versed on rust. I might not be able to do a pull request for this. I'm opening this issue in case you find it something both worthwhile having, and easy to add.
I've successfully migrated some custom scripts to
ubi
, aside from one:Unfortunately my system doesn't support the "libc" version of that project, and I should instead use the "musl" version.
Here's some debugging:
So
ubi
sees both the "gnu" and "musl" as candidates, but installs the "first".I'd like, if possible, an option to say "download the one matching this", i.e. I'd like to run something like:
ubi --project dandavision/delta --matching musl
... and have it only iterate over assets whose file name matches
musl
.I'm not that well versed on rust. I might not be able to do a pull request for this. I'm opening this issue in case you find it something both worthwhile having, and easy to add.