]> git.pld-linux.org Git - packages/bash.git/blob - bash.spec
- conditional build with patch to invigilate users
[packages/bash.git] / bash.spec
1 #
2 # Conditional build:
3 # _without_static - don't build static version
4
5 Summary:        GNU Bourne Again Shell (bash)
6 Summary(es):    GNU Bourne Again Shell (bash)
7 Summary(fr):    Le shell Bourne Again de GNU
8 Summary(pl):    Pow³oka GNU Bourne Again Shell (bash)
9 Summary(pt_BR): GNU Bourne Again Shell (bash)
10 Summary(ru):    GNU Bourne Again Shell (bash)
11 Summary(uk):    GNU Bourne Again Shell (bash)
12 Name:           bash
13 Version:        2.05a
14 Release:        14%{?_with_bash_history:inv}
15 License:        GPL
16 Group:          Applications/Shells
17 Source0:        ftp://prep.ai.mit.edu/pub/gnu/bash/%{name}-%{version}.tar.gz
18 Source1:        %{name}rc
19 Source2:        %{name}-skel-.%{name}_logout
20 Source3:        %{name}-skel-.%{name}_profile
21 Source4:        %{name}-skel-.%{name}rc
22 Source5:        http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
23 Patch0:         %{name}-paths.patch
24 Patch1:         %{name}-security.patch
25 Patch2:         %{name}-autoconf.patch
26 Patch3:         %{name}-info.patch
27 Patch4:         %{name}-profile.patch
28 Patch5:         %{name}-requires.patch
29 Patch6:         %{name}-compat.patch
30 Patch7:         %{name}-shellfunc.patch
31 Patch8:         %{name}-DESTDIR.patch
32 Patch9:         %{name}-rlimit_locks.patch
33 Patch10:        %{name}-sighup.patch
34 Patch11:        %{name}-tmpfile.patch
35 Patch13:        %{name}-%{version}-service_completion.patch
36 %{?_with_bash_history:Patch14:bash-backup_history.patch}
37
38 BuildRequires:  autoconf
39 BuildRequires:  automake
40 BuildRequires:  bison
41 BuildRequires:  glibc-devel >= 2.2
42 BuildRequires:  ncurses-devel >= 5.2
43 BuildRequires:  readline-devel >= 4.2
44 BuildRequires:  texinfo
45 %if %{!?_without_static:1}%{?_without_static:0}
46 # Require static library only for static build
47 BuildRequires:  glibc-static >= 2.2
48 BuildRequires:  ncurses-static >= 5.2
49 BuildRequires:  readline-static >= 4.2
50 %endif
51 Requires(post): grep
52 Requires(preun):        grep
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 Obsoletes:      bash-doc
55 Obsoletes:      bash2
56 Obsoletes:      bash2-doc
57 Obsoletes:      etcskel
58
59 %description
60 Bash is a GNU project sh-compatible shell or command language
61 interpreter. Bash (Bourne Again shell) incorporates useful features
62 from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
63 be run by bash without modification. Bash offers several improvements
64 over sh, including command line editing, unlimited size command
65 history, job control, shell functions and aliases, indexed arrays of
66 unlimited size and integer arithmetic in any base from two to 64. Bash
67 is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
68 Shell and Tools standard. Bash is the default shell for Linux
69 Mandrake. You should install bash because of its popularity and power.
70 You'll probably end up using it.
71
72 %description -l es
73 Bash es un interpretador de comandos compatible con sh, que ejecuta
74 comandos leídos de la entrada padrón o de un archivo. Bash también
75 incorpora características útiles de las shells Korn y C (ksh y csh).
76 Bash ha sido desarrollado para ser una adición compatible con la
77 especificación IEEE Posix para shells y herramientas (IEEE Working
78 Group 1003.2).
79
80 %description -l de
81 Bash ist eine sh-kompatible Shell und Kommandosprache aus dem
82 GNU-Projekt. Bash (Bourne Again Shell) vereinigt die nützlichen
83 Features aus der Korn-Shell (ksh) und der C-Shell (csh). Die meisten
84 sh-Skripte laufen ohne Änderungen auf bash. Bash hat viele
85 Erweiterungen im Vergleich zur "normalen" sh, wie z.B.
86 Kommandozeilenbearbeitung, unbeschränkte Größe der command-history,
87 Job-Kontrolle, Shell-Funktionen und -Aliase, unbegrenzt große
88 indizierte Arrays und Integer-Arithmetik in einer Basis von 2 bis 64.
89 Hauptziel von bash ist es, den IEEE POSIX P1003.2/ISO 9945.2 Shell-
90 und Tools-Standard einzuhalten. Bash ist die Standard-Shell für Linux
91 Mandrake.
92
93 %description -l fr
94 Bash est un shell (interpréteur de commande) du projet GNU, compatible
95 avec le shell historique sh. Bash (Bourne Again SHell) comprend de
96 nombreuses fonctionnalités du Korn SHell (ksh) et du C SHell (csh). La
97 plupart des scripts sh sont exécutables sans modifications. Bash
98 comprend nombre d'améliorations par rapport à sh : édition de la ligne
99 de commande, historique illimité, contrôle des processus
100 d'arrière-plan, fonctions de shell, alias, tableaux indexés de taille
101 illimitée et calcul sur des entiers dans n'importe quelle base de 2 à
102 64. Bash est conforme au standard IEEE POSIX P1003.2/ISO 9945.2 Shell
103 and Tools. Bash est le shell par défaut de Mandrake. Vous devriez
104 l'installer du fait de sa puissance et de sa popularité. Vous finirez
105 probablement par l'utiliser.
106
107 %description -l pl
108 Bash (Bourne Again SHell) jest projektem GNU pow³oki kompatybilnej z
109 sh oraz interpretera jêzyka poleceñ. Posiada u¿yteczne w³a¶ciwo¶ci
110 pow³ok Korn (ksh) i C (csh). Wiêkszo¶æ skryptów sh mo¿e byæ
111 uruchamiana w bashu bez modyfikacji. Oferuje on kilka ulepszeñ w
112 stusunku do sh, w³±czaj±c edycjê linii poleceñ, nieograniczony rozmiar
113 historii poleceñ, funkcje i aliasy, indeksowane tablice
114 nieograniczonych rozmiarów oraz arytmetykê ca³kowitoliczbow± o
115 dowolnej podstawie od 2 do 64. W zamierzeniu ostatecznie ma byæ zgodny
116 ze standardem IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools.
117
118 %description -l pt_BR
119 Bash é um interpretador de comandos compatível com sh, que executa
120 comandos lidos da entrada padrão ou de um arquivo. Bash também
121 incorpora características úteis das shells Korn e C (ksh e csh). Bash
122 tem sido desenvolvido para ser uma implementação compatível com a
123 especificação IEEE Posix para shells e ferramentas (IEEE Working Group
124 1003.2).
125
126 %description -l ru
127 Bash - ÜÔÏ sh-ÓÏ×ÍÅÓÔÉÍÙÊ ÉÎÔÅÒÐÒÅÔÁÔÏÒ ËÏÍÁÎÄÎÏÇÏ ÑÚÙËÁ (shell),
128 ÉÓÐÏÌÎÑÀÝÉÊ ËÏÍÁÎÄÙ, ÐÏÓÔÕÐÁÀÝÉÅ ÓÏ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÁ ÉÌÉ ÉÚ ÆÁÊÌÁ.
129 Bash ×ËÌÀÞÁÅÔ ÐÏÌÅÚÎÙÅ ÒÁÓÛÉÒÅÎÉÑ ÉÚ ÉÎÔÅÒÐÒÅÔÁÔÏÒÏ× Korn É C shell
130 (ksh É csh).
131
132 Bash ÒÁÚÒÁÂÁÔÙ×ÁÅÔÓÑ ËÁË ÒÅÁÌÉÚÁÃÉÑ, ÏÔ×ÅÞÁÀÝÁÑ IEEE Posix Shell and
133 Tools specification (IEEE Working Group 1003.2).
134
135 %description -l tr
136 Bash standart giriþten ya da bir dosyadan komut okuyup çalýþtýran sh
137 uyumlu bir komut dili yorumlayýcýsýdýr. Ayný zamanda Korn ve C
138 kabuklarýnýn (ksh ve csh) kullanýþlý özelliklerini de kapsar. Bash,
139 IEEE Posix Kabuk ve Araç ayrýntýlarýna (IEEE Working Group 1003.2)
140 uyumlu bir uygulama olarak tasarlanmýþtýr.
141
142 %description -l uk
143 Bash - ÃÅ sh-ÓÕͦÓÔÎÉÊ ¦ÎÔÅÒÐÒÅÔÁÔÏÒ ËÏÍÁÎÄÎϧ ÍÏ×É (shell),
144 ×ÉËÏÎÕÀÞÉÊ ËÏÍÁÎÄÉ Ú¦ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÕ ÁÂÏ Ú ÆÁÊÌÁ. Bash Í¦ÓÔÉÔØ
145 ËÏÒÉÓÔΦ ÒÏÚÛÉÒÅÎÎÑ Ú ¦ÎÔÅÒÐÒÅÔÁÔÏҦנKorn ÔÁ C shell (ksh ÔÁ csh).
146
147 Bash ÒÏÚÒÏÂÌÑ×ÓÑ ÑË ÒÅÁ̦ÚÁæÑ, ÝϠצÄÐÏצÄÁ¤ IEEE Posix Shell and
148 Tools specification (IEEE Working Group 1003.2).
149
150 %package static
151 Summary:        Statically linked GNU Bourne Again Shell (bash)
152 Summary(pl):    Statycznie zlinkowany GNU Bourne Again Shell (bash)
153 Group:          Applications/Shells
154 Requires:       %{name}
155 Requires(post): grep
156 Requires(preun):        grep
157
158 %description static
159 Bash is a GNU project sh-compatible shell or command language
160 interpreter. Bash (Bourne Again shell) incorporates useful features
161 from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
162 be run by bash without modification. Bash offers several improvements
163 over sh, including command line editing, unlimited size command
164 history, job control, shell functions and aliases, indexed arrays of
165 unlimited size and integer arithmetic in any base from two to 64. Bash
166 is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
167 Shell and Tools standard. Bash is the default shell for Linux
168 Mandrake. You should install bash because of its popularity and power.
169 You'll probably end up using it. This package contains statically
170 linked version of bash.
171
172 %description static -l pl
173 Bash jest zaawansowanym shellem, który wykonuje komendy czytane ze
174 standardowego wej¶cia (stdin) lub z pliku. Posiada w³a¶ciwo¶ci pow³ok
175 Korn i C (ksh i csh). Bash ma równie¿ zaimplementowany IEEE Posix
176 Shell oraz jest zgodny ze specyfikacj± - IEEE Working Group 1003.2. W
177 tym pakiecie jest statycznie zlinkowany bash.
178
179 %prep
180 %setup -q -a5
181 %patch0 -p1
182 %patch1 -p1
183 %patch2 -p1
184 %patch3 -p1
185 %patch4 -p1
186 %patch5 -p1
187 %patch6 -p1
188 %patch7 -p1
189 %patch8 -p1
190 %patch9 -p1
191 %patch10 -p1
192 %patch13 -p1
193 %{?_with_bash_history:%patch14 -p1}
194
195 echo %{version} > _distribution
196 echo %{release} > _patchlevel
197
198 %build
199 autoconf
200 cp -f /usr/share/automake/config.* support/
201 for mode in %{!?_without_static:static} shared; do
202 %configure \
203         --enable-alias \
204         --enable-help-builtin \
205         --enable-history \
206         --enable-job-control \
207         --enable-restricted \
208         --enable-readline \
209         --with-curses \
210         --enable-extended-glob \
211         --enable-dparen-arithmetic \
212         `[ "$mode" = "static" ] && echo "--enable-static-link"` \
213         --with-installed-readline
214
215 %{__make} DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
216
217 [ "$mode" = "static" ] && mv -f bash bash.static || :
218 done
219
220 %install
221 rm -rf $RPM_BUILD_ROOT
222 install -d $RPM_BUILD_ROOT/{bin,etc/skel}
223
224 %{__make} install DESTDIR=$RPM_BUILD_ROOT
225
226 mv -f $RPM_BUILD_ROOT%{_bindir}/bash $RPM_BUILD_ROOT/bin
227 %{?_without_static:#}install    bash.static $RPM_BUILD_ROOT/bin
228
229 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bashrc
230 echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
231
232 for d in es fr it ja ko nl pl ; do
233         install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
234         install man/$d/* $RPM_BUILD_ROOT%{_mandir}/$d/man1
235         echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/$d/man1/rbash.1
236 done
237
238 ln -sf bash $RPM_BUILD_ROOT/bin/rbash
239
240 install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/.bash_logout
241 install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.bash_profile
242 install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/.bashrc
243
244 gzip -9nf NEWS README doc/{FAQ,INTRO}
245
246 %clean
247 rm -rf $RPM_BUILD_ROOT
248
249 %post
250 if [ ! -f /etc/shells ]; then
251         echo "/bin/bash" > /etc/shells
252         echo "/bin/rbash" >> /etc/shells
253 else
254         if ! grep -q '^/bin/bash$' /etc/shells; then
255                 echo "/bin/bash" >> /etc/shells
256         fi
257         if ! grep -q '^/bin/rbash$' /etc/shells; then
258                 echo "/bin/rbash" >> /etc/shells
259         fi
260 fi
261
262 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
263
264 %post static
265 if [ ! -f /etc/shells ]; then
266         echo "/bin/bash.static" > /etc/shells
267 else
268         if ! grep -q '^/bin/bash.static$' /etc/shells; then
269                 echo "/bin/bash.static" >> /etc/shells
270         fi
271 fi
272
273 %preun
274 if [ "$1" = "0" ]; then
275         grep -v /bin/bash /etc/shells | grep -v /bin/rbash > /etc/shells.new
276         mv -f /etc/shells.new /etc/shells
277 fi
278
279 %preun static
280 if [ "$1" = "0" ]; then
281         grep -v /bin/bash.static /etc/shells > /etc/shells.new
282         mv -f /etc/shells.new /etc/shells
283 fi
284
285 %postun
286 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
287
288 %files
289 %defattr(644,root,root,755)
290 %doc {NEWS,README}.gz doc/{FAQ,INTRO}.gz
291
292 %config %verify(not md5 size mtime) %{_sysconfdir}/bashrc
293 %config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bash_logout
294 %config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bash_profile
295 %config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bashrc
296
297 %attr(755,root,root) /bin/bash
298 %attr(755,root,root) /bin/rbash
299 %attr(755,root,root) %{_bindir}/bashbug
300
301 %{_infodir}/bash.info.gz
302 %{_mandir}/man1/*
303 %lang(es) %{_mandir}/es/man1/*
304 %lang(fr) %{_mandir}/fr/man1/*
305 %lang(it) %{_mandir}/it/man1/*
306 %lang(ja) %{_mandir}/ja/man1/*
307 %lang(ko) %{_mandir}/ko/man1/*
308 %lang(nl) %{_mandir}/nl/man1/*
309 %lang(pl) %{_mandir}/pl/man1/*
310
311 %{?_without_static:#}%files static
312 %{?_without_static:#}%defattr(644,root,root,755)
313 %{?_without_static:#}%attr(755,root,root) /bin/bash.static
This page took 0.048944 seconds and 4 git commands to generate.