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