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