From: Daniel Wallace <[email protected]>

add the asdeps flag for makepkg so that it does pacman -U --asdeps

Signed-off-by: Daniel Wallace <[email protected]>
---
 contrib/bash_completion.in |  6 +++---
 contrib/zsh_completion.in  |  1 +
 doc/makepkg.8.txt          |  4 ++++
 scripts/makepkg.sh.in      | 10 ++++++++--
 4 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/contrib/bash_completion.in b/contrib/bash_completion.in
index 1b265e0..99b9559 100644
--- a/contrib/bash_completion.in
+++ b/contrib/bash_completion.in
@@ -74,9 +74,9 @@ _makepkg() {
   COMPREPLY=()
   _get_comp_words_by_ref cur prev
   if [[ $cur = -* && ! $prev =~ ^-(-(config|help)$|\w*[Chp]) ]]; then
-    opts=('allsource asroot check clean config force geninteg help holdver 
ignorearch
-           install log nobuild nocheck nocolor noconfirm nodeps noextract 
noprogressbar
-           nosign pkg repackage rmdeps sign skipinteg source syncdeps'
+    opts=('allsource asdeps asroot check clean config force geninteg help 
holdver ignorearch
+           install log nobuild nocheck nocolor noconfirm nodeps noextract 
+           noprogressbar nosign pkg repackage rmdeps sign skipinteg source 
syncdeps'
           'A L R S c d e f g h i m o p r s')
     _arch_ptr2comp opts
   fi
diff --git a/contrib/zsh_completion.in b/contrib/zsh_completion.in
index dc0a544..84ee93c 100644
--- a/contrib/zsh_completion.in
+++ b/contrib/zsh_completion.in
@@ -483,6 +483,7 @@ _makepkg_longopts=(
   '--skipinteg[do not perform any verification checks on source files]'
   '--skippgpcheck[Do not verify source files with PGP signatures]'
   '--noconfirm[do not ask for confirmation when resolving dependencies]'
+  '--asdeps[Install packages as non-explicitly installed]'
   '--noprogressbar[Do not show a progress bar when downloading files]'
   )
 _makepkg(){
diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt
index 27875a3..b96d768 100644
--- a/doc/makepkg.8.txt
+++ b/doc/makepkg.8.txt
@@ -179,6 +179,10 @@ Options
        (Passed to pacman) Prevent pacman from waiting for user input before
        proceeding with operations.
 
+*\--asdeps*::
+       (Passed to pacman) Install packages as non-explicitly installed (used
+       with -i / --install).
+
 *\--noprogressbar*::
        (Passed to pacman) Prevent pacman from displaying a progress bar;
        useful if you are redirecting makepkg output to file.
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index abfabdf..db95d65 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -52,6 +52,7 @@ splitpkg_overrides=('pkgver' 'pkgrel' 'epoch' 'pkgdesc' 
'arch' 'url' 'license' \
 readonly -a packaging_options other_options splitpkg_overrides
 
 # Options
+ASDEPS=0
 ASROOT=0
 CLEANUP=0
 DEP_BIN=0
@@ -83,6 +84,7 @@ FORCE_VER=""
 
 PACMAN_OPTS=
 
+
 shopt -s extglob
 
 ### SUBROUTINES ###
@@ -1523,13 +1525,15 @@ install_package() {
                msg "$(gettext "Installing %s package group with %s...")" 
"$pkgbase" "$PACMAN -U"
        fi
 
+       (( ASDEPS )) && pkglist+=('--asdeps')
+
        local fullver pkgarch pkg pkglist
        for pkg in ${pkgname[@]}; do
                fullver=$(get_full_version $pkg)
                pkgarch=$(get_pkg_arch $pkg)
                pkglist+=("$PKGDEST/${pkg}-${fullver}-${pkgarch}${PKGEXT}")
        done
-
+       
        if ! run_pacman -U ${pkglist[@]}; then
                warning "$(gettext "Failed to install built package(s).")"
                return 0
@@ -1986,6 +1990,7 @@ usage() {
        printf -- "$(gettext "These options can be passed to %s:")\n" "pacman"
        echo
        printf -- "$(gettext "  --noconfirm      Do not ask for confirmation 
when resolving dependencies")\n"
+       printf -- "$(gettext "  --asdeps         Install packages as 
non-explicitly installed")\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"
@@ -2021,7 +2026,7 @@ OPT_LONG=('allsource' 'asroot' 'ignorearch' 'check' 
'clean' 'nodeps'
           'version' 'config:')
 
 # Pacman Options
-OPT_LONG+=('noconfirm' 'noprogressbar')
+OPT_LONG+=('asdeps' 'noconfirm' 'noprogressbar')
 
 if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then
        exit 1 # E_INVALID_OPTION;
@@ -2032,6 +2037,7 @@ unset OPT_SHORT OPT_LONG OPTRET
 while true; do
        case "$1" in
                # Pacman Options
+               --asdeps)         ASDEPS=1;;
                --noconfirm)      PACMAN_OPTS+=" --noconfirm" ;;
                --noprogressbar)  PACMAN_OPTS+=" --noprogressbar" ;;
 
-- 
1.7.11.1


Reply via email to