diff --git a/abump.in b/abump.in index 6cb6c87..ab92179 100644 --- a/abump.in +++ b/abump.in @@ -44,16 +44,21 @@ do_bump() { a=$(aports_buildscript "$name" ) \ || die "can't find APKBUILD for $name" - # verify APKBUILD - . "$a" || exit 1 - name=${name#*/} - [ "$pkgname" = "$name" ] \ - || die "APKBUILD has different \$pkgname for $name" - type package | grep -q function \ - || die "missing package() for $name" - if [ "$pkgver" = "$ver" ] && git diff-index --quiet HEAD -- "$a"; then - die "version is already $ver" - fi + # sourcing APKBUILDs should not affect the environment of abump + # so do that in a subshell, along with any checks that need the + # information from the APKBUILD. + ( + # verify APKBUILD + . "$a" || exit 1 + name=${name#*/} + [ "$pkgname" = "$name" ] \ + || die "APKBUILD has different \$pkgname for $name" + type package | grep -q function \ + || die "missing package() for $name" + if [ "$pkgver" = "$ver" ] && git diff-index --quiet HEAD -- "$a"; then + die "version is already $ver" + fi + ) cd "${a%/*}" section=${PWD%/*}