]> git.pld-linux.org Git - packages/bash-completion.git/blame - bash-completion.spec
- update to 1.0, epoch: 1
[packages/bash-completion.git] / bash-completion.spec
CommitLineData
d29cc16a
ER
1# TODO
2# - bittorrent complete doesn't actually handle our prognames
3# - handle multiple package links (freeciv case)
7a6139c0 4Summary: bash-completion offers programmable completion for bash
dc5beabb 5Summary(pl.UTF-8): Programowalne uzupełnianie nazw dla basha
d27c9ff9 6Name: bash-completion
993e26e2
ER
7Version: 1.0
8Release: 1
9Epoch: 1
aa677e2c 10License: GPL
7a6139c0 11Group: Applications/Shells
993e26e2
ER
12Source0: http://bash-completion.alioth.debian.org/files/%{name}-%{version}.tar.gz
13# Source0-md5: cd1c5648272917fbe0eef4ba30bb93f4
80319ab9 14Source1: %{name}-poldek.sh
f4f5d91d
ER
15Source2: %{name}.sh
16Patch0: %{name}-rpm-cache.patch
d0a05e0d 17Patch1: %{name}-mplayer.patch
d710ecea 18URL: http://bash-completion.alioth.debian.org/
8820cfb2 19Requires(triggerpostun): sed >= 4.0
7a6139c0 20Requires: bash >= 2.05a-3
80319ab9 21Obsoletes: bash-completion-rpm-cache
c65ce1a0 22Conflicts: rpm < 4.4.9-44
23c95f44 23BuildArch: noarch
7a6139c0 24BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
aa677e2c 25
26%description
27bash-completion is a collection of shell functions that take advantage
7a6139c0 28of the programmable completion feature of bash 2.04 and later.
aa677e2c 29
5b7e80f9
JR
30%description -l pl.UTF-8
31bash-completion jest kolekcją funkcji shella, które opierają się na
32wbudowanych rozszerzeniach basha 2.04 lub późniejszego umożliwiającego
33kompletowanie parametrów linii poleceń.
aa677e2c 34
35%prep
993e26e2 36%setup -q
deca8a33 37%patch0 -p1
e9c9a2cf 38%patch1 -p1
d29cc16a
ER
39cp -a %{SOURCE1} contrib/poldek
40
41# cleanup backups after patching
42find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
43
44# packaged by subversion.spec
45rm contrib/_subversion
46
47# No package matches '*/apache2ctl'
48rm contrib/apache2ctl
49
50# No PLD package or no such binary to complete on
993e26e2 51rm contrib/{harbour,larch,lisp,modules,monodevelop,p4,cowsay,cpan2dist}
aa677e2c 52
e9c9a2cf
ER
53%install
54rm -rf $RPM_BUILD_ROOT
d29cc16a
ER
55install -d $RPM_BUILD_ROOT{%{_sysconfdir}/bash_completion.d,/etc/shrc.d,%{_datadir}/%{name}}
56
57T=$(grep -c '^%%bashcomp_trigger' %{_specdir}/%{name}.spec)
58F=$(grep -c '^%%{_datadir}/%%{name}/' %{_specdir}/%{name}.spec)
59if [ $T != $F ]; then
60 check_triggers() {
61 echo >&2 "ERROR: triggers count and packaged files mismatch"
62 for f in $(awk '/^%%bashcomp_trigger/{print $3 ? $3 : $2}' %{_specdir}/%{name}.spec); do
63 A=$(awk -vf=$f '$0 == "%%{_datadir}/%%{name}/" f {print}' %{_specdir}/%{name}.spec)
64 if [ -z "$A" ]; then
65 echo >&2 "!! $f not listed in %%files"
66 fi
67 done
68 for f in $(awk -F/ '$0 ~ "^%%{_datadir}/%%{name}/"{print $NF}' %{_specdir}/%{name}.spec); do
69 A=$(awk -vf=$f '/^%%bashcomp_trigger/ && ($3 ? $3 : $2) == f' %{_specdir}/%{name}.spec)
70 if [ -z "$A" ]; then
71 echo >&2 "!! $f has no trigger"
72 fi
73 done
74 }
75 check_triggers
76 exit 1
77fi
78
79cp -a bash_completion $RPM_BUILD_ROOT%{_sysconfdir}
80cp -a contrib/* $RPM_BUILD_ROOT%{_datadir}/%{name}
f4f5d91d 81install %{SOURCE2} $RPM_BUILD_ROOT/etc/shrc.d
8820cfb2 82
d29cc16a
ER
83# Take care of contrib files
84for a in contrib/*; do
85 f=${a##*/}
9e60043b 86 ln -s ../..%{_datadir}/%{name}/$f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
d29cc16a
ER
87 echo "%ghost %{_sysconfdir}/bash_completion.d/$f"
88done > %{name}-ghost.list
89
8820cfb2
ER
90%clean
91rm -rf $RPM_BUILD_ROOT
92
80319ab9 93%triggerpostun -- %{name} < 20050721-3.9
8820cfb2 94sed -i -e '/^# START bash completion/,/^# END bash completion/d' /etc/bashrc
aa677e2c 95
d29cc16a
ER
96%triggerpostun -- %{name} < 20081219-0.1
97# don't do anything on --downgrade
98if [ $1 -le 1 ]; then
99 exit 0
100fi
101# No rpm in vservers
102if [ ! -x /bin/rpm ]; then
103 exit 0
104fi
105
106# This ugly trigger is here because we package same pathnames as ghost
107# meaning the files will lay around from previous package version.
108
109# get files which are ghost for us
110files=$(rpm -ql %{name}-%{version}-%{release} | grep %{_sysconfdir}/bash_completion.d/)
111
112# this is to get old pkg NVR, actually gives list of files that are
113# packaged by other versions than this installed one, which is ok even for
114# multiple bash-completion pkgs being installed.
115oldpkg=$(rpm -qf $(echo "$files") 2>/dev/null | grep -v 'is not' | sort -u | grep -v %{name}-%{version}-%{release})
116for a in $(rpm -ql $oldpkg | grep %{_sysconfdir}/bash_completion.d/); do
117 # remove files from old package (which are ghost in new pkg),
118 # if not already converted to symlink
119 [ -L $a ] || rm -f $a
120done
121
122# Usage: bashcomp_trigger PACKAGENAME [SCRIPTNAME]
123%define bashcomp_trigger() \
124%triggerin -- %1\
125if [ ! -L %{_sysconfdir}/bash_completion.d/%{?2}%{!?2:%1} ] ; then\
126 ln -sf ../..%{_datadir}/%{name}/%{?2}%{!?2:%1} %{_sysconfdir}/bash_completion.d\
127fi\
128%triggerun -- %1\
129[ $2 -gt 0 ] || rm -f %{_sysconfdir}/bash_completion.d/%{?2}%{!?2:%1}\
130%{nil}
131
132%bashcomp_trigger bitkeeper
133%bashcomp_trigger BitTorrent bittorrent
993e26e2 134%bashcomp_trigger bridge-utils brctl
d29cc16a
ER
135%bashcomp_trigger cksfv
136%bashcomp_trigger clisp
137%bashcomp_trigger dsniff
138%bashcomp_trigger freeciv-client,freeciv-server freeciv
139%bashcomp_trigger gcc-ada gnatmake
140%bashcomp_trigger gcl
141%bashcomp_trigger gkrellm
142%bashcomp_trigger gnupg2 gpg2
143%bashcomp_trigger lilypond
993e26e2
ER
144%bashcomp_trigger lzma,xz lzma
145%bashcomp_trigger lzop
d29cc16a
ER
146%bashcomp_trigger mailman
147%bashcomp_trigger mcrypt
993e26e2 148%bashcomp_trigger minicom
d29cc16a 149%bashcomp_trigger mtx
993e26e2 150%bashcomp_trigger net-tools
d29cc16a
ER
151%bashcomp_trigger openssh-clients ssh
152%bashcomp_trigger poldek
153%bashcomp_trigger povray
993e26e2 154%bashcomp_trigger qemu
d29cc16a 155%bashcomp_trigger QtDBus qdbus
993e26e2
ER
156%bashcomp_trigger quota-tools
157%bashcomp_trigger rdesktop
d29cc16a
ER
158%bashcomp_trigger ruby-modules ri
159%bashcomp_trigger sbcl
160%bashcomp_trigger sitecopy
161%bashcomp_trigger snownews
162%bashcomp_trigger svk
993e26e2 163%bashcomp_trigger tightvnc,vnc vncviewer
d29cc16a
ER
164%bashcomp_trigger unace
165%bashcomp_trigger unixODBC isql
166%bashcomp_trigger unrar
167
168%files -f %{name}-ghost.list
aa677e2c 169%defattr(644,root,root,755)
993e26e2 170%doc README TODO
0b5a8e37 171/etc/shrc.d/%{name}.sh
d29cc16a
ER
172%{_sysconfdir}/bash_completion
173%dir %{_sysconfdir}/bash_completion.d
174%dir %{_datadir}/%{name}
175# we list all files to be sure we have all of them handled by triggers
176%{_datadir}/%{name}/bitkeeper
177%{_datadir}/%{name}/bittorrent
993e26e2 178%{_datadir}/%{name}/brctl
d29cc16a
ER
179%{_datadir}/%{name}/cksfv
180%{_datadir}/%{name}/clisp
181%{_datadir}/%{name}/dsniff
182%{_datadir}/%{name}/freeciv
183%{_datadir}/%{name}/gcl
184%{_datadir}/%{name}/gkrellm
185%{_datadir}/%{name}/gnatmake
186%{_datadir}/%{name}/gpg2
d29cc16a
ER
187%{_datadir}/%{name}/isql
188%{_datadir}/%{name}/lilypond
993e26e2
ER
189%{_datadir}/%{name}/lzma
190%{_datadir}/%{name}/lzop
d29cc16a
ER
191%{_datadir}/%{name}/mailman
192%{_datadir}/%{name}/mcrypt
993e26e2 193%{_datadir}/%{name}/minicom
d29cc16a 194%{_datadir}/%{name}/mtx
993e26e2 195%{_datadir}/%{name}/net-tools
d29cc16a
ER
196%{_datadir}/%{name}/poldek
197%{_datadir}/%{name}/povray
198%{_datadir}/%{name}/qdbus
993e26e2
ER
199%{_datadir}/%{name}/qemu
200%{_datadir}/%{name}/quota-tools
201%{_datadir}/%{name}/rdesktop
d29cc16a
ER
202%{_datadir}/%{name}/ri
203%{_datadir}/%{name}/sbcl
204%{_datadir}/%{name}/sitecopy
205%{_datadir}/%{name}/snownews
206%{_datadir}/%{name}/ssh
207%{_datadir}/%{name}/svk
208%{_datadir}/%{name}/unace
209%{_datadir}/%{name}/unrar
993e26e2 210%{_datadir}/%{name}/vncviewer
This page took 0.152081 seconds and 4 git commands to generate.