From 22accf3f20f45a72afbe69a774e92ee905525489 Mon Sep 17 00:00:00 2001 From: fbt Date: Sat, 27 Feb 2021 02:50:00 +0300 Subject: [PATCH] docker stuff Signed-off-by: fbt --- Dockerfile | 2 ++ build | 17 +++++++++++++++++ makepkg-docker | 29 +++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 Dockerfile create mode 100755 build create mode 100755 makepkg-docker diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5f152f2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +FROM spark.builder +COPY ./build /build diff --git a/build b/build new file mode 100755 index 0000000..1bb9f48 --- /dev/null +++ b/build @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# The builder user is already created in the rootfs + +export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin +export LC_ALL=en_US.UTF-8 +export PKG_URL=$1 + +# Upgrade +pacman -Suy --noconfirm + +# Workdir +chown builder:builder /buildroot +cd /buildroot + +# Build the damn thing +sudo -u builder git clone "$PKG_URL" . +sudo -u builder makepkg -s --noconfirm -L diff --git a/makepkg-docker b/makepkg-docker new file mode 100755 index 0000000..6e1bfce --- /dev/null +++ b/makepkg-docker @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +shopt -s nullglob + +did="pkg-build-$$.$SRANDOM" + +pkg_dest=$1 +pkg_url=$2 + +cd /home/docker/dockerfiles/builder +docker build -t "$did" --build-arg --force-rm . +docker run --rm -v "/tmp/$did:/buildroot" "$did:latest" /build "$pkg_url" + +artifacts=( "/tmp/$did/"*.pkg.* ) +for i in "${artifacts[@]}"; do + i_name="${i##*/}" + + printf 'Found artifact: %s\n' "$i_name" + + if [[ -f "$pkg_dest/$i_name" ]]; then + printf '%s/%s already exists, not overwriting.\n' "$pkg_dest" "$i_name" + else + printf 'Copying %s to %s.\n' "$i_name" "$pkg_dest" + cp -vn "$i" "$pkg_dest" + fi +done + +# cleanup +docker rmi "$did" +rm -rf "/tmp/$did"