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