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> --- 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 9d19e38..498c79b 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 e4bf296..a564a2f 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2429,6 +2429,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" @@ -2464,7 +2465,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; @@ -2477,6 +2478,7 @@ while true; do # Pacman Options --asdeps) ASDEPS=1;; --noconfirm) PACMAN_OPTS+=" --noconfirm" ;; + --needed) PACMAN_OPTS+=" --needed" ;; --noprogressbar) PACMAN_OPTS+=" --noprogressbar" ;; # Makepkg Options -- 1.8.0