[packages/bash-completion/bash-completion-2.0-DEVEL] drop triggers, no longer needed

glen glen at pld-linux.org
Thu Aug 2 20:56:26 CEST 2012


commit e24590f87ea02c07e2f0d5885dc966446d00425e
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Thu Aug 2 21:54:46 2012 +0300

    drop triggers, no longer needed
    
    extra completions loaded on demand by _completion_loader

 bash-completion.spec | 406 ++-------------------------------------------------
 1 file changed, 13 insertions(+), 393 deletions(-)
---
diff --git a/bash-completion.spec b/bash-completion.spec
index f578178..ef18e8e 100644
--- a/bash-completion.spec
+++ b/bash-completion.spec
@@ -1,8 +1,5 @@
 # vim:ft=spec
 # TODO
-# - finish v1.3 => v2 transition:
-#   - deal with new completions
-#   - revise enabling method (files are now per-command, not per-package)
 # - bittorrent complete doesn't actually handle our prognames
 # - use mkinitrd and update for geninitrd
 # - can we have duplicate trigger on pwdutils pkg? merge files?
@@ -11,7 +8,7 @@ Summary:	bash-completion offers programmable completion for bash
 Summary(pl.UTF-8):	Programowalne uzupełnianie nazw dla basha
 Name:		bash-completion
 Version:	2.0
-Release:	0.1
+Release:	0.2
 Epoch:		1
 License:	GPL v2+
 Group:		Applications/Shells
@@ -49,10 +46,10 @@ dopełnianie parametrów linii poleceń.
 
 %prep
 %setup -q
-cp -a %{SOURCE1} completions/poldek
-cp -a %{SOURCE3} completions/mysqldump
-cp -a %{SOURCE4} completions/pear
-cp -a %{SOURCE5} completions/phing
+cp -p %{SOURCE1} completions/poldek
+cp -p %{SOURCE3} completions/mysqldump
+cp -p %{SOURCE4} completions/pear
+cp -p %{SOURCE5} completions/phing
 %patch0 -p1
 %patch1 -p1
 
@@ -68,7 +65,7 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
 
 %install
 rm -rf $RPM_BUILD_ROOT
-#install -d $RPM_BUILD_ROOT{%{_sysconfdir}/bash_completion.d,/etc/shrc.d,%{_datadir}/%{name}}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
 
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT \
@@ -76,6 +73,7 @@ rm -rf $RPM_BUILD_ROOT
 
 cp -p completions/_yum $RPM_BUILD_ROOT%{_datadir}/%{name}/completions/yum
 cp -p completions/_yum-utils $RPM_BUILD_ROOT%{_datadir}/%{name}/completions/yum-utils
+
 # No package matches '*/apache2ctl'
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/completions/apache2ctl
 # No PLD package or no such binary to complete on
@@ -86,41 +84,12 @@ cp -p completions/_yum-utils $RPM_BUILD_ROOT%{_datadir}/%{name}/completions/yum-
 # no package to hook to
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/completions/configure
 
-err=0
-check_triggers() {
-	for comp in $(awk '/^%%bashcomp_trigger/{print $3 ? $3 : $2}' %{_specdir}/%{name}.spec | tr ',' ' '); do
-		l=$(awk -vcomp=$comp '$0 == "%%{_datadir}/%%{name}/" comp {print}' %{_specdir}/%{name}.spec)
-		if [ -z "$l" ]; then
-			echo >&2 "!! $comp not listed in %%{_datadir}/%{name}/"
-			err=1
-		fi
-	done
-	for comp in $(awk -F/ '$0 ~ "^%%{_datadir}/%%{name}/"{print $NF}' %{_specdir}/%{name}.spec); do
-		comp=$(echo "$comp" | sed -e 's,+,\\&,g')
-		l=$(awk -vcomp=$comp '/^%%bashcomp_trigger/ && ($3 ? $3 : $2) ~ "(^|,)"comp"(,|$)"' %{_specdir}/%{name}.spec)
-		if [ -z "$l" ]; then
-			echo >&2 "!! $comp has no trigger"
-			err=1
-		fi
-	done
-}
-check_triggers
-[ "$err" != 0 ] && exit $err
-
 # ?
 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/shrc.d
 
 # do not generate autodeps
 chmod a-x $RPM_BUILD_ROOT%{_datadir}/%{name}/helpers/perl
 
-# Take care of completions files
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
-for a in $RPM_BUILD_ROOT%{_datadir}/%{name}/completions/*; do
-	f=${a##*/}
-	ln -s %{_datadir}/%{name}/completions/$f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
-	echo "%ghost %{_sysconfdir}/bash_completion.d/$f"
-done > %{name}-ghost.list
-
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -153,364 +122,15 @@ for a in $(rpm -ql $oldpkg | grep %{_sysconfdir}/bash_completion.d/); do
 	[ -L $a ] || rm -f $a
 done
 
-# Usage: bashcomp_trigger PACKAGENAME[,PACKAGENAME] [SCRIPTNAME][,SCRIPTNAME]
-%define bashcomp_trigger() \
-%triggerin -- %1\
-for comp in {%{?2}%{!?2:%1},}; do\
-	[ "$comp" ] || continue\
-	if [ ! -L %{_sysconfdir}/bash_completion.d/$comp ]; then\
-		ln -sf ../..%{_datadir}/%{name}/$comp %{_sysconfdir}/bash_completion.d\
-	fi\
-done\
-%triggerun -- %1\
-if [ $2 = 0 ]; then\
-	for comp in {%{?2}%{!?2:%1},}; do\
-		[ "$comp" ] || continue\
-		rm -f %{_sysconfdir}/bash_completion.d/$comp\
-	done\
-fi
-%{nil}
-
-%bashcomp_trigger BitTorrent bittorrent
-%bashcomp_trigger ImageMagick imagemagick
-%bashcomp_trigger QtDBus qdbus
-%bashcomp_trigger X11,xorg-app-xhost xhost
-%bashcomp_trigger X11,xorg-app-xrandr xrandr
-%bashcomp_trigger abook
-%bashcomp_trigger ant
-%bashcomp_trigger apt
-%bashcomp_trigger aptitude
-%bashcomp_trigger aspell
-%bashcomp_trigger autoconf
-%bashcomp_trigger automake
-%bashcomp_trigger autorpm
-%bashcomp_trigger bash bash-builtins
-%bashcomp_trigger bind-utils
-%bashcomp_trigger bitkeeper
-%bashcomp_trigger bluez
-%bashcomp_trigger bridge-utils brctl
-%bashcomp_trigger bzip2
-%bashcomp_trigger cdrkit,cdrtools wodim
-%bashcomp_trigger cdrtools-mkisofs,dvdrtools-mkisofs genisoimage
-%bashcomp_trigger chkconfig
-%bashcomp_trigger cksfv
-%bashcomp_trigger clisp
-%bashcomp_trigger coreutils
-%bashcomp_trigger coreutils dd
-%bashcomp_trigger cpio
-%bashcomp_trigger cronie,fcron,hc-cron,vixie-crond crontab
-%bashcomp_trigger cryptsetup-luks,cryptsetup cryptsetup
-%bashcomp_trigger cups-clients cups
-%bashcomp_trigger cvsnt,cvs cvs
-%bashcomp_trigger cvsps
-%bashcomp_trigger dhcp-client dhclient
-%bashcomp_trigger dict
-%bashcomp_trigger dpkg
-%bashcomp_trigger dsniff
-%bashcomp_trigger dvd+rw-tools
-%bashcomp_trigger e2fsprogs
-%bashcomp_trigger expat xmlwf
-%bashcomp_trigger findutils
-%bashcomp_trigger freeciv-client
-%bashcomp_trigger freeciv-server
-%bashcomp_trigger freeswan ipsec
-%bashcomp_trigger fuse
-%bashcomp_trigger gcc,gcc-java,fortran,gcc-c++ gcc
-%bashcomp_trigger gcc-ada gnatmake
-%bashcomp_trigger gcl
-%bashcomp_trigger gdb
-%bashcomp_trigger gkrellm
-%bashcomp_trigger glibc iconv
-%bashcomp_trigger glibc-misc getent
-%bashcomp_trigger gnupg gpg
-%bashcomp_trigger gnupg2 gpg2
-%bashcomp_trigger gzip
-%bashcomp_trigger heimdal
-%bashcomp_trigger hping2
-%bashcomp_trigger iftop
-%bashcomp_trigger info,pinfo info
-%bashcomp_trigger ipmitool
-%bashcomp_trigger iproute2
-%bashcomp_trigger iptables
-%bashcomp_trigger ipv6calc
-%bashcomp_trigger jar
-%bashcomp_trigger java-sun-jre,java-gcj-compat java
-%bashcomp_trigger k3b
-%bashcomp_trigger ldapvi
-%bashcomp_trigger lftp
-%bashcomp_trigger libxml2-progs xmllint
-%bashcomp_trigger lilo
-%bashcomp_trigger links
-%bashcomp_trigger lrzip
-%bashcomp_trigger lsof
-%bashcomp_trigger lvm2 lvm
-%bashcomp_trigger lzma,xz lzma
-%bashcomp_trigger lzop
-%bashcomp_trigger mailman
-%bashcomp_trigger make
-%bashcomp_trigger man
-%bashcomp_trigger mc
-%bashcomp_trigger mcrypt
-%bashcomp_trigger mdadm
-%bashcomp_trigger medusa
-%bashcomp_trigger minicom
-%bashcomp_trigger module-init-tools
-%bashcomp_trigger mount
-%bashcomp_trigger mplayer
-%bashcomp_trigger mtx
-%bashcomp_trigger multisync-msynctool,msynctool msynctool
-%bashcomp_trigger munin
-%bashcomp_trigger munin-node
-%bashcomp_trigger mutt
-%bashcomp_trigger mysql-client mysqladmin,mysqldump
-%bashcomp_trigger ncftp
-%bashcomp_trigger net-tools
-%bashcomp_trigger nfs-utils rpcdebug
-%bashcomp_trigger nmap
-%bashcomp_trigger ntp-client ntpdate
-%bashcomp_trigger open-iscsi
-%bashcomp_trigger openldap
-%bashcomp_trigger openssh-clients ssh
-%bashcomp_trigger openssl-tools openssl
-%bashcomp_trigger pcmciautils cardctl
-%bashcomp_trigger pdksh sh
-%bashcomp_trigger perl-base perl
-%bashcomp_trigger php-pear-PEAR pear
-%bashcomp_trigger php-phing,phing phing
-%bashcomp_trigger pine
-%bashcomp_trigger pkgconfig pkg-config
-%bashcomp_trigger pm-utils
-%bashcomp_trigger poldek
-%bashcomp_trigger postfix
-%bashcomp_trigger postgresql-clients postgresql
-%bashcomp_trigger povray
-%bashcomp_trigger procps
-%bashcomp_trigger procps sysctl
-%bashcomp_trigger pwdutils shadow
-%bashcomp_trigger pwdutils,shadow-extras chsh
-%bashcomp_trigger python
-%bashcomp_trigger qemu
-%bashcomp_trigger quota-tools
-%bashcomp_trigger rc-scripts service,ifupdown
-%bashcomp_trigger rcs
-%bashcomp_trigger rdesktop
-%bashcomp_trigger resolvconf
-%bashcomp_trigger rfkill
-%bashcomp_trigger rpm
-%bashcomp_trigger rrdtool
-%bashcomp_trigger rsync
-%bashcomp_trigger ruby-modules ri
-%bashcomp_trigger samba-client samba
-%bashcomp_trigger sbcl
-%bashcomp_trigger screen
-%bashcomp_trigger sitecopy
-%bashcomp_trigger smartmontools,smartsuite smartctl
-%bashcomp_trigger snownews
-%bashcomp_trigger sqlite3
-%bashcomp_trigger sshfs-fuse sshfs
-%bashcomp_trigger strace
-%bashcomp_trigger svk
-%bashcomp_trigger sysbench
-%bashcomp_trigger tar
-%bashcomp_trigger tcpdump
-%bashcomp_trigger tightvnc vncviewer
-%bashcomp_trigger unace
-%bashcomp_trigger unixODBC isql
-%bashcomp_trigger unrar
-%bashcomp_trigger upstart-SysVinit,SysVinit sysvinit
-%bashcomp_trigger util-linux,util-linux-ng util-linux
-%bashcomp_trigger util-linux-ng rtcwake
-%bashcomp_trigger vpnc
-%bashcomp_trigger wireless-tools
-%bashcomp_trigger wol
-%bashcomp_trigger wtf
-%bashcomp_trigger wvdial
-%bashcomp_trigger xen xm
-%bashcomp_trigger xmms
-%bashcomp_trigger xorg-app-xmodmap xmodmap
-%bashcomp_trigger xorg-app-xrdb xrdb
-%bashcomp_trigger xsltproc
-%bashcomp_trigger xz
-%bashcomp_trigger yp-tools
-%bashcomp_trigger yum
-%bashcomp_trigger yum-arch
-%bashcomp_trigger yum-utils
-
-%files -f %{name}-ghost.list
+%files
 %defattr(644,root,root,755)
-%doc AUTHORS CHANGES README TODO
-
-/etc/shrc.d/%{name}.sh
-%{_sysconfdir}/bash_completion
+%doc AUTHORS CHANGES README
+/etc/shrc.d/bash_completion.sh
 %dir %{_sysconfdir}/bash_completion.d
 %dir %{_datadir}/%{name}
+%{_datadir}/%{name}/bash_completion
 %dir %{_datadir}/%{name}/completions
-# we list all files to be sure we have all of them handled by triggers
-%{_datadir}/%{name}/completions/abook
-%{_datadir}/%{name}/completions/ant
-%{_datadir}/%{name}/completions/apt
-%{_datadir}/%{name}/completions/aptitude
-%{_datadir}/%{name}/completions/aspell
-%{_datadir}/%{name}/completions/autoconf
-%{_datadir}/%{name}/completions/automake
-%{_datadir}/%{name}/completions/autorpm
-%{_datadir}/%{name}/completions/bash-builtins
-%{_datadir}/%{name}/completions/bind-utils
-%{_datadir}/%{name}/completions/bitkeeper
-%{_datadir}/%{name}/completions/bittorrent
-%{_datadir}/%{name}/completions/bluez
-%{_datadir}/%{name}/completions/brctl
-%{_datadir}/%{name}/completions/bzip2
-%{_datadir}/%{name}/completions/cardctl
-%{_datadir}/%{name}/completions/chkconfig
-%{_datadir}/%{name}/completions/chsh
-%{_datadir}/%{name}/completions/cksfv
-%{_datadir}/%{name}/completions/clisp
-%{_datadir}/%{name}/completions/coreutils
-%{_datadir}/%{name}/completions/cpio
-%{_datadir}/%{name}/completions/crontab
-%{_datadir}/%{name}/completions/cryptsetup
-%{_datadir}/%{name}/completions/cups
-%{_datadir}/%{name}/completions/cvs
-%{_datadir}/%{name}/completions/cvsps
-%{_datadir}/%{name}/completions/dd
-%{_datadir}/%{name}/completions/dhclient
-%{_datadir}/%{name}/completions/dict
-%{_datadir}/%{name}/completions/dpkg
-%{_datadir}/%{name}/completions/dsniff
-%{_datadir}/%{name}/completions/dvd+rw-tools
-%{_datadir}/%{name}/completions/e2fsprogs
-%{_datadir}/%{name}/completions/findutils
-%{_datadir}/%{name}/completions/freeciv-client
-%{_datadir}/%{name}/completions/freeciv-server
-%{_datadir}/%{name}/completions/fuse
-%{_datadir}/%{name}/completions/gcc
-%{_datadir}/%{name}/completions/gcl
-%{_datadir}/%{name}/completions/gdb
-%{_datadir}/%{name}/completions/genisoimage
-%{_datadir}/%{name}/completions/getent
-%{_datadir}/%{name}/completions/gkrellm
-%{_datadir}/%{name}/completions/gnatmake
-%{_datadir}/%{name}/completions/gpg
-%{_datadir}/%{name}/completions/gpg2
-%{_datadir}/%{name}/completions/gzip
-%{_datadir}/%{name}/completions/heimdal
-%{_datadir}/%{name}/completions/hping2
-%{_datadir}/%{name}/completions/iconv
-%{_datadir}/%{name}/completions/iftop
-%{_datadir}/%{name}/completions/ifupdown
-%{_datadir}/%{name}/completions/imagemagick
-%{_datadir}/%{name}/completions/info
-%{_datadir}/%{name}/completions/ipmitool
-%{_datadir}/%{name}/completions/iproute2
-%{_datadir}/%{name}/completions/ipsec
-%{_datadir}/%{name}/completions/iptables
-%{_datadir}/%{name}/completions/ipv6calc
-%{_datadir}/%{name}/completions/isql
-%{_datadir}/%{name}/completions/jar
-%{_datadir}/%{name}/completions/java
-%{_datadir}/%{name}/completions/k3b
-%{_datadir}/%{name}/completions/ldapvi
-%{_datadir}/%{name}/completions/lftp
-%{_datadir}/%{name}/completions/lilo
-%{_datadir}/%{name}/completions/links
-%{_datadir}/%{name}/completions/lrzip
-%{_datadir}/%{name}/completions/lsof
-%{_datadir}/%{name}/completions/lvm
-%{_datadir}/%{name}/completions/lzma
-%{_datadir}/%{name}/completions/lzop
-%{_datadir}/%{name}/completions/mailman
-%{_datadir}/%{name}/completions/make
-%{_datadir}/%{name}/completions/man
-%{_datadir}/%{name}/completions/mc
-%{_datadir}/%{name}/completions/mcrypt
-%{_datadir}/%{name}/completions/mdadm
-%{_datadir}/%{name}/completions/medusa
-%{_datadir}/%{name}/completions/minicom
-%{_datadir}/%{name}/completions/module-init-tools
-%{_datadir}/%{name}/completions/mount
-%{_datadir}/%{name}/completions/mplayer
-%{_datadir}/%{name}/completions/msynctool
-%{_datadir}/%{name}/completions/mtx
-%{_datadir}/%{name}/completions/munin
-%{_datadir}/%{name}/completions/munin-node
-%{_datadir}/%{name}/completions/mutt
-%{_datadir}/%{name}/completions/mysqladmin
-%{_datadir}/%{name}/completions/mysqldump
-%{_datadir}/%{name}/completions/ncftp
-%{_datadir}/%{name}/completions/net-tools
-%{_datadir}/%{name}/completions/nmap
-%{_datadir}/%{name}/completions/ntpdate
-%{_datadir}/%{name}/completions/open-iscsi
-%{_datadir}/%{name}/completions/openldap
-%{_datadir}/%{name}/completions/openssl
-%{_datadir}/%{name}/completions/pear
-%{_datadir}/%{name}/completions/perl
-%{_datadir}/%{name}/completions/phing
-%{_datadir}/%{name}/completions/pine
-%{_datadir}/%{name}/completions/pkg-config
-%{_datadir}/%{name}/completions/pm-utils
-%{_datadir}/%{name}/completions/poldek
-%{_datadir}/%{name}/completions/postfix
-%{_datadir}/%{name}/completions/postgresql
-%{_datadir}/%{name}/completions/povray
-%{_datadir}/%{name}/completions/procps
-%{_datadir}/%{name}/completions/python
-%{_datadir}/%{name}/completions/qdbus
-%{_datadir}/%{name}/completions/qemu
-%{_datadir}/%{name}/completions/quota-tools
-%{_datadir}/%{name}/completions/rcs
-%{_datadir}/%{name}/completions/rdesktop
-%{_datadir}/%{name}/completions/resolvconf
-%{_datadir}/%{name}/completions/rfkill
-%{_datadir}/%{name}/completions/ri
-%{_datadir}/%{name}/completions/rpcdebug
-%{_datadir}/%{name}/completions/rpm
-%{_datadir}/%{name}/completions/rrdtool
-%{_datadir}/%{name}/completions/rsync
-%{_datadir}/%{name}/completions/rtcwake
-%{_datadir}/%{name}/completions/samba
-%{_datadir}/%{name}/completions/sbcl
-%{_datadir}/%{name}/completions/screen
-%{_datadir}/%{name}/completions/service
-%{_datadir}/%{name}/completions/sh
-%{_datadir}/%{name}/completions/shadow
-%{_datadir}/%{name}/completions/sitecopy
-%{_datadir}/%{name}/completions/smartctl
-%{_datadir}/%{name}/completions/snownews
-%{_datadir}/%{name}/completions/sqlite3
-%{_datadir}/%{name}/completions/ssh
-%{_datadir}/%{name}/completions/sshfs
-%{_datadir}/%{name}/completions/strace
-%{_datadir}/%{name}/completions/svk
-%{_datadir}/%{name}/completions/sysbench
-%{_datadir}/%{name}/completions/sysctl
-%{_datadir}/%{name}/completions/sysvinit
-%{_datadir}/%{name}/completions/tar
-%{_datadir}/%{name}/completions/tcpdump
-%{_datadir}/%{name}/completions/unace
-%{_datadir}/%{name}/completions/unrar
-%{_datadir}/%{name}/completions/util-linux
-%{_datadir}/%{name}/completions/vncviewer
-%{_datadir}/%{name}/completions/vpnc
-%{_datadir}/%{name}/completions/wireless-tools
-%{_datadir}/%{name}/completions/wodim
-%{_datadir}/%{name}/completions/wol
-%{_datadir}/%{name}/completions/wtf
-%{_datadir}/%{name}/completions/wvdial
-%{_datadir}/%{name}/completions/xhost
-%{_datadir}/%{name}/completions/xm
-%{_datadir}/%{name}/completions/xmllint
-%{_datadir}/%{name}/completions/xmlwf
-%{_datadir}/%{name}/completions/xmms
-%{_datadir}/%{name}/completions/xmodmap
-%{_datadir}/%{name}/completions/xrandr
-%{_datadir}/%{name}/completions/xrdb
-%{_datadir}/%{name}/completions/xsltproc
-%{_datadir}/%{name}/completions/xz
-%{_datadir}/%{name}/completions/yp-tools
-%{_datadir}/%{name}/completions/yum
-%{_datadir}/%{name}/completions/yum-arch
-%{_datadir}/%{name}/completions/yum-utils
+%{_datadir}/%{name}/completions/*
 %dir %{_datadir}/%{name}/helpers
 %attr(755,root,root) %{_datadir}/%{name}/helpers/perl
+%{_npkgconfigdir}/bash-completion.pc


More information about the pld-cvs-commit mailing list