summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2012-02-11 05:15:38 +0100
committerDan McGee <dan@archlinux.org>2012-02-11 21:53:33 +0100
commit31432edcbe484a5fca01abff77359061ae813fcc (patch)
tree94a12ba98d0a2194d4d1d320aba72eee64f0bdf3
parent9b1ab3d76713d99a11d8da2204557856d59bd3a5 (diff)
downloadpacman-31432edcbe484a5fca01abff77359061ae813fcc.tar.gz
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.in4
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