rvaiya-keyd
SUCCESS
4m 26s
History Source
SummaryIterations1Transcript4Dockerfile
01Iteration 1
WRITEWriteFile· step #1
0s
Dockerfile578 bytes written
text29 lines · 578 chars
FROM ubuntu:22.04 AS builder

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
    build-essential pkg-config libevdev-dev libudev-dev ca-certificates \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /src
COPY . .

RUN make -j"$(nproc)"
RUN make install

FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
    libevdev2 libudev1 \
 && rm -rf /var/lib/apt/lists/*

COPY --from=builder /usr/local /usr/local

ENTRYPOINT ["/usr/local/bin/keyd"]
CMD ["-f"]
VERIFYVerifyBuild· step #2
1m 43s
VerifyBuildsmoke_failed
Smoke [PASS]: test -x /usr/local/bin/keyd
Smoke [PASS]: /usr/local/bin/keyd -h
Smoke [FAIL]: ldd /usr/local/bin/keyd | grep -q -E 'libevdev|libudev
  Output: sh: 1: Syntax error: Unterminated quoted string
WRITEWriteFile· step #3
0s
Dockerfile569 bytes written
text29 lines · 569 chars
FROM ubuntu:22.04 AS builder

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
    build-essential pkg-config libevdev-dev libudev-dev ca-certificates \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /src
COPY . .

RUN make -j4
RUN make install

FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
 && apt-get install -y --no-install-recommends \
    libevdev2 libudev1 \
 && rm -rf /var/lib/apt/lists/*

COPY --from=builder /usr/local /usr/local

ENTRYPOINT ["/usr/local/bin/keyd"]
CMD ["-f"]
VERIFYVerifyBuild· step #4
36s
VerifyBuildaccepted
Concerns: Final image relies on make install placing binaries into /usr/local; if the project changes its install prefix, the COPY --from=builder /usr/local /usr/local may miss the executable., Runtime dependencies are limited to libevdev2 and libudev1; if the application needs additional libraries at runtime, the container may fail to run., Using ubuntu:22.04 without pinning a digest could affect reproducibility in the future; consider pinning to a specific image digest for stability.
Smoke [PASS]: test -x /usr/local/bin/keyd
Smoke [PASS]: test -x /usr/local/bin/keyd && /usr/local/bin/keyd -h >/dev/null 2>&1
Smoke [PASS]: strings /usr/local/bin/keyd | head -n 1