mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-24 14:28:42 +00:00
Fix detect-targets
on Linux and add CI testing (#1344)
* Testing: Add `detect-targets/src/main.rs` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix `detect-targets` linux: `guess_host_triple` could return wrong libc info so it has to check it manually instead of simply providing alternatives like other OSes. Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix `get_ld_flavor` for Alpine's gcompat glibc Its output is different from regular glibc, so we need to hardcode that particular cases. Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix detection of alpine specific musl target Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Add ci testing for Alpine Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Add CI test for detect-targets on ubuntu Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Refactor `get_ld_flavor` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix shellcheck Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Add more CI test for ubuntu and fixed typo in it Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Rm distro specific target as it breaks `cargo-install` fallback Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Make sure all binaries are built in CI Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Add `package.metadata.binstall` for `detect-targets` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix justfile Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix `detect-targets-{alpine, ubuntu}-test` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix `detect-targets-ubuntu-test` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix `debug-targets-ubuntu-test` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * `set -exuo pipefail` in `detect-targets-ubuntu-test` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Simplify `detect-targets-*-test`: Use `Swatinem/rust-cache@v2` directly instead of using `just-setup` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Rm dup steps in `detect-targets-ubuntu-test` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Add `ls` to detect-targets-alpine-test for debugging Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * FIx `detect-targets-alpine-test` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix `get_ld_flavor` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * Fix `linux::detect_targets` on ubuntu & glibc system Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> * FIx `linux::detect_targets` glibc checking Check dynlib suffix Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com> --------- Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
d657fbe518
commit
76a692224d
7 changed files with 159 additions and 85 deletions
15
justfile
15
justfile
|
@ -297,6 +297,9 @@ package-prepare: build package-dir
|
|||
just get-output detect-wasi{{output-ext}} packages/prep
|
||||
-just get-output detect-wasi.dSYM packages/prep
|
||||
|
||||
just get-output detect-targets{{output-ext}} packages/prep
|
||||
-just get-output detect-targets.dSYM packages/prep
|
||||
|
||||
# when https://github.com/rust-lang/cargo/pull/11384 lands, we can use
|
||||
# -just get-output cargo_binstall.dwp packages/prep
|
||||
# underscored dwp name needs to remain for debuggers to find the file properly
|
||||
|
@ -308,6 +311,9 @@ package-prepare: build package-dir
|
|||
just get-output detect-wasi packages/prep
|
||||
-cp {{output-folder}}/deps/detect_wasi-*.dwp packages/prep/detect_wasi.dwp
|
||||
|
||||
just get-output detect-targets packages/prep
|
||||
-cp {{output-folder}}/deps/detect_target-*.dwp packages/prep/detect_target.dwp
|
||||
|
||||
# underscored pdb name needs to remain for debuggers to find the file properly
|
||||
# read from deps because sometimes cargo doesn't copy the pdb to the output folder
|
||||
[windows]
|
||||
|
@ -318,6 +324,9 @@ package-prepare: build package-dir
|
|||
just get-output detect-wasi.exe packages/prep
|
||||
-just get-output deps/detect_wasi.pdb packages/prep
|
||||
|
||||
just get-output detect-targets.exe packages/prep
|
||||
-just get-output deps/detect_target.pdb packages/prep
|
||||
|
||||
# we don't get dSYM bundles for universal binaries; unsure if it's even a thing
|
||||
[macos]
|
||||
lipo-prepare: package-dir
|
||||
|
@ -335,6 +344,11 @@ lipo-prepare: package-dir
|
|||
just target=x86_64h-apple-darwin get-output detect-wasi{{output-ext}} packages/prep/x64h
|
||||
lipo -create -output packages/prep/detect-wasi{{output-ext}} packages/prep/{arm64,x64,x64h}/detect-wasi{{output-ext}}
|
||||
|
||||
just target=aarch64-apple-darwin get-output detect-targets{{output-ext}} packages/prep/arm64
|
||||
just target=x86_64-apple-darwin get-output detect-targets{{output-ext}} packages/prep/x64
|
||||
just target=x86_64h-apple-darwin get-output detect-targets{{output-ext}} packages/prep/x64h
|
||||
lipo -create -output packages/prep/detect-targets{{output-ext}} packages/prep/{arm64,x64,x64h}/detect-targets{{output-ext}}
|
||||
|
||||
rm -rf packages/prep/{arm64,x64,x64h}
|
||||
|
||||
|
||||
|
@ -370,6 +384,7 @@ repackage-lipo: package-dir
|
|||
|
||||
lipo -create -output packages/prep/{{output-filename}} packages/prep/{arm64,x64,x64h}/{{output-filename}}
|
||||
lipo -create -output packages/prep/detect-wasi packages/prep/{arm64,x64,x64h}/detect-wasi
|
||||
lipo -create -output packages/prep/detect-targets packages/prep/{arm64,x64,x64h}/detect-targets
|
||||
|
||||
./packages/prep/{{output-filename}} -vV
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue