summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorCedric Staniewski <cedric@gmx.ca>2009-12-02 19:04:32 +0100
committerDan McGee <dan@archlinux.org>2009-12-14 06:26:54 +0100
commit66c6d288fd44b2f148860c7abbd1ed56b31a9238 (patch)
treee3424ecf91e9b5cd7e3acafa21a9e5e745f7d15b /scripts
parentb805fe58ae8e762f2d663cb6416005521b76e182 (diff)
downloadpacman-66c6d288fd44b2f148860c7abbd1ed56b31a9238.tar.gz
pacman-66c6d288fd44b2f148860c7abbd1ed56b31a9238.tar.xz
makepkg: allow to specify an alternative pacman command
If PACMAN environment variable is set, makepkg will try to use this command to check for installed dependencies and to install or remove packages. Otherwise, makepkg will fall back to pacman. Implements FS#13028. Signed-off-by: Cedric Staniewski <cedric@gmx.ca> Signed-off-by: Allan McRae <allan@archlinux.org> [Dan: move envvar section in manpage] Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/makepkg.sh.in19
1 files changed, 11 insertions, 8 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index ba2758ba..ef884b76 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -344,9 +344,9 @@ download_file() {
run_pacman() {
local ret=0
if (( ! ASROOT )) && [[ $1 != "-T" ]]; then
- sudo pacman $PACMAN_OPTS "$@" || ret=$?
+ sudo $PACMAN $PACMAN_OPTS "$@" || ret=$?
else
- pacman $PACMAN_OPTS "$@" || ret=$?
+ $PACMAN $PACMAN_OPTS "$@" || ret=$?
fi
return $ret
}
@@ -360,7 +360,7 @@ check_deps() {
if (( ret == 127 )); then #unresolved deps
echo "$pmout"
elif (( ret )); then
- error "$(gettext "Pacman returned a fatal error (%i): %s")" "$ret" "$pmout"
+ error "$(gettext "'%s' returned a fatal error (%i): %s")" "$PACMAN" "$ret" "$pmout"
exit 1
fi
}
@@ -382,7 +382,7 @@ handle_deps() {
msg "$(gettext "Installing missing dependencies...")"
if ! run_pacman -S --asdeps $deplist; then
- error "$(gettext "Pacman failed to install missing dependencies.")"
+ error "$(gettext "'%s' failed to install missing dependencies.")" "$PACMAN"
exit 1 # TODO: error code
fi
fi
@@ -1124,9 +1124,9 @@ install_package() {
(( ! INSTALL )) && return
if (( ! SPLITPKG )); then
- msg "$(gettext "Installing package ${pkgname} with pacman -U...")"
+ msg "$(gettext "Installing package %s with %s -U...")" "$pkgname" "$PACMAN"
else
- msg "$(gettext "Installing ${pkgbase} package group with pacman -U...")"
+ msg "$(gettext "Installing %s package group with %s -U...")" "$pkgbase" "$PACMAN"
fi
local pkglist
@@ -1592,6 +1592,9 @@ if [[ -r ~/.makepkg.conf ]]; then
source ~/.makepkg.conf
fi
+# set pacman command if not already defined
+PACMAN=${PACMAN:-pacman}
+
# check if messages are to be printed using color
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
if [[ -t 2 && ! $USE_COLOR = "n" && $(check_buildenv color) = "y" ]]; then
@@ -1850,7 +1853,7 @@ if (( NODEPS || NOBUILD || REPKG )); then
if (( NODEPS )); then
warning "$(gettext "Skipping dependency checks.")"
fi
-elif [ $(type -p pacman) ]; then
+elif [ $(type -p "${PACMAN%% *}") ]; then
unset pkgdeps # Set by resolve_deps() and used by remove_deps()
deperr=0
@@ -1865,7 +1868,7 @@ elif [ $(type -p pacman) ]; then
exit 1
fi
else
- warning "$(gettext "pacman was not found in PATH; skipping dependency checks.")"
+ warning "$(gettext "%s was not found in PATH; skipping dependency checks.")" "${PACMAN%% *}"
fi
# ensure we have a sane umask set