From 6b1deedf15d14e426e5450b759710e8782c22ab3 Mon Sep 17 00:00:00 2001 From: wgiokas <1007380@gmail.com> Date: Mon, 19 Nov 2012 18:51:06 -0600 Subject: [PATCH] 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 --- doc/makepkg.8.txt | 4 ++++ scripts/makepkg.sh.in | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index 9d19e38e..498c79bb 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -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). diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 78bd4d4c..6f4732f9 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -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