]> git.pld-linux.org Git - packages/bash-completion.git/blame - bash-completion.spec
- fix /sbin/service completion
[packages/bash-completion.git] / bash-completion.spec
CommitLineData
a951d908 1# vim:ft=spec
d29cc16a
ER
2# TODO
3# - bittorrent complete doesn't actually handle our prognames
a951d908 4# - use mkinitrd and update for geninitrd
a8015381 5# - can we have duplicate trigger on pwdutils pkg? merge files?
8fe2d404 6# - fix vim not to mark this file as bash
7a6139c0 7Summary: bash-completion offers programmable completion for bash
dc5beabb 8Summary(pl.UTF-8): Programowalne uzupełnianie nazw dla basha
d27c9ff9 9Name: bash-completion
7ebfc135
ER
10Version: 1.1
11Release: 1
993e26e2 12Epoch: 1
aa677e2c 13License: GPL
7a6139c0 14Group: Applications/Shells
7ebfc135
ER
15Source0: http://bash-completion.alioth.debian.org/files/%{name}-%{version}.tar.gz
16# Source0-md5: 593d3edcf287b9e9d735049bd4d3f229
80319ab9 17Source1: %{name}-poldek.sh
f4f5d91d
ER
18Source2: %{name}.sh
19Patch0: %{name}-rpm-cache.patch
05eb226f 20Patch1: %{name}-service.patch
d710ecea 21URL: http://bash-completion.alioth.debian.org/
8820cfb2 22Requires(triggerpostun): sed >= 4.0
7a6139c0 23Requires: bash >= 2.05a-3
80319ab9 24Obsoletes: bash-completion-rpm-cache
c65ce1a0 25Conflicts: rpm < 4.4.9-44
23c95f44 26BuildArch: noarch
7a6139c0 27BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
aa677e2c 28
29%description
30bash-completion is a collection of shell functions that take advantage
7a6139c0 31of the programmable completion feature of bash 2.04 and later.
aa677e2c 32
5b7e80f9
JR
33%description -l pl.UTF-8
34bash-completion jest kolekcją funkcji shella, które opierają się na
35wbudowanych rozszerzeniach basha 2.04 lub późniejszego umożliwiającego
36kompletowanie parametrów linii poleceń.
aa677e2c 37
38%prep
7ebfc135 39%setup -q
deca8a33 40%patch0 -p1
05eb226f 41%patch1 -p1
d29cc16a
ER
42cp -a %{SOURCE1} contrib/poldek
43
44# cleanup backups after patching
45find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
46
47# packaged by subversion.spec
48rm contrib/_subversion
8fe2d404
ER
49# soon packaged by yum, but not yet
50mv contrib/{_,}yum
d29cc16a
ER
51
52# No package matches '*/apache2ctl'
53rm contrib/apache2ctl
54
55# No PLD package or no such binary to complete on
7ebfc135 56rm contrib/{larch,lisp,modules,monodevelop,p4,cowsay,cpan2dist}
a951d908 57rm contrib/{cfengine,mkinitrd,repomanage,rpmcheck}
a8015381
ER
58rm contrib/{kldload,pkg_install,portupgrade,pkgtools} # FreeBSD Stuff
59rm contrib/{apt-build,dselect,mock,reportbug,sysv-rc,update-alternatives}
60
61# no package to hook to
62rm contrib/configure
aa677e2c 63
4fd53c3f 64# split freeciv-client,freeciv-server as we have these in separate packages
a951d908 65mv contrib/freeciv .
7ebfc135
ER
66%{__sed} -ne '/civserver completion/,/complete -F _civserver civserver/p;/# Local/,/# ex:/p' freeciv > contrib/freeciv-server
67%{__sed} -ne '/civclient completion/,/complete -F _civclient civclient/p;/# Local/,/# ex:/p' freeciv > contrib/freeciv-client
68if [ $(md5sum freeciv | awk '{print $1}') != "aaaba09338c01cf3c14bbd1bdcb0897f" ]; then
4fd53c3f
ER
69 : check that split out contrib/freeciv-{client,server} are ok and update md5sum
70 exit 1
71fi
a951d908
ER
72
73# split munin as we have subpackage for node
74mv contrib/munin-node .
7ebfc135
ER
75%{__sed} -ne '1,2p;/have munin-update /,/complete -F _munin-update/p;/have munin-run /,/complete -F _munin-run/p;/# Local/,/# ex:/p' munin-node > contrib/munin
76%{__sed} -ne '1,2p;/have munin-node-configure /,/complete -F _munin-node-configure/p;/# Local/,/# ex:/p' munin-node > contrib/munin-node
77if [ $(md5sum munin-node | awk '{print $1}') != "78a95bb707452778355af992e8fe30fa" ]; then
a951d908
ER
78 : check that split out contrib/munin{,-node} are ok and update md5sum
79 exit 1
80fi
81
82# we have lastlog in sysvinit package
83mv contrib/shadow .
84%{__sed} -ne '1,/complete -F _faillog faillog/p' shadow > contrib/shadow
7ebfc135
ER
85%{__sed} -ne '1,2p;/have lastlog/,$p' shadow > contrib/sysvinit
86if [ $(md5sum shadow | awk '{print $1}') != "c62642a786329aa07702b0c09965a9e8" ]; then
a951d908
ER
87 : check that split out contrib/{shadow,sysvinit} are ok and update md5sum
88 exit 1
89fi
4fd53c3f 90
e9c9a2cf
ER
91%install
92rm -rf $RPM_BUILD_ROOT
d29cc16a
ER
93install -d $RPM_BUILD_ROOT{%{_sysconfdir}/bash_completion.d,/etc/shrc.d,%{_datadir}/%{name}}
94
95T=$(grep -c '^%%bashcomp_trigger' %{_specdir}/%{name}.spec)
96F=$(grep -c '^%%{_datadir}/%%{name}/' %{_specdir}/%{name}.spec)
97if [ $T != $F ]; then
98 check_triggers() {
99 echo >&2 "ERROR: triggers count and packaged files mismatch"
100 for f in $(awk '/^%%bashcomp_trigger/{print $3 ? $3 : $2}' %{_specdir}/%{name}.spec); do
101 A=$(awk -vf=$f '$0 == "%%{_datadir}/%%{name}/" f {print}' %{_specdir}/%{name}.spec)
102 if [ -z "$A" ]; then
103 echo >&2 "!! $f not listed in %%files"
104 fi
105 done
106 for f in $(awk -F/ '$0 ~ "^%%{_datadir}/%%{name}/"{print $NF}' %{_specdir}/%{name}.spec); do
107 A=$(awk -vf=$f '/^%%bashcomp_trigger/ && ($3 ? $3 : $2) == f' %{_specdir}/%{name}.spec)
108 if [ -z "$A" ]; then
109 echo >&2 "!! $f has no trigger"
110 fi
111 done
112 }
113 check_triggers
114 exit 1
115fi
116
117cp -a bash_completion $RPM_BUILD_ROOT%{_sysconfdir}
118cp -a contrib/* $RPM_BUILD_ROOT%{_datadir}/%{name}
7ebfc135 119cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/shrc.d
8820cfb2 120
d29cc16a
ER
121# Take care of contrib files
122for a in contrib/*; do
123 f=${a##*/}
9e60043b 124 ln -s ../..%{_datadir}/%{name}/$f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
d29cc16a
ER
125 echo "%ghost %{_sysconfdir}/bash_completion.d/$f"
126done > %{name}-ghost.list
127
8820cfb2
ER
128%clean
129rm -rf $RPM_BUILD_ROOT
130
80319ab9 131%triggerpostun -- %{name} < 20050721-3.9
8820cfb2 132sed -i -e '/^# START bash completion/,/^# END bash completion/d' /etc/bashrc
aa677e2c 133
d29cc16a
ER
134%triggerpostun -- %{name} < 20081219-0.1
135# don't do anything on --downgrade
136if [ $1 -le 1 ]; then
137 exit 0
138fi
139# No rpm in vservers
140if [ ! -x /bin/rpm ]; then
141 exit 0
142fi
143
144# This ugly trigger is here because we package same pathnames as ghost
145# meaning the files will lay around from previous package version.
146
147# get files which are ghost for us
148files=$(rpm -ql %{name}-%{version}-%{release} | grep %{_sysconfdir}/bash_completion.d/)
149
150# this is to get old pkg NVR, actually gives list of files that are
151# packaged by other versions than this installed one, which is ok even for
152# multiple bash-completion pkgs being installed.
153oldpkg=$(rpm -qf $(echo "$files") 2>/dev/null | grep -v 'is not' | sort -u | grep -v %{name}-%{version}-%{release})
154for a in $(rpm -ql $oldpkg | grep %{_sysconfdir}/bash_completion.d/); do
155 # remove files from old package (which are ghost in new pkg),
156 # if not already converted to symlink
157 [ -L $a ] || rm -f $a
158done
159
160# Usage: bashcomp_trigger PACKAGENAME [SCRIPTNAME]
161%define bashcomp_trigger() \
162%triggerin -- %1\
163if [ ! -L %{_sysconfdir}/bash_completion.d/%{?2}%{!?2:%1} ] ; then\
164 ln -sf ../..%{_datadir}/%{name}/%{?2}%{!?2:%1} %{_sysconfdir}/bash_completion.d\
165fi\
166%triggerun -- %1\
167[ $2 -gt 0 ] || rm -f %{_sysconfdir}/bash_completion.d/%{?2}%{!?2:%1}\
168%{nil}
169
a951d908 170%bashcomp_trigger ant
a8015381
ER
171%bashcomp_trigger apt
172%bashcomp_trigger aptitude
173%bashcomp_trigger aspell
174%bashcomp_trigger autorpm
175%bashcomp_trigger bash bash-builtins
a951d908 176%bashcomp_trigger bind-utils
d29cc16a
ER
177%bashcomp_trigger bitkeeper
178%bashcomp_trigger BitTorrent bittorrent
a951d908 179%bashcomp_trigger bluez bluez-utils
993e26e2 180%bashcomp_trigger bridge-utils brctl
a951d908
ER
181%bashcomp_trigger bzip2
182%bashcomp_trigger cdrkit,cdrtools wodim
183%bashcomp_trigger cdrtools-mkisofs,dvdrtools-mkisofs genisoimage
a8015381 184%bashcomp_trigger chkconfig
d29cc16a
ER
185%bashcomp_trigger cksfv
186%bashcomp_trigger clisp
a951d908
ER
187%bashcomp_trigger coreutils dd
188%bashcomp_trigger cpio
a8015381
ER
189%bashcomp_trigger cups-clients cups
190%bashcomp_trigger cvsnt,cvs cvs
a951d908 191%bashcomp_trigger dhcp-client dhclient
a8015381
ER
192%bashcomp_trigger dict
193%bashcomp_trigger dpkg
d29cc16a 194%bashcomp_trigger dsniff
a8015381 195%bashcomp_trigger expat xmlwf
a951d908 196%bashcomp_trigger findutils
4fd53c3f
ER
197%bashcomp_trigger freeciv-client
198%bashcomp_trigger freeciv-server
d29cc16a 199%bashcomp_trigger gcc-ada gnatmake
a8015381 200%bashcomp_trigger gcc,gcc-java,fortran,gcc-c++ gcc
d29cc16a 201%bashcomp_trigger gcl
a951d908 202%bashcomp_trigger gdb
d29cc16a 203%bashcomp_trigger gkrellm
a8015381 204%bashcomp_trigger glibc iconv
a951d908 205%bashcomp_trigger glibc-misc getent
d29cc16a 206%bashcomp_trigger gnupg2 gpg2
a8015381 207%bashcomp_trigger gnupg gpg
a951d908
ER
208%bashcomp_trigger gzip
209%bashcomp_trigger heimdal
210%bashcomp_trigger ImageMagick imagemagick
a8015381 211%bashcomp_trigger info,pinfo info
8fe2d404 212%bashcomp_trigger ipmitool
a8015381
ER
213%bashcomp_trigger iptables
214%bashcomp_trigger jar
215%bashcomp_trigger java-sun-jre,java-gcj-compat java
216%bashcomp_trigger kdelibs dcop
a951d908
ER
217%bashcomp_trigger ldapvi
218%bashcomp_trigger lftp
219%bashcomp_trigger libxml2-progs xmllint
a8015381 220%bashcomp_trigger lilo
a8015381 221%bashcomp_trigger links
a951d908 222%bashcomp_trigger lvm2 lvm
993e26e2
ER
223%bashcomp_trigger lzma,xz lzma
224%bashcomp_trigger lzop
d29cc16a 225%bashcomp_trigger mailman
a951d908 226%bashcomp_trigger make
a8015381 227%bashcomp_trigger man
a951d908 228%bashcomp_trigger mc
d29cc16a 229%bashcomp_trigger mcrypt
8fe2d404 230%bashcomp_trigger mdadm
993e26e2 231%bashcomp_trigger minicom
a951d908 232%bashcomp_trigger mplayer
d29cc16a 233%bashcomp_trigger mtx
a951d908
ER
234%bashcomp_trigger multisync-msynctool,msynctool msynctool
235%bashcomp_trigger munin
236%bashcomp_trigger munin-node
a8015381 237%bashcomp_trigger mutt
a951d908
ER
238%bashcomp_trigger mysql-client mysqladmin
239%bashcomp_trigger ncftp
993e26e2 240%bashcomp_trigger net-tools
a951d908
ER
241%bashcomp_trigger nfs-utils rpcdebug
242%bashcomp_trigger ntp-client ntpdate
243%bashcomp_trigger openldap
d29cc16a 244%bashcomp_trigger openssh-clients ssh
a951d908 245%bashcomp_trigger openssl-tools openssl
a8015381
ER
246%bashcomp_trigger pcmciautils cardctl
247%bashcomp_trigger perl-base perl
248%bashcomp_trigger pine
a951d908 249%bashcomp_trigger pkgconfig pkg-config
d29cc16a 250%bashcomp_trigger poldek
a951d908
ER
251%bashcomp_trigger postfix
252%bashcomp_trigger postgresql-clients postgresql
d29cc16a 253%bashcomp_trigger povray
a8015381 254%bashcomp_trigger procps sysctl
a951d908 255%bashcomp_trigger pwdutils shadow
a8015381
ER
256%bashcomp_trigger pwdutils,shadow-extras chsh
257%bashcomp_trigger python
993e26e2 258%bashcomp_trigger qemu
d29cc16a 259%bashcomp_trigger QtDBus qdbus
993e26e2 260%bashcomp_trigger quota-tools
a8015381 261%bashcomp_trigger rcs
993e26e2 262%bashcomp_trigger rdesktop
8fe2d404 263%bashcomp_trigger resolvconf
7ebfc135 264%bashcomp_trigger rfkill
a8015381
ER
265%bashcomp_trigger rpm
266%bashcomp_trigger rrdtool
a951d908 267%bashcomp_trigger rsync
d29cc16a 268%bashcomp_trigger ruby-modules ri
a951d908 269%bashcomp_trigger samba-client samba
d29cc16a 270%bashcomp_trigger sbcl
a951d908 271%bashcomp_trigger screen
d29cc16a 272%bashcomp_trigger sitecopy
a951d908 273%bashcomp_trigger smartmontools,smartsuite smartctl
d29cc16a 274%bashcomp_trigger snownews
a951d908 275%bashcomp_trigger strace
d29cc16a 276%bashcomp_trigger svk
a951d908 277%bashcomp_trigger tar
a8015381 278%bashcomp_trigger tcpdump
4fd53c3f 279%bashcomp_trigger tightvnc vncviewer
d29cc16a
ER
280%bashcomp_trigger unace
281%bashcomp_trigger unixODBC isql
282%bashcomp_trigger unrar
a951d908
ER
283%bashcomp_trigger upstart-SysVinit,SysVinit sysvinit
284%bashcomp_trigger vpnc
a8015381
ER
285%bashcomp_trigger wireless-tools
286%bashcomp_trigger wvdial
a951d908 287%bashcomp_trigger X11,xorg-app-xhost xhost
a8015381 288%bashcomp_trigger X11,xorg-app-xrandr xrandr
a951d908
ER
289%bashcomp_trigger xen xm
290%bashcomp_trigger xmms
a8015381
ER
291%bashcomp_trigger xz
292%bashcomp_trigger yp-tools
a951d908 293%bashcomp_trigger yum
8fe2d404 294%bashcomp_trigger yum-arch
d29cc16a
ER
295
296%files -f %{name}-ghost.list
aa677e2c 297%defattr(644,root,root,755)
993e26e2 298%doc README TODO
0b5a8e37 299/etc/shrc.d/%{name}.sh
d29cc16a
ER
300%{_sysconfdir}/bash_completion
301%dir %{_sysconfdir}/bash_completion.d
302%dir %{_datadir}/%{name}
303# we list all files to be sure we have all of them handled by triggers
a951d908 304%{_datadir}/%{name}/ant
a8015381
ER
305%{_datadir}/%{name}/apt
306%{_datadir}/%{name}/aptitude
307%{_datadir}/%{name}/aspell
308%{_datadir}/%{name}/autorpm
309%{_datadir}/%{name}/bash-builtins
a951d908 310%{_datadir}/%{name}/bind-utils
d29cc16a
ER
311%{_datadir}/%{name}/bitkeeper
312%{_datadir}/%{name}/bittorrent
a951d908 313%{_datadir}/%{name}/bluez-utils
993e26e2 314%{_datadir}/%{name}/brctl
a951d908 315%{_datadir}/%{name}/bzip2
a8015381
ER
316%{_datadir}/%{name}/cardctl
317%{_datadir}/%{name}/chkconfig
318%{_datadir}/%{name}/chsh
d29cc16a
ER
319%{_datadir}/%{name}/cksfv
320%{_datadir}/%{name}/clisp
a951d908 321%{_datadir}/%{name}/cpio
a8015381
ER
322%{_datadir}/%{name}/cups
323%{_datadir}/%{name}/cvs
324%{_datadir}/%{name}/dcop
a951d908
ER
325%{_datadir}/%{name}/dd
326%{_datadir}/%{name}/dhclient
a8015381
ER
327%{_datadir}/%{name}/dict
328%{_datadir}/%{name}/dpkg
d29cc16a 329%{_datadir}/%{name}/dsniff
a951d908 330%{_datadir}/%{name}/findutils
4fd53c3f
ER
331%{_datadir}/%{name}/freeciv-client
332%{_datadir}/%{name}/freeciv-server
a8015381 333%{_datadir}/%{name}/gcc
d29cc16a 334%{_datadir}/%{name}/gcl
a951d908
ER
335%{_datadir}/%{name}/gdb
336%{_datadir}/%{name}/genisoimage
337%{_datadir}/%{name}/getent
d29cc16a
ER
338%{_datadir}/%{name}/gkrellm
339%{_datadir}/%{name}/gnatmake
a8015381 340%{_datadir}/%{name}/gpg
d29cc16a 341%{_datadir}/%{name}/gpg2
a951d908
ER
342%{_datadir}/%{name}/gzip
343%{_datadir}/%{name}/heimdal
a8015381 344%{_datadir}/%{name}/iconv
a951d908 345%{_datadir}/%{name}/imagemagick
a8015381 346%{_datadir}/%{name}/info
8fe2d404 347%{_datadir}/%{name}/ipmitool
a8015381 348%{_datadir}/%{name}/iptables
d29cc16a 349%{_datadir}/%{name}/isql
a8015381
ER
350%{_datadir}/%{name}/jar
351%{_datadir}/%{name}/java
a951d908
ER
352%{_datadir}/%{name}/ldapvi
353%{_datadir}/%{name}/lftp
a8015381 354%{_datadir}/%{name}/lilo
a8015381 355%{_datadir}/%{name}/links
a951d908 356%{_datadir}/%{name}/lvm
993e26e2
ER
357%{_datadir}/%{name}/lzma
358%{_datadir}/%{name}/lzop
d29cc16a 359%{_datadir}/%{name}/mailman
a951d908 360%{_datadir}/%{name}/make
a8015381 361%{_datadir}/%{name}/man
a951d908 362%{_datadir}/%{name}/mc
d29cc16a 363%{_datadir}/%{name}/mcrypt
8fe2d404 364%{_datadir}/%{name}/mdadm
993e26e2 365%{_datadir}/%{name}/minicom
a951d908
ER
366%{_datadir}/%{name}/mplayer
367%{_datadir}/%{name}/msynctool
d29cc16a 368%{_datadir}/%{name}/mtx
a951d908
ER
369%{_datadir}/%{name}/munin
370%{_datadir}/%{name}/munin-node
a8015381 371%{_datadir}/%{name}/mutt
a951d908
ER
372%{_datadir}/%{name}/mysqladmin
373%{_datadir}/%{name}/ncftp
993e26e2 374%{_datadir}/%{name}/net-tools
a951d908
ER
375%{_datadir}/%{name}/ntpdate
376%{_datadir}/%{name}/openldap
377%{_datadir}/%{name}/openssl
a8015381
ER
378%{_datadir}/%{name}/perl
379%{_datadir}/%{name}/pine
a951d908 380%{_datadir}/%{name}/pkg-config
d29cc16a 381%{_datadir}/%{name}/poldek
a951d908
ER
382%{_datadir}/%{name}/postfix
383%{_datadir}/%{name}/postgresql
d29cc16a 384%{_datadir}/%{name}/povray
a8015381 385%{_datadir}/%{name}/python
d29cc16a 386%{_datadir}/%{name}/qdbus
993e26e2
ER
387%{_datadir}/%{name}/qemu
388%{_datadir}/%{name}/quota-tools
a8015381 389%{_datadir}/%{name}/rcs
993e26e2 390%{_datadir}/%{name}/rdesktop
8fe2d404 391%{_datadir}/%{name}/resolvconf
7ebfc135 392%{_datadir}/%{name}/rfkill
d29cc16a 393%{_datadir}/%{name}/ri
a951d908 394%{_datadir}/%{name}/rpcdebug
a8015381
ER
395%{_datadir}/%{name}/rpm
396%{_datadir}/%{name}/rrdtool
a951d908
ER
397%{_datadir}/%{name}/rsync
398%{_datadir}/%{name}/samba
d29cc16a 399%{_datadir}/%{name}/sbcl
a951d908
ER
400%{_datadir}/%{name}/screen
401%{_datadir}/%{name}/shadow
d29cc16a 402%{_datadir}/%{name}/sitecopy
a951d908 403%{_datadir}/%{name}/smartctl
d29cc16a
ER
404%{_datadir}/%{name}/snownews
405%{_datadir}/%{name}/ssh
a951d908 406%{_datadir}/%{name}/strace
d29cc16a 407%{_datadir}/%{name}/svk
a8015381 408%{_datadir}/%{name}/sysctl
a951d908
ER
409%{_datadir}/%{name}/sysvinit
410%{_datadir}/%{name}/tar
a8015381 411%{_datadir}/%{name}/tcpdump
d29cc16a
ER
412%{_datadir}/%{name}/unace
413%{_datadir}/%{name}/unrar
993e26e2 414%{_datadir}/%{name}/vncviewer
a951d908 415%{_datadir}/%{name}/vpnc
a8015381 416%{_datadir}/%{name}/wireless-tools
a951d908 417%{_datadir}/%{name}/wodim
a8015381 418%{_datadir}/%{name}/wvdial
a951d908
ER
419%{_datadir}/%{name}/xhost
420%{_datadir}/%{name}/xm
421%{_datadir}/%{name}/xmllint
a8015381 422%{_datadir}/%{name}/xmlwf
a951d908 423%{_datadir}/%{name}/xmms
a8015381
ER
424%{_datadir}/%{name}/xrandr
425%{_datadir}/%{name}/xz
426%{_datadir}/%{name}/yp-tools
a951d908 427%{_datadir}/%{name}/yum
8fe2d404 428%{_datadir}/%{name}/yum-arch
This page took 0.138268 seconds and 4 git commands to generate.