From 8f749e7521750f231c675becd64a511668ddb8a0 Mon Sep 17 00:00:00 2001 From: rami3l Date: Fri, 26 Apr 2024 20:09:20 +0800 Subject: [PATCH 1/4] ci(linux-gnu): install `perl-IPC-Cmd` to make OpenSSL v3 happy --- ci/docker/i686-unknown-linux-gnu/Dockerfile | 5 +++++ ci/docker/x86_64-unknown-linux-gnu/Dockerfile | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/ci/docker/i686-unknown-linux-gnu/Dockerfile b/ci/docker/i686-unknown-linux-gnu/Dockerfile index b183f532bd..f4461b5d3e 100644 --- a/ci/docker/i686-unknown-linux-gnu/Dockerfile +++ b/ci/docker/i686-unknown-linux-gnu/Dockerfile @@ -1 +1,6 @@ FROM rust-i686-unknown-linux-gnu + + # Install `perl-IPC-Cmd` to make OpenSSL v3 happy. + # See: + RUN yum upgrade -y && \ + yum install -y perl-IPC-Cmd diff --git a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile index 6b7d2e730a..180179730f 100644 --- a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile @@ -1 +1,6 @@ FROM rust-x86_64-unknown-linux-gnu + + # Install `perl-IPC-Cmd` to make OpenSSL v3 happy. + # See: + RUN yum upgrade -y && \ + yum install -y perl-IPC-Cmd From 7b0c97bc04e5d43a9c6f05db593a79fea452f042 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 11:58:53 +0000 Subject: [PATCH 2/4] fix(deps): update rust crate openssl-src to v300 Co-authored-by: rami3l --- Cargo.lock | 14 ++++++-------- Cargo.toml | 6 +----- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b636412375..7583c0be55 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1340,9 +1340,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.57" +version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ "bitflags 2.5.0", "cfg-if 1.0.0", @@ -1372,18 +1372,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.28.1+1.1.1w" +version = "300.2.3+3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bf7e82ffd6d3d6e6524216a0bfd85509f68b5b28354e8e7800057e44cefa9b4" +checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.92" +version = "0.9.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db7e971c2c2bba161b2d2fdf37080177eff520b3bc044787c7f1f5f9e78d869b" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" dependencies = [ "cc", "libc", @@ -1932,8 +1932,6 @@ dependencies = [ "once_cell", "opener", "openssl", - "openssl-src", - "openssl-sys", "opentelemetry", "opentelemetry-otlp", "opentelemetry_sdk", diff --git a/Cargo.toml b/Cargo.toml index 5807cc17a8..ad16810562 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,11 +63,7 @@ once_cell.workspace = true opener = "0.7.0" # `openssl` is used by `curl` or `reqwest` backend although it isn't imported by rustup: this # allows controlling the vendoring status without exposing the presence of the download crate. -# HACK: We temporarily pin the OpenSSL version due to build issues encountered in -# https://github.com/rust-lang/rustup/pull/3668. -openssl = { version = "=0.10.57", optional = true } -openssl-src = { version = "=111.28.1", optional = true } -openssl-sys = { version = "=0.9.92", optional = true } +openssl = { version = "0.10", optional = true } opentelemetry = { workspace = true, optional = true } opentelemetry_sdk = { workspace = true, optional = true } opentelemetry-otlp = { workspace = true, optional = true } From ed65b3dea4290ef35a027356775769b1e06f7956 Mon Sep 17 00:00:00 2001 From: rami3l Date: Fri, 26 Apr 2024 20:25:57 +0800 Subject: [PATCH 3/4] ci(android): update NDK version --- ci/docker/android/Dockerfile | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/ci/docker/android/Dockerfile b/ci/docker/android/Dockerfile index f3bfab6c5d..7c27f44ba2 100644 --- a/ci/docker/android/Dockerfile +++ b/ci/docker/android/Dockerfile @@ -11,18 +11,18 @@ ENV PATH=$PATH:/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin \ RANLIB_aarch64_linux_android=llvm-ranlib \ RANLIB_i686_linux_android=llvm-ranlib \ RANLIB_x86_64_linux_android=llvm-ranlib \ - CC_arm_linux_androideabi=armv7a-linux-androideabi21-clang \ - CC_armv7_linux_androideabi=armv7a-linux-androideabi21-clang \ - CC_aarch64_linux_android=aarch64-linux-android21-clang \ - CC_i686_linux_android=i686-linux-android21-clang \ - CC_x86_64_linux_android=x86_64-linux-android21-clang \ - CXX_arm_linux_androideabi=armv7a-linux-androideabi21-clang++ \ - CXX_armv7_linux_androideabi=armv7a-linux-androideabi21-clang++ \ - CXX_aarch64_linux_android=aarch64-linux-android21-clang++ \ - CXX_i686_linux_android=i686-linux-android21-clang++ \ - CXX_x86_64_linux_android=x86_64-linux-android21-clang++ \ - CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi21-clang \ - CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi21-clang \ - CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android21-clang \ - CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android21-clang \ - CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android21-clang + CC_arm_linux_androideabi=armv7a-linux-androideabi23-clang \ + CC_armv7_linux_androideabi=armv7a-linux-androideabi23-clang \ + CC_aarch64_linux_android=aarch64-linux-android23-clang \ + CC_i686_linux_android=i686-linux-android23-clang \ + CC_x86_64_linux_android=x86_64-linux-android23-clang \ + CXX_arm_linux_androideabi=armv7a-linux-androideabi23-clang++ \ + CXX_armv7_linux_androideabi=armv7a-linux-androideabi23-clang++ \ + CXX_aarch64_linux_android=aarch64-linux-android23-clang++ \ + CXX_i686_linux_android=i686-linux-android23-clang++ \ + CXX_x86_64_linux_android=x86_64-linux-android23-clang++ \ + CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi23-clang \ + CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=armv7a-linux-androideabi23-clang \ + CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android23-clang \ + CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android23-clang \ + CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android23-clang From 50db01b96a5df0a531eb06f09483e483a655dfd9 Mon Sep 17 00:00:00 2001 From: rami3l Date: Sat, 27 Apr 2024 17:11:49 +0800 Subject: [PATCH 4/4] ci: don't build for `i686-linux-android` due to OpenSSL v3 atomic issues --- .github/workflows/ci.yaml | 1 - ci/actions-templates/linux-builds-template.yaml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0caa78b1b2..6cba1ff142 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -766,7 +766,6 @@ jobs: - s390x-unknown-linux-gnu # skip-pr skip-master - arm-linux-androideabi # skip-pr skip-master - armv7-linux-androideabi # skip-pr skip-master - - i686-linux-android # skip-pr skip-master - x86_64-linux-android # skip-pr skip-master - riscv64gc-unknown-linux-gnu # skip-pr skip-master - loongarch64-unknown-linux-gnu # skip-pr skip-master diff --git a/ci/actions-templates/linux-builds-template.yaml b/ci/actions-templates/linux-builds-template.yaml index b208d27053..561dcaa273 100644 --- a/ci/actions-templates/linux-builds-template.yaml +++ b/ci/actions-templates/linux-builds-template.yaml @@ -34,7 +34,6 @@ jobs: # skip-master skip-pr skip-stable - s390x-unknown-linux-gnu # skip-pr skip-master - arm-linux-androideabi # skip-pr skip-master - armv7-linux-androideabi # skip-pr skip-master - - i686-linux-android # skip-pr skip-master - x86_64-linux-android # skip-pr skip-master - riscv64gc-unknown-linux-gnu # skip-pr skip-master - loongarch64-unknown-linux-gnu # skip-pr skip-master