|
| 1 | +ARG BUILDARCH |
1 | 2 | FROM rust:1.87-slim AS builder |
2 | 3 |
|
3 | 4 | ADD https://github.com/sched-ext/scx.git /scx |
@@ -30,21 +31,22 @@ RUN rustup component add rustfmt |
30 | 31 |
|
31 | 32 | RUN cargo build --release -p scx_rustland |
32 | 33 |
|
33 | | -FROM gcr.io/distroless/cc |
| 34 | +FROM alpine AS libs-amd64 |
| 35 | +COPY --from=builder /usr/lib/x86_64-linux-gnu/libelf.so.1 /usr/lib/libelf.so.1 |
| 36 | +COPY --from=builder /usr/lib/x86_64-linux-gnu/libz.so.1 /usr/lib/libz.so.1 |
| 37 | +COPY --from=builder /usr/lib/x86_64-linux-gnu/libseccomp.so.2 /usr/lib/libseccomp.so.2 |
34 | 38 |
|
35 | | -ARG TARGETPLATFORM |
| 39 | +FROM alpine AS libs-arm64 |
| 40 | +COPY --from=builder /usr/lib/aarch64-linux-gnu/libelf.so.1 /usr/lib/libelf.so.1 |
| 41 | +COPY --from=builder /usr/lib/aarch64-linux-gnu/libz.so.1 /usr/lib/libz.so.1 |
| 42 | +COPY --from=builder /usr/lib/aarch64-linux-gnu/libseccomp.so.2 /usr/lib/libseccomp.so.2 |
36 | 43 |
|
37 | | -RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ |
38 | | - echo "Setting $COPY_LIBS_DIR to aarch64-linux-gnu" && \ |
39 | | - export COPY_LIBS_DIR="aarch64-linux-gnu"; \ |
40 | | - else \ |
41 | | - echo "Setting default COPY_LIBS_DIR x86_64-linux-gnu" && \ |
42 | | - export COPY_LIBS_DIR="x86_64-linux-gnu"; \ |
43 | | - fi |
| 44 | +FROM libs-${BUILDARCH} AS libs |
44 | 45 |
|
| 46 | +FROM gcr.io/distroless/cc |
45 | 47 | COPY --from=builder /scx/target/release/scx_rustland /scx_rustland |
46 | | -COPY --from=builder /usr/lib/$COPY_LIBS_DIR/libelf.so.1 /usr/lib/libelf.so.1 |
47 | | -COPY --from=builder /usr/lib/$COPY_LIBS_DIR/libz.so.1 /usr/lib/libz.so.1 |
48 | | -COPY --from=builder /usr/lib/$COPY_LIBS_DIR/libseccomp.so.2 /usr/lib/libseccomp.so.2 |
| 48 | +COPY --from=libs /usr/lib/libelf.so.1 /usr/lib/libelf.so.1 |
| 49 | +COPY --from=libs /usr/lib/libz.so.1 /usr/lib/libz.so.1 |
| 50 | +COPY --from=libs /usr/lib/libseccomp.so.2 /usr/lib/libseccomp.so.2 |
49 | 51 |
|
50 | 52 | CMD ["/scx_rustland"] |
0 commit comments