diff options
author | Max Rees <maxcrees@me.com> | 2019-07-20 21:18:06 -0400 |
---|---|---|
committer | Max Rees <maxcrees@me.com> | 2019-07-20 21:20:21 -0400 |
commit | f02eb097f88d3ab89765d041a78fbcd96baf2039 (patch) | |
tree | 1ace7167e60de5cceff90c55da6b3933580e7f11 | |
parent | 164e656bacd0526c41f94b670e2c6ac23da35080 (diff) | |
download | abuild-f02eb097f88d3ab89765d041a78fbcd96baf2039.tar.gz abuild-f02eb097f88d3ab89765d041a78fbcd96baf2039.tar.bz2 abuild-f02eb097f88d3ab89765d041a78fbcd96baf2039.tar.xz abuild-f02eb097f88d3ab89765d041a78fbcd96baf2039.zip |
abuild, abump: use type(1) portably
-rw-r--r-- | abuild.in | 16 | ||||
-rw-r--r-- | abump.in | 9 |
2 files changed, 17 insertions, 8 deletions
@@ -134,7 +134,6 @@ default_sanitycheck() { if [ $(echo "$pkgdesc" | wc -c) -gt 128 ]; then die "pkgdesc is too long" fi - is_function package || die "Missing package() function in APKBUILD" if [ -n "$replaces_priority" ] \ && ! echo $replaces_priority | egrep -q '^[0-9]+$'; then @@ -240,9 +239,11 @@ default_sanitycheck() { makedepends_has 'g++' && ! options_has toolchain && warning "g++ should not be in makedepends" + is_function package || die "Missing package() function in APKBUILD" + if ! options_has "!check" && [ -n "$REQUIRE_CHECK" ]; then - (unset check; . "$APKBUILD"; type check >/dev/null 2>&1) || \ - die "Testsuites (abuild check) are required or need to be explicitly disabled!" + is_function check \ + || die "Testsuites (abuild check) are required or need to be explicitly disabled!" fi check_provides || die "provides must not contain $pkgname" @@ -1757,9 +1758,12 @@ openrc() { } -is_function() { - type "$1" 2>&1 | head -n 1 | egrep -q "is a (shell )?function" -} +is_function() ( + unset -f "$1" >/dev/null 2>&1 || true + unalias "$1" >/dev/null 2>&1 || true + . "$APKBUILD" + PATH= type "$1" >/dev/null 2>&1 +) do_fakeroot() { if [ -n "$FAKEROOT" ]; then @@ -49,8 +49,13 @@ do_bump() { name=${name#*/} [ "$pkgname" = "$name" ] \ || die "APKBUILD has different \$pkgname for $name" - type package | grep -q function \ - || die "missing package() for $name" + + ( + unset -f package || true + unalias package || true + . "$a" + PATH= type package >/dev/null 2>&1 + ) || die "missing package() for $name" cd "${a%/*}" section=${PWD%/*} |