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