summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2012-03-23 15:08:24 +0100
committerDan McGee <dan@archlinux.org>2012-04-07 18:27:56 +0200
commitb5043dd6c3e2a9da637dfefbbd2b6a89cda600f0 (patch)
tree241f38e1eae48548520835ba91654475c5ca0dd8
parent923214497f1873a5bd1989aad867b629166d89b1 (diff)
downloadpacman-b5043dd6c3e2a9da637dfefbbd2b6a89cda600f0.tar.gz
pacman-b5043dd6c3e2a9da637dfefbbd2b6a89cda600f0.tar.xz
Make selecting scriptlet shell work
The initial patch to implement this achieved nothing apart from adding a configure option. This patch makes that configure option do what it advertises. Note that specifing any shell apart from /bin/sh causes testsuite failures as /bin/sh is the only shell in the testing environment. Bug-found-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--configure.ac6
-rw-r--r--lib/libalpm/trans.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 84ba5a60..1bded39a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -92,8 +92,8 @@ AC_ARG_WITH(buildscript,
# Help line for changing shell used to run install scriptlets
AC_ARG_WITH(scriptlet-shell,
AS_HELP_STRING([--with-scriptlet-shell=shell],
- [set the shell used to run install scriptlets]),
- [SCRIPTLET_SHELL=$withval], [SCRIPTLET_SHELL=sh])
+ [set the full path to the shell used to run install scriptlets]),
+ [SCRIPTLET_SHELL=$withval], [SCRIPTLET_SHELL=/bin/sh])
# Help line for using OpenSSL
AC_ARG_WITH(openssl,
@@ -377,7 +377,7 @@ AC_SUBST(BUILDSCRIPT)
AC_DEFINE_UNQUOTED([BUILDSCRIPT], "$BUILDSCRIPT", [The build script name used by makepkg])
# Set shell used by install scriptlets
AC_SUBST(SCRIPTLET_SHELL)
-AC_DEFINE_UNQUOTED([SCRIPTLET_SHELL], "$SCRIPTLET_SHELL", [The shell used to run install scriptlets])
+AC_DEFINE_UNQUOTED([SCRIPTLET_SHELL], "$SCRIPTLET_SHELL", [The full path of the shell used to run install scriptlets])
# Configuration files
AC_CONFIG_FILES([
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index fe89e407..4309c07e 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -343,7 +343,7 @@ int _alpm_runscriptlet(alpm_handle_t *handle, const char *filepath,
_alpm_log(handle, ALPM_LOG_DEBUG, "executing \"%s\"\n", cmdline);
- retval = _alpm_run_chroot(handle, "/bin/sh", argv);
+ retval = _alpm_run_chroot(handle, SCRIPTLET_SHELL, argv);
cleanup:
if(scriptfn && unlink(scriptfn)) {