summaryrefslogtreecommitdiff
path: root/files/alpine/amd64.sh
blob: e80cc5c15b872a46dca2eca3d3338730cbe5abab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
. utils

# TODO mount global distfiles cache

# 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
scp "$FILES"/alpine/setup.sh{,.gpg} upload:/var/www/repo/alpine/