summaryrefslogtreecommitdiff
path: root/jobs/alpine-amd64.sh
blob: b737ed3a01745f72739798ca56310b9641e018ea (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/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 cat >"$ROOT/etc/abuild.conf" <<EOF
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"
EOF
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