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