diff options
author | Allan McRae <allan@archlinux.org> | 2012-02-11 14:15:38 +1000 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2012-02-11 14:53:33 -0600 |
commit | 31432edcbe484a5fca01abff77359061ae813fcc (patch) | |
tree | 94a12ba98d0a2194d4d1d320aba72eee64f0bdf3 | |
parent | 9b1ab3d76713d99a11d8da2204557856d59bd3a5 (diff) | |
download | pacman-31432edcbe484a5fca01abff77359061ae813fcc.tar.xz |
makepkg: disable extglob when sourcing BUILDSCRIPT
PKGBUILDs are advertised as being pure bash so it would be expected
that the default bash options are in effect when sourcing it.
This inadvertantly "fixes" FS#27780 where enabling extglob causes
the bash parser to error on non-valid bash function names like
package_libxml++(). Note that these function names are unsupported
in bash and could break again even with this "fix" in future bash
releases.
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | scripts/makepkg.sh.in | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index a10dc5d3..80bb1c94 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2106,7 +2106,9 @@ if [[ ! -f $BUILDFILE ]]; then else # PKGBUILD passed through a pipe BUILDFILE=/dev/stdin + shopt -u extglob source "$BUILDFILE" + shopt -s extglob fi else crlftest=$(file "$BUILDFILE" | grep -F 'CRLF' || true) @@ -2118,7 +2120,9 @@ else if [[ ${BUILDFILE:0:1} != "/" ]]; then BUILDFILE="$startdir/$BUILDFILE" fi + shopt -u extglob source "$BUILDFILE" + shopt -s extglob fi # set defaults if they weren't specified in buildfile |