Skip to content

Commit 24a10c5

Browse files
committed
Testing removal of OpenSSL vendored option
1 parent 45e581b commit 24a10c5

4 files changed

Lines changed: 17 additions & 58 deletions

File tree

Cargo.lock

Lines changed: 0 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ edition = "2021"
77
rust-version = "1.83"
88
version = "0.7.0-rc.2"
99

10-
[workspace.features]
11-
openssl-vendored = ["crates/common/openssl-vendored"]
12-
1310
[workspace.dependencies]
1411
aes = "0.8"
1512
alloy = { version = "0.12", features = [

crates/common/Cargo.toml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,3 @@ tree_hash_derive.workspace = true
4141
unicode-normalization.workspace = true
4242
url.workspace = true
4343
jsonwebtoken.workspace = true
44-
openssl = { version = "0.10", optional = true, features = ["vendored"] }
45-
46-
[features]
47-
openssl-vendored = ["openssl/vendored"]

provisioning/build.Dockerfile

Lines changed: 17 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# This will be the main build image
22
FROM --platform=${BUILDPLATFORM} lukemathwalker/cargo-chef:latest-rust-1.83 AS chef
3-
ARG TARGETOS TARGETARCH BUILDPLATFORM OPENSSL_VENDORED TARGET_CRATE
3+
ARG TARGETOS TARGETARCH BUILDPLATFORM TARGET_CRATE
44
WORKDIR /app
55

66
FROM --platform=${BUILDPLATFORM} chef AS planner
7-
ARG TARGETOS TARGETARCH BUILDPLATFORM OPENSSL_VENDORED TARGET_CRATE
7+
ARG TARGETOS TARGETARCH BUILDPLATFORM TARGET_CRATE
88
COPY . .
99
RUN cargo chef prepare --recipe-path recipe.json
1010

1111
FROM --platform=${BUILDPLATFORM} chef AS builder
12-
ARG TARGETOS TARGETARCH BUILDPLATFORM OPENSSL_VENDORED TARGET_CRATE
12+
ARG TARGETOS TARGETARCH BUILDPLATFORM TARGET_CRATE
1313
RUN test -n "$TARGET_CRATE" || (echo "TARGET_CRATE must be set to the service / binary you want to build" && false)
1414
ENV BUILD_VAR_SCRIPT=/tmp/env.sh
1515
COPY --from=planner /app/recipe.json recipe.json
@@ -18,43 +18,33 @@ COPY --from=planner /app/recipe.json recipe.json
1818
RUN if [ "$BUILDPLATFORM" = "linux/amd64" -a "$TARGETARCH" = "arm64" ]; then \
1919
# We're on x64, cross-compiling for arm64
2020
rustup target add aarch64-unknown-linux-gnu && \
21+
dpkg --add-architecture arm64 && \
2122
apt update && \
22-
apt install -y gcc-aarch64-linux-gnu && \
23+
apt install -y gcc-aarch64-linux-gnu libssl-dev:arm64 zlib1g-dev:arm64 && \
2324
echo "#!/bin/sh" > ${BUILD_VAR_SCRIPT} && \
2425
echo "export TARGET=aarch64-unknown-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
2526
echo "export TARGET_FLAG=--target=aarch64-unknown-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
2627
echo "export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=/usr/bin/aarch64-linux-gnu-gcc" >> ${BUILD_VAR_SCRIPT} && \
2728
echo "export RUSTFLAGS=\"-L /usr/aarch64-linux-gnu/lib -L $(dirname $(aarch64-linux-gnu-gcc -print-libgcc-file-name))\"" >> ${BUILD_VAR_SCRIPT} && \
28-
if [ "$OPENSSL_VENDORED" != "true" ]; then \
29-
# If we're linking to OpenSSL dynamically, we have to set it up for cross-compilation
30-
dpkg --add-architecture arm64 && \
31-
apt update && \
32-
apt install -y libssl-dev:arm64 zlib1g-dev:arm64 && \
33-
echo "export PKG_CONFIG_ALLOW_CROSS=true" >> ${BUILD_VAR_SCRIPT} && \
34-
echo "export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig" >> ${BUILD_VAR_SCRIPT} && \
35-
echo "export OPENSSL_INCLUDE_DIR=/usr/include/aarch64-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
36-
echo "export OPENSSL_LIB_DIR=/usr/lib/aarch64-linux-gnu" >> ${BUILD_VAR_SCRIPT}; \
37-
fi; \
29+
echo "export PKG_CONFIG_ALLOW_CROSS=true" >> ${BUILD_VAR_SCRIPT} && \
30+
echo "export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig" >> ${BUILD_VAR_SCRIPT} && \
31+
echo "export OPENSSL_INCLUDE_DIR=/usr/include/aarch64-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
32+
echo "export OPENSSL_LIB_DIR=/usr/lib/aarch64-linux-gnu" >> ${BUILD_VAR_SCRIPT}; \
3833
elif [ "$BUILDPLATFORM" = "linux/arm64" -a "$TARGETARCH" = "amd64" ]; then \
3934
# We're on arm64, cross-compiling for x64
4035
rustup target add x86_64-unknown-linux-gnu && \
36+
dpkg --add-architecture amd64 && \
4137
apt update && \
42-
apt install -y gcc-x86-64-linux-gnu && \
38+
apt install -y gcc-x86-64-linux-gnu libssl-dev:amd64 zlib1g-dev:amd64 && \
4339
echo "#!/bin/sh" > ${BUILD_VAR_SCRIPT} && \
4440
echo "export TARGET=x86_64-unknown-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
4541
echo "export TARGET_FLAG=--target=x86_64-unknown-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
4642
echo "export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=/usr/bin/x86_64-linux-gnu-gcc" >> ${BUILD_VAR_SCRIPT} && \
4743
echo "export RUSTFLAGS=\"-L /usr/x86_64-linux-gnu/lib -L $(dirname $(x86_64-linux-gnu-gcc -print-libgcc-file-name))\"" >> ${BUILD_VAR_SCRIPT} && \
48-
if [ "$OPENSSL_VENDORED" != "true" ]; then \
49-
# If we're linking to OpenSSL dynamically, we have to set it up for cross-compilation
50-
dpkg --add-architecture amd64 && \
51-
apt update && \
52-
apt install -y libssl-dev:amd64 zlib1g-dev:amd64 && \
53-
echo "export PKG_CONFIG_ALLOW_CROSS=true" >> ${BUILD_VAR_SCRIPT} && \
54-
echo "export PKG_CONFIG_LIBDIR=/usr/lib/x86_64-linux-gnu/pkgconfig" >> ${BUILD_VAR_SCRIPT} && \
55-
echo "export OPENSSL_INCLUDE_DIR=/usr/include/x86_64-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
56-
echo "export OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu" >> ${BUILD_VAR_SCRIPT}; \
57-
fi; \
44+
echo "export PKG_CONFIG_ALLOW_CROSS=true" >> ${BUILD_VAR_SCRIPT} && \
45+
echo "export PKG_CONFIG_LIBDIR=/usr/lib/x86_64-linux-gnu/pkgconfig" >> ${BUILD_VAR_SCRIPT} && \
46+
echo "export OPENSSL_INCLUDE_DIR=/usr/include/x86_64-linux-gnu" >> ${BUILD_VAR_SCRIPT} && \
47+
echo "export OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu" >> ${BUILD_VAR_SCRIPT}; \
5848
fi
5949

6050
# Run cook to prep the build
@@ -64,14 +54,8 @@ RUN if [ -f ${BUILD_VAR_SCRIPT} ]; then \
6454
else \
6555
echo "No cross-compilation needed"; \
6656
fi && \
67-
if [ "$OPENSSL_VENDORED" = "true" ]; then \
68-
echo "Using vendored OpenSSL" && \
69-
FEATURE_OPENSSL_VENDORED='--features openssl-vendored'; \
70-
else \
71-
echo "Using system OpenSSL"; \
72-
fi && \
7357
export GIT_HASH=$(git rev-parse HEAD) && \
74-
cargo chef cook ${TARGET_FLAG} --release --recipe-path recipe.json ${FEATURE_OPENSSL_VENDORED}
58+
cargo chef cook ${TARGET_FLAG} --release --recipe-path recipe.json
7559

7660
# Get the latest Protoc since the one in the Debian repo is incredibly old
7761
COPY provisioning/protoc.sh provisioning/protoc.sh
@@ -88,14 +72,8 @@ RUN if [ -f ${BUILD_VAR_SCRIPT} ]; then \
8872
else \
8973
echo "No cross-compilation needed"; \
9074
fi && \
91-
if [ "$OPENSSL_VENDORED" = "true" ]; then \
92-
echo "Using vendored OpenSSL" && \
93-
FEATURE_OPENSSL_VENDORED='--features openssl-vendored'; \
94-
else \
95-
echo "Using system OpenSSL"; \
96-
fi && \
9775
export GIT_HASH=$(git rev-parse HEAD) && \
98-
cargo build ${TARGET_FLAG} --release --bin ${TARGET_CRATE} ${FEATURE_OPENSSL_VENDORED} && \
76+
cargo build ${TARGET_FLAG} --release --bin ${TARGET_CRATE} && \
9977
if [ ! -z "$TARGET" ]; then \
10078
# If we're cross-compiling, we need to move the binary out of the target dir
10179
mv target/${TARGET}/release/${TARGET_CRATE} target/release/${TARGET_CRATE}; \

0 commit comments

Comments
 (0)