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