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