2 %bcond_without static # don't build static version
3 %bcond_with bash_history # build with additional history in /var/log/bash_hist ;)
4 %bcond_without tests # do not perform "make test"
9 Summary: GNU Bourne Again Shell (bash)
10 Summary(fr.UTF-8): Le shell Bourne Again de GNU
11 Summary(pl.UTF-8): Powłoka GNU Bourne Again Shell (bash)
13 Version: %{ver}%{?patchlevel:.%{patchlevel}}
14 Release: %{rel}%{?with_bash_history:inv}
16 Group: Applications/Shells
17 Source0: http://ftp.gnu.org/gnu/bash/%{name}-%{ver}.tar.gz
18 # Source0-md5: 3fb927c7c33022f1c327f14a81c0d4b0
20 Source2: %{name}-skel-.bash_logout
21 Source3: %{name}-skel-.bash_profile
22 Source4: %{name}-skel-.bashrc
23 Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
24 # Source5-md5: d2aacf89c4a444c5da648da69afdb01a
25 Patch0: %{name}-paths.patch
26 Patch1: %{name}-security.patch
27 Patch2: %{name}-autoconf.patch
28 Patch3: %{name}-info.patch
29 Patch4: %{name}-profile.patch
30 Patch5: %{name}-requires.patch
31 Patch6: %{name}-compat.patch
32 Patch8: %{name}-sighup.patch
33 Patch9: %{name}-backup_history.patch
34 Patch10: %{name}-act_like_sh.patch
35 Patch11: %{name}-elinks_cont.patch
36 Patch12: %{name}-pl.po-update.patch
37 Patch13: %{name}-format-string.patch
38 %patchset_source -f http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-%03g 1 %{patchlevel}
39 URL: http://www.gnu.org/software/bash/
40 BuildRequires: autoconf
41 BuildRequires: automake
43 BuildRequires: ncurses-devel >= 5.2
44 BuildRequires: readline-devel >= 6.2
45 BuildRequires: rpmbuild(macros) >= 1.462
46 BuildRequires: sed >= 4.0
47 BuildRequires: texinfo
49 # Require static library only for static build
50 BuildRequires: glibc-static >= 2.2
51 BuildRequires: ncurses-static >= 5.2
52 BuildRequires: readline-static >= 6.2
54 Requires: readline >= 6.2
55 Requires: setup >= 2.4.6-2
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 Bash is a GNU project sh-compatible shell or command language
64 interpreter. Bash (Bourne Again shell) incorporates useful features
65 from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
66 be run by bash without modification. Bash offers several improvements
67 over sh, including command line editing, unlimited size command
68 history, job control, shell functions and aliases, indexed arrays of
69 unlimited size and integer arithmetic in any base from two to 64. Bash
70 is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
71 Shell and Tools standard. Bash is the default shell for Linux
72 Mandrake. You should install bash because of its popularity and power.
73 You'll probably end up using it.
75 %description -l es.UTF-8
76 Bash es un interpretador de comandos compatible con sh, que ejecuta
77 comandos leídos de la entrada padrón o de un archivo. Bash también
78 incorpora características útiles de las shells Korn y C (ksh y csh).
79 Bash ha sido desarrollado para ser una adición compatible con la
80 especificación IEEE Posix para shells y herramientas (IEEE Working
83 %description -l de.UTF-8
84 Bash ist eine sh-kompatible Shell und Kommandosprache aus dem
85 GNU-Projekt. Bash (Bourne Again Shell) vereinigt die nützlichen
86 Features aus der Korn-Shell (ksh) und der C-Shell (csh). Die meisten
87 sh-Skripte laufen ohne Änderungen auf bash. Bash hat viele
88 Erweiterungen im Vergleich zur "normalen" sh, wie z.B.
89 Kommandozeilenbearbeitung, unbeschränkte Größe der command-history,
90 Job-Kontrolle, Shell-Funktionen und -Aliase, unbegrenzt große
91 indizierte Arrays und Integer-Arithmetik in einer Basis von 2 bis 64.
92 Hauptziel von bash ist es, den IEEE POSIX P1003.2/ISO 9945.2 Shell-
93 und Tools-Standard einzuhalten. Bash ist die Standard-Shell für Linux
96 %description -l fr.UTF-8
97 Bash est un shell (interpréteur de commande) du projet GNU, compatible
98 avec le shell historique sh. Bash (Bourne Again SHell) comprend de
99 nombreuses fonctionnalités du Korn SHell (ksh) et du C SHell (csh). La
100 plupart des scripts sh sont exécutables sans modifications. Bash
101 comprend nombre d'améliorations par rapport à sh : édition de la ligne
102 de commande, historique illimité, contrôle des processus
103 d'arrière-plan, fonctions de shell, alias, tableaux indexés de taille
104 illimitée et calcul sur des entiers dans n'importe quelle base de 2 à
105 64. Bash est conforme au standard IEEE POSIX P1003.2/ISO 9945.2 Shell
106 and Tools. Bash est le shell par défaut de Mandrake. Vous devriez
107 l'installer du fait de sa puissance et de sa popularité. Vous finirez
108 probablement par l'utiliser.
110 %description -l pl.UTF-8
111 Bash (Bourne Again SHell) jest projektem GNU powłoki kompatybilnej z
112 sh oraz interpretera języka poleceń. Posiada użyteczne właściwości
113 powłok Korn (ksh) i C (csh). Większość skryptów sh może być
114 uruchamiana w bashu bez modyfikacji. Oferuje on kilka ulepszeń w
115 stosunku do sh, włączając edycję linii poleceń, nieograniczony rozmiar
116 historii poleceń, funkcje i aliasy, indeksowane tablice
117 nieograniczonych rozmiarów oraz arytmetykę całkowitoliczbową o
118 dowolnej podstawie od 2 do 64. W zamierzeniu ostatecznie ma być zgodny
119 ze standardem IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools.
121 %description -l pt_BR.UTF-8
122 Bash é um interpretador de comandos compatível com sh, que executa
123 comandos lidos da entrada padrão ou de um arquivo. Bash também
124 incorpora características úteis das shells Korn e C (ksh e csh). Bash
125 tem sido desenvolvido para ser uma implementação compatível com a
126 especificação IEEE Posix para shells e ferramentas (IEEE Working Group
129 %description -l ru.UTF-8
130 Bash - это sh-совместимый интерпретатор командного языка (shell),
131 исполняющий команды, поступающие со стандартного ввода или из файла.
132 Bash включает полезные расширения из интерпретаторов Korn и C shell
135 Bash разрабатывается как реализация, отвечающая IEEE Posix Shell and
136 Tools specification (IEEE Working Group 1003.2).
138 %description -l tr.UTF-8
139 Bash standart girişten ya da bir dosyadan komut okuyup çalıştıran sh
140 uyumlu bir komut dili yorumlayıcısıdır. Aynı zamanda Korn ve C
141 kabuklarının (ksh ve csh) kullanışlı özelliklerini de kapsar. Bash,
142 IEEE Posix Kabuk ve Araç ayrıntılarına (IEEE Working Group 1003.2)
143 uyumlu bir uygulama olarak tasarlanmıştır.
145 %description -l uk.UTF-8
146 Bash - це sh-сумістний інтерпретатор командної мови (shell),
147 виконуючий команди зі стандартного вводу або з файла. Bash містить
148 користні розширення з інтерпретаторів Korn та C shell (ksh та csh).
150 Bash розроблявся як реалізація, що відповідає IEEE Posix Shell and
151 Tools specification (IEEE Working Group 1003.2).
154 Summary: Statically linked GNU Bourne Again Shell (bash)
155 Summary(pl.UTF-8): Statycznie skonsolidowany GNU Bourne Again Shell (bash)
156 Group: Applications/Shells
157 Requires: %{name} = %{version}-%{release}
160 Bash is a GNU project sh-compatible shell or command language
161 interpreter. Bash (Bourne Again shell) incorporates useful features
162 from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
163 be run by bash without modification. Bash offers several improvements
164 over sh, including command line editing, unlimited size command
165 history, job control, shell functions and aliases, indexed arrays of
166 unlimited size and integer arithmetic in any base from two to 64. Bash
167 is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
168 Shell and Tools standard. Bash is the default shell for Linux
169 Mandrake. You should install bash because of its popularity and power.
170 You'll probably end up using it. This package contains statically
171 linked version of bash.
173 %description static -l pl.UTF-8
174 Bash jest zaawansowaną powłoką, która wykonuje komendy czytane ze
175 standardowego wejścia (stdin) lub z pliku. Posiada właściwości powłok
176 Korn i C (ksh i csh). Bash jest również zaimplementowany IEEE Posix
177 Shell oraz jest zgodny ze specyfikacją - IEEE Working Group 1003.2. W
178 tym pakiecie jest wersja basha skonsolidowana statycznie.
181 %setup -q -n %{name}-%{ver} -a5
183 %{?patchlevel:%patchset_patch 1 %{patchlevel}}
192 %{?with_bash_history:%patch9 -p1}
199 cp -f /usr/share/automake/config.* support
201 for mode in %{?with_static:static} shared; do
204 --enable-help-builtin \
206 --enable-job-control \
207 --enable-restricted \
210 --enable-extended-glob \
211 --enable-dparen-arithmetic \
212 --enable-separate-helpfiles \
213 --without-bash-malloc \
214 `[ "$mode" = "static" ] && echo "--enable-static-link"` \
215 --with-installed-readline
218 DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
220 [ "$mode" = "static" ] && mv -f bash bash.static || :
223 %{?with_tests:%{__make} tests}
226 rm -rf $RPM_BUILD_ROOT
227 install -d $RPM_BUILD_ROOT{/bin,/etc/skel,%{_datadir}/%{name}}
228 %{?with_bash_history:install -d $RPM_BUILD_ROOT/var/log/bash_hist}
231 DESTDIR=$RPM_BUILD_ROOT
233 mv -f $RPM_BUILD_ROOT%{_bindir}/bash $RPM_BUILD_ROOT/bin
234 %{?with_static:install bash.static $RPM_BUILD_ROOT/bin}
236 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bashrc
237 echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
239 for d in es fr it ja ko nl pl ; do
240 install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
241 install man/$d/* $RPM_BUILD_ROOT%{_mandir}/$d/man1
242 echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/$d/man1/rbash.1
245 ln -sf bash $RPM_BUILD_ROOT/bin/rbash
247 install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/.bash_logout
248 install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.bash_profile
249 install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/.bashrc
250 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
252 # use our bugtracker, upstream will ignore reports from this anyway
253 rm -f $RPM_BUILD_ROOT%{_bindir}/bashbug
258 rm -rf $RPM_BUILD_ROOT
261 %lua_add_etc_shells /bin/bash /bin/rbash
262 os.execute("/usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1")
266 %lua_remove_etc_shells /bin/bash /bin/rbash
269 %postun -p /sbin/postshell
270 -/usr/sbin/fix-info-dir -c %{_infodir}
272 %post static -p <lua>
273 %lua_add_etc_shells /bin/bash.static
275 %preun static -p <lua>
277 %lua_remove_etc_shells /bin/bash.static
280 %files -f %{name}.lang
281 %defattr(644,root,root,755)
282 %doc CHANGES NEWS README doc/{FAQ,INTRO}
284 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bashrc
285 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_logout
286 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_profile
287 %config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bashrc
289 %attr(755,root,root) /bin/bash
290 %attr(755,root,root) /bin/rbash
292 %{?with_bash_history:%attr(1733,root,root) %dir /var/log/bash_hist}
293 %{_infodir}/bash.info*
295 %lang(es) %{_mandir}/es/man1/*
296 %lang(fr) %{_mandir}/fr/man1/*
297 %lang(it) %{_mandir}/it/man1/*
298 %lang(ja) %{_mandir}/ja/man1/*
299 %lang(ko) %{_mandir}/ko/man1/*
300 %lang(nl) %{_mandir}/nl/man1/*
301 %lang(pl) %{_mandir}/pl/man1/*
302 %dir %{_datadir}/%{name}
303 %doc %{_datadir}/%{name}/*
307 %defattr(644,root,root,755)
308 %attr(755,root,root) /bin/bash.static