=== modified file 'default.alpine-base.do' --- default.alpine-base.do 2017-11-30 20:04:07 +0000 +++ default.alpine-base.do 2017-11-30 18:31:32 +0000 @@ -9,22 +9,28 @@ local -a apk_args apk_args=( ) - depend alpine-repo-init \ - \?release \?repositories \?alpine_mirror \ - %build_dir=source_dir - clone-build-dir $vars[source_dir] - - hash-build-dir + fresh-build-dir + + mkdir -p $vars[build_dir]/etc/apk || die "failed to set up apk" + + for repo in $=vars[repositories]; do + # Fetch APKINDEX files to see if they changed + depend download-file %filename url=$vars[alpine_mirror]/$vars[release]/$repo/$vars[arch]/APKINDEX.tar.gz + # unset "vars[filename]" + print -rl - $vars[alpine_mirror]/$vars[release]/$repo >> $vars[build_dir]/etc/apk/repositories || die "failed to set up apk" + done + exit-if-unchanged apk_args+=( + --update-cache --root $vars[build_dir] --arch $vars[arch] + --keys-dir /etc/apk/keys/ + --initdb add alpine-base ) apk.static $apk_args || die "alpine init failed" - - hash-build-dir } . ./common.zsh # vim: fileencoding=utf8 ft=zsh noet sw=4 ts=4 sts=4 === removed file 'default.alpine-repo-init.do' --- default.alpine-repo-init.do 2017-11-30 20:04:07 +0000 +++ default.alpine-repo-init.do 1970-01-01 00:00:00 +0000 @@ -1,36 +0,0 @@ -#!/bin/zsh -main() { - checkvars arch - defvar release edge - defvar repositories main - defvar alpine_mirror http://dl-3.alpinelinux.org/alpine - - local repo - local -a apk_args - apk_args=( ) - - fresh-build-dir - - mkdir -p $vars[build_dir]/etc/apk || die "failed to set up apk" - - for repo in $=vars[repositories]; do - # Fetch APKINDEX files to see if they changed - depend download-file %filename url=$vars[alpine_mirror]/$vars[release]/$repo/$vars[arch]/APKINDEX.tar.gz - # unset "vars[filename]" - print -rl - $vars[alpine_mirror]/$vars[release]/$repo >> $vars[build_dir]/etc/apk/repositories || die "failed to set up apk" - done - - apk_args+=( - --update-cache - --root $vars[build_dir] - --arch $vars[arch] - --keys-dir /etc/apk/keys/ - --initdb - add alpine-keys - ) - apk.static $apk_args || die "alpine init failed" - hash-build-files -} -. ./common.zsh -# vim: fileencoding=utf8 ft=zsh noet sw=4 ts=4 sts=4 - === removed file 'functions/clone-build-dir' --- functions/clone-build-dir 2017-11-30 20:04:07 +0000 +++ functions/clone-build-dir 1970-01-01 00:00:00 +0000 @@ -1,30 +0,0 @@ -if ! (($+vars[build_dir])); then - vars[build_dir]=$DO:h/work/$BASE -fi -if ! (($+vars[changes_dir])); then - vars[changes_dir]=$DO:h/work/$BASE.changes -fi -if ! (($+vars[work_dir])); then - vars[work_dir]=$DO:h/work/$BASE.work -fi -while grep -q "^overlay ${vars[build_dir]:A} overlay" /proc/mounts; do - umount ${vars[build_dir]:A} || die "Failed to umount ${(qqq)vars[build_dir]}" -done -if [[ -e $vars[build_dir] ]]; then - rm -rf $vars[changes_dir] vars[work_dir] \ - || die "Failed to clean work directories" -fi -mkdir -p $vars[changes_dir] vars[work_dir] $vars[build_dir] \ - || die "Failed to create work directories" - -local -a mount_opts -mount_opts=( - lowerdir=${1//=/\\=} - upperdir=${vars[changes_dir]//=/\\=} - workdir=${vars[work_dir]//=/\\=} -) -mount -t overlay overlay -o ${(j:,:)mount_opts} ${vars[build_dir]:A} \ - || die "Failed to mount ${(qqq)vars[build_dir]}" -grep -q "^overlay ${vars[build_dir]:A} overlay" /proc/mounts \ - || die "Not visible as mounted: ${(qqq)vars[build_dir]}" -# vim: fileencoding=utf8 ft=zsh noet sw=4 ts=4 sts=4