summaryrefslogtreecommitdiff
path: root/files/alpine
diff options
context:
space:
mode:
Diffstat (limited to 'files/alpine')
-rw-r--r--files/alpine/abuild.conf16
-rwxr-xr-xfiles/alpine/amd64.sh49
2 files changed, 65 insertions, 0 deletions
diff --git a/files/alpine/abuild.conf b/files/alpine/abuild.conf
new file mode 100644
index 0000000..7846d73
--- /dev/null
+++ b/files/alpine/abuild.conf
@@ -0,0 +1,16 @@
+# vim: ft=sh
+export CFLAGS="-Os -fomit-frame-pointer"
+export CXXFLAGS="\$CFLAGS"
+export CPPFLAGS="\$CFLAGS"
+export LDFLAGS="-Wl,--as-needed"
+
+export JOBS=4
+export MAKEFLAGS=-j\$JOBS
+
+USE_COLORS=1
+
+SRCDEST=/var/cache/distfiles
+REPODEST=$HOME/packages/
+
+CLEANUP="srcdir bldroot pkgdir deps"
+ERROR_CLEANUP="bldroot deps"
diff --git a/files/alpine/amd64.sh b/files/alpine/amd64.sh
new file mode 100755
index 0000000..e1d0727
--- /dev/null
+++ b/files/alpine/amd64.sh
@@ -0,0 +1,49 @@
+#!/bin/sh
+. utils
+
+# TODO mount global alpine repository
+
+# TODO get latest uri from latest-releases.yml file
+if [ ! -d "$ROOT" ]; then
+ echo_stage "Setting up new root"
+ wget "http://dl-cdn.alpinelinux.org/alpine/edge/releases/x86_64/alpine-minirootfs-3.8.0-x86_64.tar.gz" -O alpine.tar.gz
+ # TODO verify signature
+ gunzip alpine.tar.gz
+ tar -f alpine.tar --delete ./dev/null
+ mkdir "$ROOT"
+ uroot tar -xf alpine.tar -C "$ROOT"
+ chmod 755 "$ROOT" # This is intentional, tar changes access rights
+ uchroot "$ROOT" root /bin/sh <<EOF
+ set -ex
+ apk update
+ apk add alpine-sdk lua-aports
+ adduser -s /bin/sh -D -h /build build
+ addgroup build abuild
+ mkdir -p /var/cache/distfiles
+ chgrp abuild /var/cache/distfiles
+ chmod g+w /var/cache/distfiles
+EOF
+ uchroot "$ROOT" build 'mkdir .abuild aports && echo "PACKAGER_PRIVKEY=\"/build/.abuild/cynerd@email.cz-5b8aeb6d.rsa\"" > .abuild/abuild.conf'
+ uroot cp ~/alpinelinux.rsa.key "$ROOT/build/.abuild/cynerd@email.cz-5b8aeb6d.rsa"
+ uchroot "$ROOT" root 'chown build:build "/build/.abuild/cynerd@email.cz-5b8aeb6d.rsa"'
+ uroot cp ~/alpinelinux.rsa.key.pub "$ROOT/etc/apk/keys/cynerd@email.cz-5b8aeb6d.rsa.pub"
+ uroot cp "$JOB_FILES/abuild.conf" "$ROOT/etc/abuild.conf"
+fi
+
+echo_stage "Update system"
+uchroot "$ROOT" root 'apk update && apk upgrade'
+
+echo_stage "Get packages source"
+git_clone "git@cynerd.cz:alpine-personal-pkgs" "$ROOT/pkgs"
+uchroot "$ROOT" root "rm -rf /build/aports/personal && chown -R build:build /pkgs && mv /pkgs /build/aports/personal"
+
+echo_stage "Build packages"
+uchroot "$ROOT" build buildrepo --purge personal
+
+echo_stage "Deploy"
+ssh upload rm -rf "deploy-alpine-amd64"
+scp -r "$ROOT/build/packages/personal" upload:deploy-alpine
+ssh upload /bin/sh -e <<EOF
+ rm -rf /var/www/repo/alpine
+ mv deploy-alpine /var/www/repo/alpine
+EOF