Loading .gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ build: script: - docker build . --tag=${REPO} --target=scripts --build-arg BUILDKIT_INLINE_CACHE=1 $(cache_arg) - docker push ${REPO} Loading .pre-commit-config.yaml +0 −5 Original line number Diff line number Diff line Loading @@ -25,11 +25,6 @@ repos: exclude_types: [markdown, plain-text] stages: [commit, manual] - repo: https://github.com/pryorda/dockerfilelint-precommit-hooks rev: v0.1.0 hooks: - id: dockerfilelint - repo: https://github.com/jorisroovers/gitlint rev: v0.15.0 hooks: Loading Dockerfile +51 −5 Original line number Diff line number Diff line # syntax = docker/dockerfile:1.0-experimental # syntax = docker/dockerfile:1.3-labs FROM debian:buster-slim as collect FROM debian:bullseye-slim as stage-scripts COPY LICENCE.txt /stage/LICENCE.txt COPY bootstrap-stage.bash /stage/scripts/bootstrap-stage COPY collect-binaries.bash /stage/scripts/collect-binaries Loading @@ -9,7 +9,53 @@ COPY stage-useradd.bash /stage/scripts/stage-useradd COPY translate-platform.bash /stage/scripts/translate-platform RUN /stage/scripts/collect-binaries /bin/bash FROM scratch ENV PATH=/scripts:/bin COPY --from=collect /stage / FROM debian:bullseye-slim as stage-additional COPY --from=stage-scripts /stage/scripts/collect-binaries /bin/collect-binaries RUN apt update && apt install -y bash-builtins SHELL ["/bin/bash", "-ceu"] RUN <<-END_SCRIPT /bin/collect-binaries \ /usr/lib/bash/dirname \ /usr/lib/bash/mkdir \ /usr/lib/bash/mktemp \ /usr/lib/bash/rm tee >>/stage/bash.env <<-END_FILE enable -f /usr/lib/bash/dirname dirname enable -f /usr/lib/bash/mkdir mkdir enable -f /usr/lib/bash/mktemp mktemp enable -f /usr/lib/bash/rm rm mkdir -p /tmp END_FILE END_SCRIPT RUN <<-END_SCRIPT /bin/collect-binaries \ /bin/cat \ /bin/date \ /bin/grep \ /bin/sed \ /bin/uname \ /usr/bin/arch \ /usr/bin/expr END_SCRIPT ADD https://git.savannah.gnu.org/cgit/config.git/plain/config.guess /stage/scripts/config.guess ADD https://git.savannah.gnu.org/cgit/config.git/plain/config.sub /stage/scripts/config.sub RUN chmod +x /stage/scripts/config.* # Main image: contains only scripts and bash, so only basic behaviour is # available, mostly just for viewing --help output and for fetching scripts into # other images. FROM scratch as scripts ENV PATH=/scripts:/bin:/usr/bin COPY --from=stage-scripts /stage / ENTRYPOINT ["/bin/bash"] # Working image: contains needed cmdline tools for running translate-platform FROM scripts as additional ENV BASH_ENV=/bash.env \ CONFIG_GUESS=/scripts/config.guess \ CONFIG_SUB=/scripts/config.sub COPY --from=stage-additional /stage / Loading
.gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ build: script: - docker build . --tag=${REPO} --target=scripts --build-arg BUILDKIT_INLINE_CACHE=1 $(cache_arg) - docker push ${REPO} Loading
.pre-commit-config.yaml +0 −5 Original line number Diff line number Diff line Loading @@ -25,11 +25,6 @@ repos: exclude_types: [markdown, plain-text] stages: [commit, manual] - repo: https://github.com/pryorda/dockerfilelint-precommit-hooks rev: v0.1.0 hooks: - id: dockerfilelint - repo: https://github.com/jorisroovers/gitlint rev: v0.15.0 hooks: Loading
Dockerfile +51 −5 Original line number Diff line number Diff line # syntax = docker/dockerfile:1.0-experimental # syntax = docker/dockerfile:1.3-labs FROM debian:buster-slim as collect FROM debian:bullseye-slim as stage-scripts COPY LICENCE.txt /stage/LICENCE.txt COPY bootstrap-stage.bash /stage/scripts/bootstrap-stage COPY collect-binaries.bash /stage/scripts/collect-binaries Loading @@ -9,7 +9,53 @@ COPY stage-useradd.bash /stage/scripts/stage-useradd COPY translate-platform.bash /stage/scripts/translate-platform RUN /stage/scripts/collect-binaries /bin/bash FROM scratch ENV PATH=/scripts:/bin COPY --from=collect /stage / FROM debian:bullseye-slim as stage-additional COPY --from=stage-scripts /stage/scripts/collect-binaries /bin/collect-binaries RUN apt update && apt install -y bash-builtins SHELL ["/bin/bash", "-ceu"] RUN <<-END_SCRIPT /bin/collect-binaries \ /usr/lib/bash/dirname \ /usr/lib/bash/mkdir \ /usr/lib/bash/mktemp \ /usr/lib/bash/rm tee >>/stage/bash.env <<-END_FILE enable -f /usr/lib/bash/dirname dirname enable -f /usr/lib/bash/mkdir mkdir enable -f /usr/lib/bash/mktemp mktemp enable -f /usr/lib/bash/rm rm mkdir -p /tmp END_FILE END_SCRIPT RUN <<-END_SCRIPT /bin/collect-binaries \ /bin/cat \ /bin/date \ /bin/grep \ /bin/sed \ /bin/uname \ /usr/bin/arch \ /usr/bin/expr END_SCRIPT ADD https://git.savannah.gnu.org/cgit/config.git/plain/config.guess /stage/scripts/config.guess ADD https://git.savannah.gnu.org/cgit/config.git/plain/config.sub /stage/scripts/config.sub RUN chmod +x /stage/scripts/config.* # Main image: contains only scripts and bash, so only basic behaviour is # available, mostly just for viewing --help output and for fetching scripts into # other images. FROM scratch as scripts ENV PATH=/scripts:/bin:/usr/bin COPY --from=stage-scripts /stage / ENTRYPOINT ["/bin/bash"] # Working image: contains needed cmdline tools for running translate-platform FROM scripts as additional ENV BASH_ENV=/bash.env \ CONFIG_GUESS=/scripts/config.guess \ CONFIG_SUB=/scripts/config.sub COPY --from=stage-additional /stage /