[pacman-dev] [PATCH] makepkg: disable extglob when sourcing BUILDSCRIPT
Allan McRae
allan at archlinux.org
Fri Feb 10 23:27:29 EST 2012
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 at archlinux.org>
---
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 a10dc5d..80bb1c9 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
--
1.7.9
More information about the pacman-dev
mailing list