[pacman-dev] [PATCH] asdeps flag passed from makepkg to pacman

Daniel Wallace daniel.wallace at gatech.edu
Mon Jul 9 01:55:58 EDT 2012


From: Daniel Wallace <daniel.wallace12 at gmail.com>

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

Signed-off-by: Daniel Wallace <daniel.wallace12 at gmail.com>
---
 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



More information about the pacman-dev mailing list