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
|