diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2016-12-15 16:14:51 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2016-12-16 09:50:00 +0000 |
commit | 99afbc0aaa18bb50949e16c2cd9d146110205769 (patch) | |
tree | 13f12b3405840784d575707d6201f3ba90948685 /scripts/genrootfs.sh | |
parent | fb36c21471581754b91298d1a03e240f9fa0d68f (diff) | |
download | aports-99afbc0aaa18bb50949e16c2cd9d146110205769.tar.bz2 aports-99afbc0aaa18bb50949e16c2cd9d146110205769.tar.xz |
scripts: add minirootfs release image
Diffstat (limited to 'scripts/genrootfs.sh')
-rwxr-xr-x | scripts/genrootfs.sh | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/scripts/genrootfs.sh b/scripts/genrootfs.sh new file mode 100755 index 0000000000..9c9df40bb1 --- /dev/null +++ b/scripts/genrootfs.sh @@ -0,0 +1,56 @@ +#!/bin/sh -e + +cleanup() { + rm -rf "$tmp" +} + +tmp="$(mktemp -d)" +trap cleanup EXIT + +arch="$(apk --print-arch)" +repositories_file=/etc/apk/repositories +keys_dir=/etc/apk/keys + +while getopts "a:r:k:o:" opt; do + case $opt in + a) arch="$OPTARG";; + r) repositories_file="$OPTARG";; + k) keys_dir="$OPTARG";; + o) outfile="$OPTARG";; + esac +done +shift $(( $OPTIND - 1)) + +cat "$repositories_file" + +if [ -z "$outfile" ]; then + outfile=$name-$arch.tar.gz +fi + +${APK:-apk} add --keys-dir "$keys_dir" \ + --repositories-file "$repositories_file" \ + --no-script --no-cache --root "$tmp" --initdb \ + "$@" +for link in $("$tmp"/bin/busybox --list-full); do + [ -e "$tmp"/$link ] || ln -s /bin/busybox "$tmp"/$link +done + +${APK:-apk} fetch --keys-dir "$keys_dir" \ + --repositories-file "$repositories_file" \ + --stdout alpine-base | tar -zx -C "$tmp" etc/ + +branch=edge +VERSION_ID=$(awk -F= '$1=="VERSION_ID" {print $2}' "$tmp"/etc/os-release) +case $VERSION_ID in +*_alpha*|*_beta*) branch=edge;; +*.*.*) branch=v${VERSION_ID%.*};; +esac + +cat > "$tmp"/etc/apk/repositories <<EOF +http://dl-cdn.alpinelinux.org/alpine/$branch/main +http://dl-cdn.alpinelinux.org/alpine/$branch/community +EOF + +#rm -rf "$tmp"/var/cache/apk/* + +tar --numeric-owner -c -C "$tmp" . | gzip -9n > "$outfile" |