Add --needed option to makepkg

Simply add the option to pass the --needed flag to pacman when using -i
with makepkg. When using makepkg in scripts, particularly for git
packages with the new version functions and not just a date, this can
save disk io and time instead of reinstalling.

This would mostly be useful with the --noconfirm option.

Signed-off-by: wgiokas <1007380@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
wgiokas 2012-11-19 18:51:06 -06:00 committed by Allan McRae
parent 3536975bbf
commit 6b1deedf15
2 changed files with 7 additions and 1 deletions

View File

@ -173,6 +173,10 @@ Options
(Passed to pacman) Prevent pacman from waiting for user input before
proceeding with operations.
*\--needed*::
(Passed to pacman) Tell pacman not to reinstall a target if it is already
up to date. (used with -i / --install).
*\--asdeps*::
(Passed to pacman) Install packages as non-explicitly installed (used
with -i / --install).

View File

@ -2345,6 +2345,7 @@ usage() {
echo
printf -- "$(gettext " --asdeps Install packages as non-explicitly installed")\n"
printf -- "$(gettext " --noconfirm Do not ask for confirmation when resolving dependencies")\n"
printf -- "$(gettext " --needed Do not reinstall the targets that are already up to date")\n"
printf -- "$(gettext " --noprogressbar Do not show a progress bar when downloading files")\n"
echo
printf -- "$(gettext "If %s is not specified, %s will look for '%s'")\n" "-p" "makepkg" "$BUILDSCRIPT"
@ -2380,7 +2381,7 @@ OPT_LONG=('allsource' 'asroot' 'check' 'clean' 'config:' 'force' 'geninteg'
'source' 'syncdeps' 'version')
# Pacman Options
OPT_LONG+=('asdeps' 'noconfirm' 'noprogressbar')
OPT_LONG+=('asdeps' 'noconfirm' 'needed' 'noprogressbar')
if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then
exit 1 # E_INVALID_OPTION;
@ -2393,6 +2394,7 @@ while true; do
# Pacman Options
--asdeps) ASDEPS=1;;
--noconfirm) PACMAN_OPTS+=" --noconfirm" ;;
--needed) PACMAN_OPTS+=" --needed" ;;
--noprogressbar) PACMAN_OPTS+=" --noprogressbar" ;;
# Makepkg Options