# Inspiration: # * https://github.com/ungoogled-software/ungoogled-chromium-archlinux/blob/master/.github/workflows/build/Dockerfile # * https://github.com/WhyNotHugo/docker-makepkg/blob/main/Dockerfile FROM archlinux:base-devel # 1. Add de-p1st mirror # 2. Enable parallel downloads # TODO: Wait until next baseimage update # && sed --in-place 's|^#ParallelDownloads\s*=.*$|ParallelDownloads = 4|' /etc/pacman.conf \ # 3. Update mirrors + packages RUN printf '\n[de-p1st]\nSigLevel = Optional TrustAll\nServer = https://arch.p1st.de\n' >> /etc/pacman.conf && \ pacman -Syu --noconfirm # 1. Set packager # 2. Store built packages in /out/ RUN sed --in-place 's|^#PACKAGER=.*$|PACKAGER="Daniel Langbein "|' /etc/makepkg.conf && \ sed --in-place 's|^#PKGDEST=.*$|PKGDEST=/out|' /etc/makepkg.conf # Create a normal user to be used by makepkg RUN useradd --create-home build RUN echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # Create output directory RUN mkdir -p /out # Continue execution (and CMD) as notroot: USER build WORKDIR /home/build # Auto-fetch GPG keys (to check signatures): RUN install -dm0700 .gnupg && \ install -m0600 <(printf "keyserver-options auto-key-retrieve\nkeyserver hkp://keyserver.ubuntu.com\n") .gnupg/gpg.conf # # GnuPG key import from keys.opengpg.org does not work for all keys, see # https://keys.openpgp.org/about/usage#gnupg-troubleshooting # https://superuser.com/a/1485255 # It seems as if thos won't be fixed: # https://dev.gnupg.org/T4393 # Thus we use the ubuntu keyserver instead. COPY run.sh /home/build/run.sh ENTRYPOINT [ "/bin/bash", "/home/build/run.sh" ] # Default arguments passed to /run.sh # CMD [ "de-p1st-font" ]