diff options
-rwxr-xr-x | build-image | 22 | ||||
-rw-r--r-- | slave.Dockerfile | 22 |
2 files changed, 44 insertions, 0 deletions
diff --git a/build-image b/build-image new file mode 100755 index 0000000..d3a2af0 --- /dev/null +++ b/build-image @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ "x$1" = 'x--pull' ]; then + shift + git pull --ff-only +fi + +key_id='5FDCA472AB93292BC678FD59255A76DB9A12601A' + +pkill keyboxd +gpg --recv-keys ${key_id} +gpg -a --export-secret-keys ${key_id} > keys + +for i in {1..5}; do + printf 'Server = http://pkgcache.eckner.net/arch/$arch/$repo\n' +done >mirrorlist + +docker buildx build "$@" -f slave.Dockerfile -t arch32-slave . || exit $? + +rm keys +rm mirrorlist + diff --git a/slave.Dockerfile b/slave.Dockerfile new file mode 100644 index 0000000..f0182d3 --- /dev/null +++ b/slave.Dockerfile @@ -0,0 +1,22 @@ +FROM archlinux:base-devel + +WORKDIR /builder/ + +RUN pacman-key --init +RUN curl -Ss https://arch.eckner.net/README | sed 's@^Server = https:.*$@Include = /etc/pacman.d/mirrorlist \\@' | bash +COPY mirrorlist /etc/pacman.d/ +RUN pacman -Syu --noconfirm git +RUN sed -i ' \ + /PACKAGER/ s/.*/PACKAGER="Erich Eckner <arch at eckner dot net>"/; \ + /^OPTIONS/ s/ debug/ !debug/ \ +' /etc/makepkg.conf + +RUN useradd -m builder +RUN git clone https://git.archlinux32.org/builder/ /builder +RUN mkdir /builder/work + +RUN chown builder:builder /builder/work + +USER builder + +CMD /builder/bin/build-packages |