summaryrefslogtreecommitdiff
path: root/files/alpine/amd64.sh
diff options
context:
space:
mode:
Diffstat (limited to 'files/alpine/amd64.sh')
-rwxr-xr-xfiles/alpine/amd64.sh49
1 files changed, 49 insertions, 0 deletions
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