3 [ "$(id | awk '{print $1}')" != 'uid=0(root)' ] &&
4 exec sudo "$0" "$(id -u $(whoami))" "$@"
5 [ "z$1" = z ] && return 1
6 mirror=https://dl-cdn.alpinelinux.org/alpine/edge
7 arch="${ABCHR_ARCH:-x86_64}"
9 apk="apk-tools-static-$(apk info apk-tools-static |
10 awk '{if (NR==1) {print substr($1,18)}}').apk"
11 dir="$(dirname "$0")/../alpine"
12 tmp="$(dirname "$0")/../tmp"
14 wget -P "$tmp" "$mirror/main/$arch/$apk"
15 tar -xvzf "$tmp/$apk" -C "$tmp"
16 "$tmp/sbin/apk.static" -UX "$mirror/main" -X "$mirror/community" \
17 --allow-untrusted -p "$dir" --initdb \
18 add busybox busybox-suid libc-utils sudo \
19 alpine-baselayout alpine-conf alpine-release apk-tools \
20 alpine-sdk alpine-repo-tools atools lua-aports
22 cp -Ln /etc/apk/keys/* "$dir/etc/apk/keys"
23 cp -f /etc/apk/repositories "$dir/etc/apk/repositories"
24 printf -- > "$dir/etc/sudoers.d/abuild" 'abuild ALL=(ALL) NOPASSWD: ALL'
25 printf -- >> "$dir/etc/apk/repositories" \
26 '/home/abuild/packages/%s\n' main community testing
27 chroot "$dir" /bin/sh -c "adduser -DGabuild -u$1 abuild"