39 lines
1.2 KiB
Docker
39 lines
1.2 KiB
Docker
#syntax=docker/dockerfile:1
|
|
|
|
##
|
|
## Build
|
|
##
|
|
FROM rust:1-slim AS build
|
|
LABEL org.opencontainers.image.authors="Sangbum Kim <sangbumkim@amuz.es>"
|
|
|
|
# set the workdir and copy the source into it
|
|
WORKDIR /app
|
|
COPY . /app
|
|
|
|
# ENV RUSTFLAGS='-C link-arg=-s -C linker=rust-lld -C link-arg=-fuse-ld=lld'
|
|
# ENV RUSTFLAGS='-C link-arg=-s -C link-arg=-fuse-ld=lld'
|
|
# ENV RUSTFLAGS='-C target-feature=+crt-static -C link-arg=-s -C link-args=-nostartfiles -C link-arg=-nostdlib'
|
|
# ENV RUSTFLAGS='-C target-feature=+crt-static -C link-arg=-s'
|
|
# ENV RUSTFLAGS='-C target-feature=+crt-static -C link-arg=-s'
|
|
# ENV RUSTFLAGS='-C target-feature=+crt-static -C link-arg=-static -C link-arg=-s'
|
|
# ENV RUSTFLAGS='-C target-feature=+crt-static -C link-arg=-static -C link-arg=-s -C link-arg=-fuse-ld=lld'
|
|
ENV RUSTFLAGS='-C target-feature=+crt-static -C link-arg=-s -C link-arg=-fuse-ld=lld'
|
|
|
|
# do a release build
|
|
RUN set -x && \
|
|
apt update && \
|
|
apt install -y \
|
|
# libcap2 \
|
|
lld \
|
|
libcap-dev \
|
|
&&\
|
|
cargo build --release && \
|
|
ldd target/release/rsetcap
|
|
|
|
RUN --mount=type=bind,rw,source=.,target=/host \
|
|
cp -avf target/release/rsetcap /host/rsetcap
|
|
|
|
|
|
# FROM scratch
|
|
# COPY --from=build /build/build/setcap-static /setcap-static
|