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