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