@@ -114,6 +114,12 @@ AC_ARG_WITH(scriptlet-shell,
[set the full path to the shell used to run install scriptlets]),
[SCRIPTLET_SHELL=$withval], [SCRIPTLET_SHELL=/bin/sh])
+# Help line for changing sudo command
+AC_ARG_WITH(sudo,
+ AS_HELP_STRING([--with-sudo=sudo],
+ [set the command used to run pacman as root]),
+ [SUDOCMD=$withval], [SUDOCMD=sudo])
+
# Help line for ldconfig path
AC_ARG_WITH(ldconfig,
AS_HELP_STRING([--with-ldconfig=path],
@@ -509,6 +515,9 @@ AC_DEFINE_UNQUOTED([TEMPLATE_DIR], "$TEMPLATE_DIR", [The template directory used
# Set makepkg split debugging symbol package suffix
AC_SUBST(DEBUGSUFFIX)
AC_DEFINE_UNQUOTED([DEBUGSUFFIX], "$DEBUGSUFFIX", [The suffix for debugging symbol packages used by makepkg])
+# Set sudo command
+AC_SUBST(SUDOCMD)
+AC_DEFINE_UNQUOTED([SUDOCMD], "$SUDOCMD", [The command used to run pacman as root])
# Set shell used by install scriptlets
AC_SUBST(SCRIPTLET_SHELL)
AC_DEFINE_UNQUOTED([SCRIPTLET_SHELL], "$SCRIPTLET_SHELL", [The full path of the shell used to run install scriptlets])
@@ -148,6 +148,7 @@ edit = sed \
-e 's|@BUILDSCRIPT[@]|$(BUILDSCRIPT)|g' \
-e 's|@TEMPLATE_DIR[@]|$(TEMPLATE_DIR)|g' \
-e 's|@DEBUGSUFFIX[@]|$(DEBUGSUFFIX)|g' \
+ -e 's|@SUDOCMD[@]|$(SUDOCMD)|g' \
-e "s|@INODECMD[@]|$(INODECMD)|g" \
-e "s|@OWNERCMD[@]|$(OWNERCMD)|g" \
-e "s|@MODECMD[@]|$(MODECMD)|g" \
@@ -212,8 +212,8 @@ run_pacman() {
cmd=("$PACMAN_PATH" "$@")
fi
if [[ $1 != -@(T|Qq|Q) ]]; then
- if type -p sudo >/dev/null; then
- cmd=(sudo "${cmd[@]}")
+ if type -p @SUDOCMD@ >/dev/null; then
+ cmd=(@SUDOCMD@ "${cmd[@]}")
else
cmd=(su root -c "$(printf '%q ' "${cmd[@]}")")
fi
@@ -1015,8 +1015,8 @@ check_software() {
# check for sudo if we will need it during makepkg execution
if (( DEP_BIN || RMDEPS || INSTALL )); then
- if ! type -p sudo >/dev/null; then
- warning "$(gettext "Cannot find the %s binary. Will use %s to acquire root privileges.")" "sudo" "su"
+ if ! type -p @SUDOCMD@ >/dev/null; then
+ warning "$(gettext "Cannot find the %s binary. Will use %s to acquire root privileges.")" "@SUDOCMD@" "su"
fi
fi
Allows you to specify an alternate command for running things as root, such as OpenBSD's doas. Signed-off-by: Drew DeVault <sir@cmpwn.com> --- configure.ac | 9 +++++++++ scripts/Makefile.am | 1 + scripts/makepkg.sh.in | 8 ++++---- 3 files changed, 14 insertions(+), 4 deletions(-)