packages: bash-completion/bash-completion.spec - add mysqldump completion -...

glen glen at pld-linux.org
Thu Nov 19 12:35:17 CET 2009


Author: glen                         Date: Thu Nov 19 11:35:17 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- add mysqldump completion
- add support for multiple completions for same rpm package trigger
- rel 2

---- Files affected:
packages/bash-completion:
   bash-completion.spec (1.155 -> 1.156) 

---- Diffs:

================================================================
Index: packages/bash-completion/bash-completion.spec
diff -u packages/bash-completion/bash-completion.spec:1.155 packages/bash-completion/bash-completion.spec:1.156
--- packages/bash-completion/bash-completion.spec:1.155	Thu Nov 19 12:33:45 2009
+++ packages/bash-completion/bash-completion.spec	Thu Nov 19 12:35:11 2009
@@ -9,7 +9,7 @@
 Summary(pl.UTF-8):	Programowalne uzupełnianie nazw dla basha
 Name:		bash-completion
 Version:	1.1
-Release:	1
+Release:	2
 Epoch:		1
 License:	GPL
 Group:		Applications/Shells
@@ -17,6 +17,9 @@
 # Source0-md5:	593d3edcf287b9e9d735049bd4d3f229
 Source1:	%{name}-poldek.sh
 Source2:	%{name}.sh
+# https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.0/+bug/106975
+Source3:	http://launchpadlibrarian.net/19164189/mysqldump
+# Source3-md5:	09e4885be92e032400ed702f39925d85
 Patch0:		%{name}-rpm-cache.patch
 Patch1:		%{name}-service.patch
 URL:		http://bash-completion.alioth.debian.org/
@@ -41,6 +44,7 @@
 %patch0 -p1
 %patch1 -p1
 cp -a %{SOURCE1} contrib/poldek
+cp -a %{SOURCE3} contrib/mysqldump
 
 # cleanup backups after patching
 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
@@ -93,27 +97,25 @@
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/bash_completion.d,/etc/shrc.d,%{_datadir}/%{name}}
 
-T=$(grep -c '^%%bashcomp_trigger' %{_specdir}/%{name}.spec)
-F=$(grep -c '^%%{_datadir}/%%{name}/' %{_specdir}/%{name}.spec)
-if [ $T != $F ]; then
-	check_triggers() {
-		echo >&2 "ERROR: triggers count and packaged files mismatch"
-		for f in $(awk '/^%%bashcomp_trigger/{print $3 ? $3 : $2}' %{_specdir}/%{name}.spec); do
-			A=$(awk -vf=$f '$0 == "%%{_datadir}/%%{name}/" f {print}' %{_specdir}/%{name}.spec)
-			if [ -z "$A" ]; then
-				echo >&2 "!! $f not listed in %%files"
-			fi
-		done
-		for f in $(awk -F/ '$0 ~ "^%%{_datadir}/%%{name}/"{print $NF}' %{_specdir}/%{name}.spec); do
-			A=$(awk -vf=$f '/^%%bashcomp_trigger/ && ($3 ? $3 : $2) == f' %{_specdir}/%{name}.spec)
-			if [ -z "$A" ]; then
-				echo >&2 "!! $f has no trigger"
-			fi
-		done
-	}
-	check_triggers
-	exit 1
-fi
+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 %%files"
+			err=1
+		fi
+	done
+	for comp in $(awk -F/ '$0 ~ "^%%{_datadir}/%%{name}/"{print $NF}' %{_specdir}/%{name}.spec); do
+		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 bash_completion $RPM_BUILD_ROOT%{_sysconfdir}
 cp -a contrib/* $RPM_BUILD_ROOT%{_datadir}/%{name}
@@ -158,14 +160,22 @@
 	[ -L $a ] || rm -f $a
 done
 
-# Usage: bashcomp_trigger PACKAGENAME [SCRIPTNAME]
+# Usage: bashcomp_trigger PACKAGENAME[,PACKAGENAME] [SCRIPTNAME][,SCRIPTNAME]
 %define bashcomp_trigger() \
 %triggerin -- %1\
-if [ ! -L %{_sysconfdir}/bash_completion.d/%{?2}%{!?2:%1} ] ; then\
-	ln -sf ../..%{_datadir}/%{name}/%{?2}%{!?2:%1} %{_sysconfdir}/bash_completion.d\
-fi\
+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\
-[ $2 -gt 0 ] || rm -f %{_sysconfdir}/bash_completion.d/%{?2}%{!?2:%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 ant
@@ -236,7 +246,7 @@
 %bashcomp_trigger munin
 %bashcomp_trigger munin-node
 %bashcomp_trigger mutt
-%bashcomp_trigger mysql-client mysqladmin
+%bashcomp_trigger mysql-client mysqladmin,mysqldump
 %bashcomp_trigger ncftp
 %bashcomp_trigger net-tools
 %bashcomp_trigger nfs-utils rpcdebug
@@ -371,6 +381,7 @@
 %{_datadir}/%{name}/munin-node
 %{_datadir}/%{name}/mutt
 %{_datadir}/%{name}/mysqladmin
+%{_datadir}/%{name}/mysqldump
 %{_datadir}/%{name}/ncftp
 %{_datadir}/%{name}/net-tools
 %{_datadir}/%{name}/ntpdate
@@ -434,6 +445,11 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.156  2009/11/19 11:35:11  glen
+- add mysqldump completion
+- add support for multiple completions for same rpm package trigger
+- rel 2
+
 Revision 1.155  2009/11/19 11:33:45  glen
 - fix /sbin/service completion
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/bash-completion/bash-completion.spec?r1=1.155&r2=1.156&f=u



More information about the pld-cvs-commit mailing list