diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-02-22 09:03:13 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-02-22 09:03:13 +0000 |
commit | d0e15dd5b60e76e30f42f0f9061fcce9f5a6d5a3 (patch) | |
tree | 38c75151493ff1a17ae383c945f7849eafd0b78d | |
parent | 447974ea29d5e22f982fd4621e50760e7186277a (diff) | |
download | abuild-d0e15dd5b60e76e30f42f0f9061fcce9f5a6d5a3.tar.gz abuild-d0e15dd5b60e76e30f42f0f9061fcce9f5a6d5a3.tar.bz2 abuild-d0e15dd5b60e76e30f42f0f9061fcce9f5a6d5a3.tar.xz abuild-d0e15dd5b60e76e30f42f0f9061fcce9f5a6d5a3.zip |
buildrepo: parse APKBUILDs in subshell
so we dont leak functions like 'build' and other variables.
-rwxr-xr-x | buildrepo.in | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/buildrepo.in b/buildrepo.in index f1a5749..23cc61e 100755 --- a/buildrepo.in +++ b/buildrepo.in @@ -46,9 +46,9 @@ all_exist() { done return 0 } - -build() { - local repo="$1" i needbuild + +list_needbuild() { + local repo="$1" i= cd "$aportsdir/$repo" || return 0 @@ -78,14 +78,20 @@ build() { # try link or copy the files if they are in the ports dir if all_exist $pkgs; then - echo ">>> Copying " $pkgs + echo ">>> Copying " $pkgs >&2 cp -p -l $pkgs "$repodir/$repo/$CARCH"/ 2>/dev/null \ || cp -p $pkgs "$repodir/$repo/$CARCH"/ \ - || needbuild="$needbuild $i" + || echo "$i" else - needbuild="$needbuild $i" + echo "$i" fi done +} + +do_build() { + local repo="$1" i= + cd "$aportsdir/$repo" || return 0 + local needbuild="$(list_needbuild $repo)" # build the postponed packages if any if [ -n "$needbuild" ]; then @@ -146,9 +152,9 @@ shift $(($OPTIND - 1)) while [ $# -gt 0 ]; do if [ -n "$logprefix" ]; then - build $1 >$logprefix.$1.log 2>&1 || exit 1 + do_build $1 >$logprefix.$1.log 2>&1 || exit 1 else - build $1 || exit 1 + do_build $1 || exit 1 fi deprepo="$deprepo $1" shift |