diff options
| -rw-r--r-- | doc/makepkg.8.txt | 5 | ||||
| -rw-r--r-- | doc/makepkg.conf.5.txt | 4 | ||||
| -rw-r--r-- | etc/makepkg.conf.in | 2 | ||||
| -rw-r--r-- | scripts/makepkg.sh.in | 14 | 
4 files changed, 17 insertions, 8 deletions
| diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index f1b9f9c8..1a2dcd04 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -169,8 +169,9 @@ Options  	Do not create a signature for the built package.  *\--key* <key>:: -	Specify a key to use when signing the package. If not specified, the default -	key from the keyring will be used. +	Specify a key to use when signing packages, overriding the GPGKEY setting +	in linkman:makepkg.conf[5]. If not specified in either location, the +	default key from the keyring will be used.  *\--noconfirm*::  	(Passed to pacman) Prevent pacman from waiting for user input before diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt index a9faa14d..9d3ad0a1 100644 --- a/doc/makepkg.conf.5.txt +++ b/doc/makepkg.conf.5.txt @@ -110,6 +110,10 @@ Options  	running in the DistCC cluster. In addition, you will want to modify your  	`MAKEFLAGS`. +**GPGKEY=**"":: +	Specify a key to use for gpg signing instead of the default key in the +	keyring. Can be overridden with makepkg's `--key` option. +  **OPTIONS=(**strip !docs libtool emptydirs zipman**)**::  	This array contains options that affect the default packaging. They are  	equivalent to options that can be placed in the PKGBUILD; the defaults are diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in index c3b7cc09..9a790fcf 100644 --- a/etc/makepkg.conf.in +++ b/etc/makepkg.conf.in @@ -101,6 +101,8 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)  #SRCPKGDEST=/home/srcpackages  #-- Packager: name/email of the person or organization building packages  #PACKAGER="John Doe <john@doe.com>" +#-- Specify a key to use for package signing +#GPGKEY=""  #########################################################################  # EXTENSION DEFAULTS diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 36ac7280..70d3cf32 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1116,8 +1116,8 @@ create_signature() {  	fi  	local SIGNWITHKEY="" -	if [[ -n $SIGNKEY ]]; then -		SIGNWITHKEY="-u ${SIGNKEY}" +	if [[ -n $GPGKEY ]]; then +		SIGNWITHKEY="-u ${GPGKEY}"  	fi  	# The signature will be generated directly in ascii-friendly format  	gpg --detach-sign --use-agent ${SIGNWITHKEY} "$filename" &>/dev/null || ret=$? @@ -1697,7 +1697,7 @@ while true; do  		-g|--geninteg)    GENINTEG=1 ;;  		--holdver)        HOLDVER=1 ;;  		-i|--install)     INSTALL=1 ;; -		--key)            shift; SIGNKEY=$1 ;; +		--key)            shift; GPGKEY=$1 ;;  		-L|--log)         LOGGING=1 ;;  		-m|--nocolor)     USE_COLOR='n' ;;  		--nocheck)        RUN_CHECK='n' ;; @@ -1727,6 +1727,7 @@ done  [[ -n ${SRCPKGDEST} ]] && _SRCPKGDEST=$(canonicalize_path ${SRCPKGDEST})  [[ -n ${PKGEXT} ]] && _PKGEXT=${PKGEXT}  [[ -n ${SRCEXT} ]] && _SRCEXT=${SRCEXT} +[[ -n ${GPGKEY} ]] && _GPGKEY=${GPGKEY}  # default config is makepkg.conf  MAKEPKG_CONF=${MAKEPKG_CONF:-$confdir/makepkg.conf} @@ -1792,6 +1793,7 @@ SRCPKGDEST=${SRCPKGDEST:-$startdir} #default to $startdir if undefined  PKGEXT=${_PKGEXT:-$PKGEXT}  SRCEXT=${_SRCEXT:-$SRCEXT} +GPGKEY=${_GPGKEY:-$GPGKEY}  if (( HOLDVER )) && [[ -n $FORCE_VER ]]; then  	# The '\\0' is here to prevent gettext from thinking --holdver is an option @@ -1948,9 +1950,9 @@ if [[ -z "$SIGNPKG" && $(check_buildenv sign) == 'y' ]]; then    SIGNPKG='y'  fi  if [[ $SIGNPKG == 'y' ]]; then -	if ! gpg --list-key ${SIGNKEY} &>/dev/null; then -		if [[ ! -z $SIGNKEY ]]; then -			error "$(gettext "The key ${SIGNKEY} does not exist in your keyring.")" +	if ! gpg --list-key ${GPGKEY} &>/dev/null; then +		if [[ ! -z $GPGKEY ]]; then +			error "$(gettext "The key ${GPGKEY} does not exist in your keyring.")"  		else  			error "$(gettext "There is no key in your keyring.")"  		fi | 
