summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <erich.eckner.ext@bestsecret.com>2024-08-07 06:46:51 +0200
committerErich Eckner <erich.eckner.ext@bestsecret.com>2024-08-07 06:46:51 +0200
commite4de321c6e96eaa24639ed05befcea62dc3b3182 (patch)
tree0b59a94c5d752f818f7a5da25259cedd4d57507e
downloadarch32-slave-e4de321c6e96eaa24639ed05befcea62dc3b3182.tar.xz
initial commit
-rwxr-xr-xbuild-image22
-rw-r--r--slave.Dockerfile22
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