diff options
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/.gitignore | 9 | ||||
| -rw-r--r-- | contrib/Makefile.am | 36 | ||||
| -rw-r--r-- | contrib/PKGBUILD.vim | 10 | ||||
| -rw-r--r-- | contrib/README | 3 | ||||
| -rwxr-xr-x | contrib/bacman.in (renamed from contrib/bacman) | 19 | ||||
| -rw-r--r-- | contrib/bash_completion.in (renamed from contrib/bash_completion) | 6 | ||||
| -rwxr-xr-x | contrib/pacdiff.in (renamed from contrib/pacdiff) | 2 | ||||
| -rwxr-xr-x | contrib/paclist.in (renamed from contrib/paclist) | 0 | ||||
| -rwxr-xr-x | contrib/pacscripts.in (renamed from contrib/pacscripts) | 8 | ||||
| -rwxr-xr-x | contrib/pacsearch.in (renamed from contrib/pacsearch) | 0 | ||||
| -rwxr-xr-x | contrib/pactree | 321 | ||||
| -rwxr-xr-x | contrib/wget-xdelta.sh.in (renamed from contrib/wget-xdelta.sh) | 10 | ||||
| -rw-r--r-- | contrib/zsh_completion.in (renamed from contrib/zsh_completion) | 18 | 
13 files changed, 77 insertions, 365 deletions
| diff --git a/contrib/.gitignore b/contrib/.gitignore new file mode 100644 index 00000000..91044765 --- /dev/null +++ b/contrib/.gitignore @@ -0,0 +1,9 @@ +bacman +bash_completion +pacdiff +paclist +pacscripts +pacsearch +pactree +wget-xdelta.sh +zsh_completion diff --git a/contrib/Makefile.am b/contrib/Makefile.am index c6243b16..4adc9491 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -1,15 +1,41 @@ -EXTRA_DIST = \ -	PKGBUILD.vim \ +OURFILES = \  	bacman \  	bash_completion \  	pacdiff \  	paclist \  	pacscripts \  	pacsearch \ -	pactree \ -	vimprojects \  	wget-xdelta.sh \ -	zsh_completion \ +	zsh_completion + +EXTRA_DIST = \ +	PKGBUILD.vim \ +	bacman.in \ +	bash_completion.in \ +	pacdiff.in \ +	paclist.in \ +	pacscripts.in \ +	pacsearch.in \ +	vimprojects \ +	wget-xdelta.sh.in \ +	zsh_completion.in \  	README +# Files that should be removed, but which Automake does not know. +MOSTLYCLEANFILES = $(OURFILES) *.tmp + +edit = sed \ +	-e 's|@sysconfdir[@]|$(sysconfdir)|g' \ +	-e 's|@localstatedir[@]|$(localstatedir)|g' \ +	-e 's|@BASH_SHELL[@]|$(BASH_SHELL)|g' + +$(OURFILES): Makefile +	@echo '    ' GEN $@; +	@rm -f $@ $@.tmp +	@cp -a $@.in $@.tmp +	@$(edit) $@.in >$@.tmp +	@mv $@.tmp $@ + +all-am: $(OURFILES) +  # vim:set ts=2 sw=2 noet: diff --git a/contrib/PKGBUILD.vim b/contrib/PKGBUILD.vim index c35450a0..f627a5e6 100644 --- a/contrib/PKGBUILD.vim +++ b/contrib/PKGBUILD.vim @@ -40,7 +40,7 @@ syn match pbPkgverGroup /^pkgver=.*/ contains=pbIllegalPkgver,pbValidPkgver,pb_k  " pkgrel  syn keyword pb_k_pkgrel pkgrel contained -syn match pbValidPkgrel /[[:digit:]]*/ contained contains=pbIllegalPkgver +syn match pbValidPkgrel /[[:digit:]]*/ contained contains=pbIllegalPkgrel  syn match pbIllegalPkgrel /[^[:digit:]=]\|=.*=/ contained  syn match pbPkgrelGroup /^pkgrel=.*/ contains=pbIllegalPkgrel,pbValidPkgrel,pb_k_pkgrel,shDoubleQuote,shSingleQuote @@ -52,6 +52,12 @@ syn match pbValidPkgdesc /[^='"]\.\{,80}/ contained contains=pbIllegalPkgdesc  syn match pbPkgdescGroup /^pkgdesc=.*/ contains=pbIllegalPkgdesc,pb_k_desc,pbValidPkgdesc,shDoubleQuote,shSingleQuote  syn match pbPkgdescSign /[='"]/ contained +" epoch +syn keyword pb_k_epoch epoch contained +syn match pbValidEpoch /[[:digit:]]*/ contained contains=pbIllegalEpoch +syn match pbIllegalEpoch /[^[:digit:]=]\|=.*=/ contained +syn match pbEpochGroup /^epoch=.*/ contains=pbIllegalEpoch,pbValidEpoch,pb_k_epoch,shDoubleQuote,shSingleQuote +  " url  syn keyword pb_k_url url contained  syn match pbValidUrl /['"]*\(https\|http\|ftp\)\:\/.*\.\+.*/ contained @@ -166,7 +172,7 @@ hi def link pbValidSha1sums  Number  " options  syn keyword pb_k_options options contained -syn match pbOptions /\(no\)\?\(strip\|docs\|libtool\|emptydirs\|zipman\|ccache\|distcc\|makeflags\|force\)/ contained +syn match pbOptions /\(no\)\?\(strip\|docs\|libtool\|emptydirs\|zipman\|ccache\|distcc\|makeflags\|buildflags\)/ contained  syn match   pbOptionsNeg     /\!/ contained  syn match   pbOptionsDeprec  /no/ contained  syn region pbOptionsGroup start=/^options=(/ end=/)/ contains=pb_k_options,pbOptions,pbOptionsNeg,pbOptionsDeprec,pbIllegalOption,shDoubleQuote,shSingleQuote diff --git a/contrib/README b/contrib/README index 96234722..4f591012 100644 --- a/contrib/README +++ b/contrib/README @@ -23,9 +23,6 @@ pacsearch - a colorized search combining both -Ss and -Qs output. Installed  packages are easily identified with a *** and local-only packages are also  listed. -pactree - generate a dependency tree of an installed package in textual or -graphical form (using graphviz). -  bacman - regenerate a pacman package based on installed files and the pacman  database entries. Useful for reuse, or possible config file extension. diff --git a/contrib/bacman b/contrib/bacman.in index 6dd78394..bd545180 100755 --- a/contrib/bacman +++ b/contrib/bacman.in @@ -1,4 +1,4 @@ -#!/bin/bash +#!@BASH_SHELL@  #  #   bacman: recreate a package from a running system  #   This script rebuilds an already installed package using metadata @@ -67,20 +67,20 @@ fi  #  # Setting environmental variables  # -if [ ! -r /etc/pacman.conf ]; then -    echo "ERROR: unable to read /etc/pacman.conf" +if [ ! -r @sysconfdir@/pacman.conf ]; then +    echo "ERROR: unable to read @sysconfdir@/pacman.conf"      exit 1  fi -eval $(awk '/DBPath/ {print $1$2$3}' /etc/pacman.conf) -pac_db="${DBPath:-/var/lib/pacman/}/local" +eval $(awk '/DBPath/ {print $1$2$3}' @sysconfdir@/pacman.conf) +pac_db="${DBPath:-@localstatedir@/lib/pacman/}/local" -if [ ! -r /etc/makepkg.conf ]; then -    echo "ERROR: unable to read /etc/makepkg.conf" +if [ ! -r @sysconfdir@/makepkg.conf ]; then +    echo "ERROR: unable to read @sysconfdir@/makepkg.conf"      exit 1  fi -source "/etc/makepkg.conf" +source "@sysconfdir@/makepkg.conf"  if [ -r ~/.makepkg.conf ]; then      source ~/.makepkg.conf  fi @@ -220,9 +220,6 @@ while read i; do          %REPLACES%)              echo "replaces = $i"    >> .PKGINFO          ;; -        %FORCE%) -            echo "force = true" >> .PKGINFO -        ;;          # files          %BACKUP%) diff --git a/contrib/bash_completion b/contrib/bash_completion.in index bdc4754a..7f47f4b4 100644 --- a/contrib/bash_completion +++ b/contrib/bash_completion.in @@ -30,8 +30,7 @@ _arch_incomp() {  _makepkg() {    local cur opts prev    COMPREPLY=() -  cur=$(_get_cword) -  prev=${COMP_WORDS[COMP_CWORD-1]} +  _get_comp_words_by_ref cur prev    if [[ $cur = -* && ! $prev =~ ^-(-(cleancache|config|help)$|\w*[Chp]) ]]; then      opts=('allsource asroot clean cleancache config force geninteg help holdver             ignorearch install log nobuild nocolor noconfirm nodeps noextract @@ -55,8 +54,7 @@ _pacman_pkg() {  _pacman() {    local common core cur database prev query remove sync upgrade o    COMPREPLY=() -  cur=$(_get_cword) -  prev=${COMP_WORDS[COMP_CWORD-1]} +  _get_comp_words_by_ref cur prev    database=('asdeps asexplicit')    query=('changelog check deps explicit file foreign groups info list owns            search unrequired upgrades' 'c e g i k l m o p s t u') diff --git a/contrib/pacdiff b/contrib/pacdiff.in index 3f26f381..ac4ce893 100755 --- a/contrib/pacdiff +++ b/contrib/pacdiff.in @@ -1,4 +1,4 @@ -#!/bin/bash +#!@BASH_SHELL@  #   pacdiff : a simple pacnew/pacorig/pacsave updater  #  #   Copyright (c) 2007 Aaron Griffin <aaronmgriffin@gmail.com> diff --git a/contrib/paclist b/contrib/paclist.in index 0379a4c5..0379a4c5 100755 --- a/contrib/paclist +++ b/contrib/paclist.in diff --git a/contrib/pacscripts b/contrib/pacscripts.in index 101fb15f..d3664091 100755 --- a/contrib/pacscripts +++ b/contrib/pacscripts.in @@ -1,4 +1,4 @@ -#!/bin/bash +#!@BASH_SHELL@  #  #   pacscripts : tries to print out the {pre,post}_{install,remove,upgrade}  #   scripts of a given package @@ -27,7 +27,7 @@ set -o errexit  progname=$(basename $0)  progver="0.4" -conf="/etc/pacman.conf" +conf="@sysconfdir@/pacman.conf"  if [ ! -r "$conf" ]; then  	echo "ERROR: unable to read $conf" @@ -36,8 +36,8 @@ fi  eval $(awk '/DBPath/ {print $1$2$3}' "$conf")  eval $(awk '/CacheDir/ {print $1$2$3}' "$conf") -pac_db="${DBPath:-/var/lib/pacman}/local" -pac_cache="${CacheDir:-/var/cache/pacman/pkg}" +pac_db="${DBPath:-@localstatedir@/lib/pacman}/local" +pac_cache="${CacheDir:-@localstatedir@/cache/pacman/pkg}"  error() {  	local mesg=$1; shift diff --git a/contrib/pacsearch b/contrib/pacsearch.in index a20df265..a20df265 100755 --- a/contrib/pacsearch +++ b/contrib/pacsearch.in diff --git a/contrib/pactree b/contrib/pactree deleted file mode 100755 index 73bece3a..00000000 --- a/contrib/pactree +++ /dev/null @@ -1,321 +0,0 @@ -#!/bin/bash -# pactree : a simple dependency tree viewer -# -# Copyright (C) 2008 Carlo "carlocci" Bersani <carlocci@gmail.com> -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program.  If not, see <http://www.gnu.org/licenses/>. - -# Original http://carlocci.ngi.it/arch/pactree -# Credit to scj for the graphviz idea - -# set the colors -branch1_color="\033[0;33m"    #Brown -branch2_color="\033[0;37m"    #Gray -leaf_color="\033[1;32m"       #Light green -leaf2_color="\033[0;32m"      #Green - -# set the separators -separator="   " -branch_tip1="|--" -branch_tip2="+--" -provides="provides " - -# set the graphviz options -# http://www.graphviz.org/doc/info/output.html for available output formats -# http://www.graphviz.org/doc/info/colors.html for available colors -gformat="png"                 #output format -start_color="red"             #START color -nodes_color="green"           #color of the nodes -arrow1_color="chocolate4"     #color of the normal arrow -arrow2_color="grey"           #color of the "provided by" headless arrow - -readonly prog_name="pactree" -readonly prog_ver="0.3" - -_usage(){ -	echo "This program generates the dependency tree of an installed package" -	echo "Usage:   $prog_name [OPTIONS] <installed packages>" -	echo -	echo " OPTIONS:" -	echo "  -c, --color                Enable color output" -	echo "  -d, --depth INT            Limit the shown dependencies depth" -	echo "  -g, --graph                Use graphviz to make an image of the tree" -	echo "  -l, --linear               Enable linear output" -	echo "  -r, --reversed             Show reversed dependancies" -	echo "  -s, --silent               Shh, let me hear those errors!" -	echo "  -u, --unique               Print the dependency list with no duplicates" -	echo -	echo "  -h, --help                 Print this help message" -	echo "  -v, --version              Print the program name and version" -	echo -	echo "Example: $prog_name -c -d2 readline" -} - -_version(){ -	echo "$prog_name version $prog_ver" -	echo "Copyright (C) 2008 Carlo \"carlocci\" Bersani <carlocci@gmail.com>" -} -# end of the friendliness - - -# grab a field from the database: $1=path/to/file, $2=field to grab -_grabfield(){ -	for line in $(cat "$1" 2>/dev/null ); do -		if [ -z "$line" ]; then -			continue; -		fi; -		if [[ "$line" =~ %[A-Z]*% ]]; then -			current="$line" -			continue; -		fi; -		if [ "$current" = "$2" ]; then -			echo "$line" -		fi; -	done -} - - -# find a dep in the db: $1=dep, $2=field, $3=dbfile, ret=file list -_finddep(){ -	for line in $(awk 'BEGIN{RS=""} -	                   { -	                   if ($1=="'"$2"'"){ -	                     for (i=2 ; i<=NF ; ++i){ -	                       if ($i ~ /^'"$1"'([<>=]+.*|)$/ ){ -	                         print FILENAME} -	                       } -	                     } -	                   }' $(find $pac_db -name $3)); do -		echo "${line%/*}" -	done -} - - -# Recursive function: does all of the work, pays all of the taxes     # -_tree(){ -	pkg_name="$1" -	pkg_dirs="$(echo $pac_db/$pkg_name-[0-9]*)" - -	# Is $pkg_name real or provided? -	[ ! -d "$pkg_dirs" ] && pkg_dirs="$(_finddep $pkg_name %PROVIDES% depends)" - -	for pkg_dir in $pkg_dirs ; do -		spaces="$2" -		unset provided -		branch_tip="$branch_tip1" -		branch_color="$branch1_color" -		pkg_name="$(_grabfield "$pkg_dir/desc" %NAME%)" -		if [ ! "$pkg_name" = "$1" ]; then -			provided="$leaf2_color $provides$leaf_color$1" -			branch_tip="$branch_tip2" -			branch_color="$branch2_color" -			if [ $graphviz -eq 1 ] && [[ ! "${dep_list[@]}" =~ _$1_ ]] && [ $spaces -ne $((max_depth+1)) ]; then -				echo "\"$1\" -> \"$pkg_name\" [arrowhead=none, color=$arrow2_color];" -				dep_list=( "${dep_list[@]}" "_$1_" ) -				_tree "$pkg_name" $((spaces+1)) -				continue -			fi -		fi - -		# Generate the spacer -		spacer="" -		for each in $(seq 1 $spaces); do -			spacer="$spacer$separator" -		done -		spacer="$spacer$branch_tip" - -		[ $silent -ne 1 ] &&	echo -e "$branch_color$spacer$leaf_color$pkg_name$provided" - -		[ ! -d "$pkg_dir" ] && echo "No $pkg_name in the database (inconsistent database?)" >&2 - -		if [[ ! " ${dep_list[@]} " =~ " $pkg_name " ]] && [ $spaces -ne $max_depth ]; then -			dep_list=( "${dep_list[@]}" "$pkg_name" ) -			if [ $reversed_dep -eq 0 ]; then -				deps_pkg="$(_grabfield "$pkg_dir/depends" %DEPENDS%)" -			else -				reqs_pkg_dir="$(_finddep "$pkg_name" %DEPENDS% depends)" -				unset deps_pkg -				for req_pkg_dir in $reqs_pkg_dir; do -					deps_pkg=$(echo "$deps_pkg" "$(_grabfield "$req_pkg_dir/desc" %NAME%)") -				done -			fi -			for dep_pkg in $deps_pkg; do -				spaces=$2		#Bash scoping ;_; -				if [ $graphviz -eq 1 ]; then -					echo "\"$1\" -> \"${dep_pkg%%[<>=]*}\" [color=$arrow1_color];" -				fi -				_tree "${dep_pkg%%[<>=]*}" $((spaces+1)) -			done -		fi -	done -} - - -# Main program: gets all of the money, pays none of the taxes - -# Command line parameters parser -if [ $# -eq 0 ]; then -	_usage -	exit 1 -fi - -options=( "$@" ) -len_options=${#options[@]} -for (( n=0 ; n < $len_options ; n++ )); do -	if [ "${options[$n]}" = "--" ]; then -		unset options[$n] -		break -	fi -	if [ "${options[$n]}" = "-h" -o "${options[$n]}" = "--help" ]; then -		_usage -		exit 0 -	fi - -	if [ "${options[$n]}" = "-v" -o "${options[$n]}" = "--version" ]; then -		_version -		exit 0 -	fi - -	if [ "${options[$n]}" = "-l" -o "${options[$n]}" = "--linear" ]; then -		unset options[$n] -		linear=1 -		continue -	fi - -	if [ "${options[$n]}" = "-s" -o "${options[$n]}" = "--silent" ]; then -		unset options[$n] -		silent=1 -		continue -	fi - -	if [ "${options[$n]}" = "-u" -o "${options[$n]}" = "--unique" ]; then -		unset options[$n] -		silent=1 -		nodup=1 -		continue -	fi - -	if [ "${options[$n]}" = "-g" -o "${options[$n]}" = "--graph" ]; then -		unset options[$n] -		graphviz=1 -		continue -	fi - -	if [ "${options[$n]}" = "-c" -o "${options[$n]}" = "--color" ]; then -		unset options[$n] -		colored=1 -		continue -	fi - -	if [ "${options[$n]}" = "-r" -o "${options[$n]}" = "--reversed" ]; then -		unset options[$n] -		reversed_dep=1 -		continue -	fi - -	if [[ "${options[$n]}" =~ -d[[:digit:]]+ || "${options[$n]}" == "--depth" ]]; then -		if [[ "${options[$n]#-d}" =~ [[:digit:]]+ ]]; then -			max_depth="${options[$n]#-d}" -		elif [[ ${options[$((n+1))]} =~ [[:digit:]]+ ]]; then -			max_depth="${options[$((n+1))]}" -			unset options[$((n+1))] -			((++n)) -		fi -		unset options[$n] -		continue -	fi -done -# End of the dumb command line parser - -# Env -colored=${colored:-0} -max_depth=${max_depth:--10} -linear=${linear:-0} -silent=${silent:-0} -nodup=${nodup:-0} -graphviz=${graphviz:-0} -reversed_dep=${reversed_dep:-0} - -if [ $colored -ne 1 ]; then -	unset branch1_color -	unset leaf_color -	unset leaf2_color -	unset branch2_color -fi - -if [ $linear -eq 1 ]; then -	unset separator -	unset branch_tip1 -	unset branch_tip2 -	unset provides -fi - -if [ $graphviz -eq 1 ]; then -	silent=1 -	nodup=0 -	if [ ! -f /usr/bin/dot ]; then -		echo "ERROR: package graphviz is not installed" -		echo "       Run pacman -S graphviz to install it" -		exit 1 -	fi -fi - -if [ ! -r /etc/pacman.conf ]; then -	echo "ERROR: unable to read /etc/pacman.conf" -	exit 1 -else -	eval $(awk '/DBPath/ {print $1$2$3}' /etc/pacman.conf) -fi - -pac_db="${DBPath:-/var/lib/pacman}/local" - -if [ ! -d "$pac_db" ] ; then -	echo "ERROR: pacman database directory ${pac_db} not found" -	exit 1 -fi -# Env End - - -# Program starts -_main(){ -	for pkg_name in ${options[@]} ; do -		[ $graphviz -eq 1 ] && echo -e "\"START\" -> \"$pkg_name\" ;" -		_tree "$pkg_name" 0 -		if [ $nodup -eq 1 ]; then -			for pkg_tree in ${dep_list[@]} ; do -				echo "$pkg_tree" -			done -		fi -	done -	if [ $silent -eq 0 ]; then -		echo -ne '\033[0m' # return colors to normal? -		echo -ne '\033[?25h' #return cursor to normal? -	fi -} - - -if [ $graphviz -eq 1 ]; then -	root_pkgs="${options[@]}" -	# Uncomment for the "generated by pactree" node in graphviz -	#advert="xyz [height=0.07, fontsize=8.0, label=\"GENERATED WITH PACTREE\",shape=box,color="black",style=filled,fontcolor="white"];\n" -	if [ $reversed_dep -eq 0 ]; then -		file_extension="deps.$gformat" -	else -		file_extension="reqs.$gformat" -	fi -	echo -e "digraph G { START [color=$start_color, style=filled];\n node [style=filled, color=$nodes_color];\n$(_main)\n$advert}" | dot -T$gformat -o "${root_pkgs// /_}.$file_extension" -else _main -fi - -# vim: set ts=2 sw=2 noet: diff --git a/contrib/wget-xdelta.sh b/contrib/wget-xdelta.sh.in index 4656f4dd..f2ac1c87 100755 --- a/contrib/wget-xdelta.sh +++ b/contrib/wget-xdelta.sh.in @@ -1,7 +1,7 @@ -#!/bin/bash +#!@BASH_SHELL@ -if [ -r "/etc/makepkg.conf" ]; then -	source /etc/makepkg.conf +if [ -r "@sysconfdir@/makepkg.conf" ]; then +	source @sysconfdir@/makepkg.conf  else  	echo "wget-xdelta: Unable to find makepkg.conf"  	exit 1 @@ -30,11 +30,11 @@ new_version=$(echo $pkg_data | cut -d ' ' -f 2)  base_url=${file_url%/*}  # Look for the last version -for file in $(ls -r /var/cache/pacman/pkg/${pkgname}-*-*{,-$CARCH}$PKGEXT 2>/dev/null); do +for file in $(ls -r @localstatedir@/cache/pacman/pkg/${pkgname}-*-*{,-$CARCH}$PKGEXT 2>/dev/null); do  	[[ "$file" =~ "$CARCH" ]] && arch="-$CARCH" || arch=""  	check_version=$(echo $file | \  		sed "s|^.*/${pkgname}-\([[:alnum:]_\.]*-[[:alnum:]_\.]*\)${arch}$PKGEXT$|\1|" | \ -		grep -v "^/var/cache/pacman/pkg") +		grep -v "^@localstatedir@/cache/pacman/pkg")  	[ "$check_version" = "" ] && continue diff --git a/contrib/zsh_completion b/contrib/zsh_completion.in index f69fe631..16919134 100644 --- a/contrib/zsh_completion +++ b/contrib/zsh_completion.in @@ -222,20 +222,20 @@ _pacman_completions_all_groups() {  _pacman_completions_all_packages() {  	local -a cmd packages repositories packages_long -	repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options}) +	repositories=(${(o)${${${(M)${(f)"$(<@sysconfdir@/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})  	typeset -U repositories -	packages_long=(/var/lib/pacman/sync/${^repositories}/*(/)) -	packages=(${(o)${${packages_long/\/var\/lib\/pacman\/sync\//}#*/}%-*-*} ) +	packages_long=(@localstatedir@/lib/pacman/sync/${^repositories}/*(/)) +	packages=(${(o)${${packages_long#@localstatedir@/lib/pacman/sync/}#*/}%-*-*} )  	typeset -U packages  	_wanted packages expl "packages" compadd - "${(@)packages}"  	if [[ $PREFIX != */* ]] ; then -		repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options}) +		repositories=(${(o)${${${(M)${(f)"$(<@sysconfdir@/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})  		typeset -U repositories  		_wanted repo_packages expl "repository/package" compadd -S "/" $repositories  	else  		compset -P '*/' -		packages_long=(/var/lib/pacman/sync/$IPREFIX*(/)) -		packages=(${(o)${${packages_long/\/var\/lib\/pacman\/sync\//}#*/}%-*-*} ) +		packages_long=(@localstatedir@/lib/pacman/sync/$IPREFIX*(/)) +		packages=(${(o)${${packages_long#@localstatedir@/lib/pacman/sync/}#*/}%-*-*} )  		typeset -U packages  		_wanted repo_packages expl "repository/package" compadd ${(@)packages}  	fi @@ -253,15 +253,15 @@ _pacman_completions_installed_groups() {  # provides completions for installed packages  _pacman_completions_installed_packages() {  	local -a cmd packages packages_long -	packages_long=(/var/lib/pacman/local/*(/)) -	packages=( ${${packages_long/\/var\/lib\/pacman\/local\//}%-*-*} ) +	packages_long=(@localstatedir@/lib/pacman/local/*(/)) +	packages=( ${${packages_long#@localstatedir@/lib/pacman/local/}%-*-*} )  	compadd "$@" -a packages  }  # provides completions for repository names  _pacman_completions_repositories() {  	local -a cmd repositories -	repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options}) +	repositories=(${(o)${${${(M)${(f)"$(<@sysconfdir@/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})  	# Uniq the array  	typeset -U repositories  	compadd "$@" -a repositories | 
