[pacman-dev] [PATCH] Fix bash shell location check

Dan McGee dan at archlinux.org
Wed Oct 13 18:52:32 EDT 2010


BASH is defined when you are actually using bash during configure, which
sucks because it ends up being '/bin/sh', messing up all of our scripts.
Change the name of the variable we use in configure, and also ensure we get
a full path to the executable by using AC_PATH_PROGS rather than
AC_CHECK_PROGS. Finally, change the variable name everywhere we use it.

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 configure.ac                  |    2 +-
 contrib/Makefile.am           |    2 +-
 contrib/bacman.in             |    2 +-
 contrib/pacdiff.in            |    2 +-
 contrib/pacscripts.in         |    2 +-
 contrib/pactree.in            |    2 +-
 contrib/wget-xdelta.sh.in     |    2 +-
 scripts/Makefile.am           |    2 +-
 scripts/makepkg.sh.in         |    2 +-
 scripts/pacman-optimize.sh.in |    2 +-
 scripts/pkgdelta.sh.in        |    2 +-
 scripts/rankmirrors.sh.in     |    2 +-
 scripts/repo-add.sh.in        |    2 +-
 13 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/configure.ac b/configure.ac
index 115aeb1..6f601f4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -127,7 +127,7 @@ AC_PROG_LN_S
 AC_PROG_MAKE_SET
 AC_PROG_LIBTOOL
 AC_CHECK_PROGS([PYTHON], [python2.7 python2.6 python2.5 python2 python], [false])
-AC_CHECK_PROGS([BASH], [bash bash4 bash3], [false])
+AC_PATH_PROGS([BASH_SHELL], [bash bash4 bash3], [false])
 
 # find installed gettext
 AM_GNU_GETTEXT([external])
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index 0199763..55366b4 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -29,7 +29,7 @@ MOSTLYCLEANFILES = $(OURFILES) *.tmp
 edit = sed \
 	-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
 	-e 's|@localstatedir[@]|$(localstatedir)|g' \
-	-e 's|@BASH[@]|$(BASH)|g'
+	-e 's|@BASH_SHELL[@]|$(BASH_SHELL)|g'
 
 $(OURFILES): Makefile
 	@echo '    ' GEN $@;
diff --git a/contrib/bacman.in b/contrib/bacman.in
index 2a93f8b..991acb0 100755
--- a/contrib/bacman.in
+++ b/contrib/bacman.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 #
 #   bacman: recreate a package from a running system
 #   This script rebuilds an already installed package using metadata
diff --git a/contrib/pacdiff.in b/contrib/pacdiff.in
index 716333a..ac4ce89 100755
--- a/contrib/pacdiff.in
+++ b/contrib/pacdiff.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 #   pacdiff : a simple pacnew/pacorig/pacsave updater
 #
 #   Copyright (c) 2007 Aaron Griffin <aaronmgriffin at gmail.com>
diff --git a/contrib/pacscripts.in b/contrib/pacscripts.in
index 123c79d..d366409 100755
--- a/contrib/pacscripts.in
+++ b/contrib/pacscripts.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 #
 #   pacscripts : tries to print out the {pre,post}_{install,remove,upgrade}
 #   scripts of a given package
diff --git a/contrib/pactree.in b/contrib/pactree.in
index 29c6af6..b43005a 100755
--- a/contrib/pactree.in
+++ b/contrib/pactree.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 # pactree : a simple dependency tree viewer
 #
 # Copyright (C) 2008 Carlo "carlocci" Bersani <carlocci at gmail.com>
diff --git a/contrib/wget-xdelta.sh.in b/contrib/wget-xdelta.sh.in
index caf0171..f2ac1c8 100755
--- a/contrib/wget-xdelta.sh.in
+++ b/contrib/wget-xdelta.sh.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 
 if [ -r "@sysconfdir@/makepkg.conf" ]; then
 	source @sysconfdir@/makepkg.conf
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index b9e3038..78deb0b 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -35,7 +35,7 @@ edit = sed \
 	-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
 	-e 's|@localstatedir[@]|$(localstatedir)|g' \
 	-e 's|@prefix[@]|$(prefix)|g' \
-	-e 's|@BASH[@]|$(BASH)|g' \
+	-e 's|@BASH_SHELL[@]|$(BASH_SHELL)|g' \
 	-e 's|@PACKAGE_VERSION[@]|$(REAL_PACKAGE_VERSION)|g' \
 	-e 's|@PACKAGE_BUGREPORT[@]|$(PACKAGE_BUGREPORT)|g' \
 	-e 's|@PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index afedc31..9220032 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1,4 +1,4 @@
-#!@BASH@ -e
+#!@BASH_SHELL@ -e
 #
 #   makepkg - make packages compatible for use with pacman
 #   @configure_input@
diff --git a/scripts/pacman-optimize.sh.in b/scripts/pacman-optimize.sh.in
index eb6691c..f4642ab 100644
--- a/scripts/pacman-optimize.sh.in
+++ b/scripts/pacman-optimize.sh.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 #
 #   pacman-optimize
 #   @configure_input@
diff --git a/scripts/pkgdelta.sh.in b/scripts/pkgdelta.sh.in
index d45678d..6bc3f5d 100644
--- a/scripts/pkgdelta.sh.in
+++ b/scripts/pkgdelta.sh.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 #
 #   pkgdelta - create delta files for use with pacman and repo-add
 #   @configure_input@
diff --git a/scripts/rankmirrors.sh.in b/scripts/rankmirrors.sh.in
index 3851b77..64d5a73 100644
--- a/scripts/rankmirrors.sh.in
+++ b/scripts/rankmirrors.sh.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 #
 #   rankmirrors - read a list of mirrors from a file and rank them by speed
 #   @configure_input@
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 9bc7069..d3e3bc8 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -1,4 +1,4 @@
-#!@BASH@
+#!@BASH_SHELL@
 #
 #   repo-add - add a package to a given repo database file
 #   repo-remove - remove a package entry from a given repo database file
-- 
1.7.3.1



More information about the pacman-dev mailing list