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>
This commit is contained in:
parent
923214497f
commit
b5043dd6c3
|
@ -92,8 +92,8 @@ AC_ARG_WITH(buildscript,
|
||||||
# Help line for changing shell used to run install scriptlets
|
# Help line for changing shell used to run install scriptlets
|
||||||
AC_ARG_WITH(scriptlet-shell,
|
AC_ARG_WITH(scriptlet-shell,
|
||||||
AS_HELP_STRING([--with-scriptlet-shell=shell],
|
AS_HELP_STRING([--with-scriptlet-shell=shell],
|
||||||
[set the shell used to run install scriptlets]),
|
[set the full path to the shell used to run install scriptlets]),
|
||||||
[SCRIPTLET_SHELL=$withval], [SCRIPTLET_SHELL=sh])
|
[SCRIPTLET_SHELL=$withval], [SCRIPTLET_SHELL=/bin/sh])
|
||||||
|
|
||||||
# Help line for using OpenSSL
|
# Help line for using OpenSSL
|
||||||
AC_ARG_WITH(openssl,
|
AC_ARG_WITH(openssl,
|
||||||
|
@ -377,7 +377,7 @@ AC_SUBST(BUILDSCRIPT)
|
||||||
AC_DEFINE_UNQUOTED([BUILDSCRIPT], "$BUILDSCRIPT", [The build script name used by makepkg])
|
AC_DEFINE_UNQUOTED([BUILDSCRIPT], "$BUILDSCRIPT", [The build script name used by makepkg])
|
||||||
# Set shell used by install scriptlets
|
# Set shell used by install scriptlets
|
||||||
AC_SUBST(SCRIPTLET_SHELL)
|
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
|
# Configuration files
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
|
|
|
@ -343,7 +343,7 @@ int _alpm_runscriptlet(alpm_handle_t *handle, const char *filepath,
|
||||||
|
|
||||||
_alpm_log(handle, ALPM_LOG_DEBUG, "executing \"%s\"\n", cmdline);
|
_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:
|
cleanup:
|
||||||
if(scriptfn && unlink(scriptfn)) {
|
if(scriptfn && unlink(scriptfn)) {
|
||||||
|
|
Loading…
Reference in New Issue