]> git.pld-linux.org Git - packages/bash.git/blame_incremental - bash.spec
- 3.2.17
[packages/bash.git] / bash.spec
... / ...
CommitLineData
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%bcond_without tests # do not perform "make test"
6#
7%define _ver 3.2
8%define _patchlevel 17
9%define _rel 1
10Summary: GNU Bourne Again Shell (bash)
11Summary(fr.UTF-8): Le shell Bourne Again de GNU
12Summary(pl.UTF-8): Powłoka GNU Bourne Again Shell (bash)
13Name: bash
14Version: %{_ver}.%{_patchlevel}
15Release: %{_rel}%{?with_bash_history:inv}
16License: GPL
17Group: Applications/Shells
18Source0: ftp://ftp.gnu.org/gnu/bash/%{name}-%{_ver}.tar.gz
19# Source0-md5: 00bfa16d58e034e3c2aa27f390390d30
20Source1: %{name}rc
21Source2: %{name}-skel-.%{name}_logout
22Source3: %{name}-skel-.%{name}_profile
23Source4: %{name}-skel-.%{name}rc
24Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
25# Source5-md5: d2aacf89c4a444c5da648da69afdb01a
26# based on GNU TP; omitted: eo (not supported), rw (empty)
27Source6: %{name}-translations.tar.bz2
28# Source6-md5: 99701bc1f919cfc527cb95fadbc66c93
29Patch0: %{name}-paths.patch
30Patch1: %{name}-security.patch
31Patch2: %{name}-autoconf.patch
32Patch3: %{name}-info.patch
33Patch4: %{name}-profile.patch
34Patch5: %{name}-requires.patch
35Patch6: %{name}-compat.patch
36Patch8: %{name}-sighup.patch
37Patch9: %{name}-backup_history.patch
38Patch10: %{name}-act_like_sh.patch
39%patchset_source -f ftp://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-%03g 1 %{_patchlevel}
40URL: http://www.gnu.org/software/bash/
41BuildRequires: autoconf
42BuildRequires: automake
43BuildRequires: bison
44BuildRequires: ncurses-devel >= 5.2
45BuildRequires: readline-devel >= 5.2
46BuildRequires: rpmbuild(macros) >= 1.353
47BuildRequires: sed >= 4.0
48BuildRequires: texinfo
49%if %{with static}
50# Require static library only for static build
51BuildRequires: glibc-static >= 2.2
52BuildRequires: ncurses-static >= 5.2
53BuildRequires: readline-static >= 5.2
54%endif
55Requires(post,preun): grep
56Requires(preun): fileutils
57Requires: grep
58Requires: readline >= 5.2
59Requires: setup >= 2.4.6-2
60Obsoletes: bash-doc
61Obsoletes: bash2
62Obsoletes: bash2-doc
63Obsoletes: etcskel
64BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65
66%description
67Bash is a GNU project sh-compatible shell or command language
68interpreter. Bash (Bourne Again shell) incorporates useful features
69from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
70be run by bash without modification. Bash offers several improvements
71over sh, including command line editing, unlimited size command
72history, job control, shell functions and aliases, indexed arrays of
73unlimited size and integer arithmetic in any base from two to 64. Bash
74is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
75Shell and Tools standard. Bash is the default shell for Linux
76Mandrake. You should install bash because of its popularity and power.
77You'll probably end up using it.
78
79%description -l es.UTF-8
80Bash es un interpretador de comandos compatible con sh, que ejecuta
81comandos leídos de la entrada padrón o de un archivo. Bash también
82incorpora características útiles de las shells Korn y C (ksh y csh).
83Bash ha sido desarrollado para ser una adición compatible con la
84especificación IEEE Posix para shells y herramientas (IEEE Working
85Group 1003.2).
86
87%description -l de.UTF-8
88Bash ist eine sh-kompatible Shell und Kommandosprache aus dem
89GNU-Projekt. Bash (Bourne Again Shell) vereinigt die nützlichen
90Features aus der Korn-Shell (ksh) und der C-Shell (csh). Die meisten
91sh-Skripte laufen ohne Änderungen auf bash. Bash hat viele
92Erweiterungen im Vergleich zur "normalen" sh, wie z.B.
93Kommandozeilenbearbeitung, unbeschränkte Größe der command-history,
94Job-Kontrolle, Shell-Funktionen und -Aliase, unbegrenzt große
95indizierte Arrays und Integer-Arithmetik in einer Basis von 2 bis 64.
96Hauptziel von bash ist es, den IEEE POSIX P1003.2/ISO 9945.2 Shell-
97und Tools-Standard einzuhalten. Bash ist die Standard-Shell für Linux
98Mandrake.
99
100%description -l fr.UTF-8
101Bash est un shell (interpréteur de commande) du projet GNU, compatible
102avec le shell historique sh. Bash (Bourne Again SHell) comprend de
103nombreuses fonctionnalités du Korn SHell (ksh) et du C SHell (csh). La
104plupart des scripts sh sont exécutables sans modifications. Bash
105comprend nombre d'améliorations par rapport à sh : édition de la ligne
106de commande, historique illimité, contrôle des processus
107d'arrière-plan, fonctions de shell, alias, tableaux indexés de taille
108illimitée et calcul sur des entiers dans n'importe quelle base de 2 à
10964. Bash est conforme au standard IEEE POSIX P1003.2/ISO 9945.2 Shell
110and Tools. Bash est le shell par défaut de Mandrake. Vous devriez
111l'installer du fait de sa puissance et de sa popularité. Vous finirez
112probablement par l'utiliser.
113
114%description -l pl.UTF-8
115Bash (Bourne Again SHell) jest projektem GNU powłoki kompatybilnej z
116sh oraz interpretera języka poleceń. Posiada użyteczne właściwości
117powłok Korn (ksh) i C (csh). Większość skryptów sh może być
118uruchamiana w bashu bez modyfikacji. Oferuje on kilka ulepszeń w
119stosunku do sh, włączając edycję linii poleceń, nieograniczony rozmiar
120historii poleceń, funkcje i aliasy, indeksowane tablice
121nieograniczonych rozmiarów oraz arytmetykę całkowitoliczbową o
122dowolnej podstawie od 2 do 64. W zamierzeniu ostatecznie ma być zgodny
123ze standardem IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools.
124
125%description -l pt_BR.UTF-8
126Bash é um interpretador de comandos compatível com sh, que executa
127comandos lidos da entrada padrão ou de um arquivo. Bash também
128incorpora características úteis das shells Korn e C (ksh e csh). Bash
129tem sido desenvolvido para ser uma implementação compatível com a
130especificação IEEE Posix para shells e ferramentas (IEEE Working Group
1311003.2).
132
133%description -l ru.UTF-8
134Bash - это sh-совместимый интерпретатор командного языка (shell),
135исполняющий команды, поступающие со стандартного ввода или из файла.
136Bash включает полезные расширения из интерпретаторов Korn и C shell
137(ksh и csh).
138
139Bash разрабатывается как реализация, отвечающая IEEE Posix Shell and
140Tools specification (IEEE Working Group 1003.2).
141
142%description -l tr.UTF-8
143Bash standart girişten ya da bir dosyadan komut okuyup çalıştıran sh
144uyumlu bir komut dili yorumlayıcısıdır. Aynı zamanda Korn ve C
145kabuklarının (ksh ve csh) kullanışlı özelliklerini de kapsar. Bash,
146IEEE Posix Kabuk ve Araç ayrıntılarına (IEEE Working Group 1003.2)
147uyumlu bir uygulama olarak tasarlanmıştır.
148
149%description -l uk.UTF-8
150Bash - це sh-сумістний інтерпретатор командної мови (shell),
151виконуючий команди зі стандартного вводу або з файла. Bash містить
152користні розширення з інтерпретаторів Korn та C shell (ksh та csh).
153
154Bash розроблявся як реалізація, що відповідає IEEE Posix Shell and
155Tools specification (IEEE Working Group 1003.2).
156
157%package static
158Summary: Statically linked GNU Bourne Again Shell (bash)
159Summary(pl.UTF-8): Statycznie skonsolidowany GNU Bourne Again Shell (bash)
160Group: Applications/Shells
161Requires(post,preun): grep
162Requires(preun): fileutils
163Requires: %{name} = %{version}-%{release}
164
165%description static
166Bash is a GNU project sh-compatible shell or command language
167interpreter. Bash (Bourne Again shell) incorporates useful features
168from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
169be run by bash without modification. Bash offers several improvements
170over sh, including command line editing, unlimited size command
171history, job control, shell functions and aliases, indexed arrays of
172unlimited size and integer arithmetic in any base from two to 64. Bash
173is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
174Shell and Tools standard. Bash is the default shell for Linux
175Mandrake. You should install bash because of its popularity and power.
176You'll probably end up using it. This package contains statically
177linked version of bash.
178
179%description static -l pl.UTF-8
180Bash jest zaawansowaną powłoką, która wykonuje komendy czytane ze
181standardowego wejścia (stdin) lub z pliku. Posiada właściwości powłok
182Korn i C (ksh i csh). Bash jest również zaimplementowany IEEE Posix
183Shell oraz jest zgodny ze specyfikacją - IEEE Working Group 1003.2. W
184tym pakiecie jest wersja basha skonsolidowana statycznie.
185
186%prep
187%setup -q -n %{name}-%{_ver} -a5
188# official patches
189%patchset_patch 1 %{_patchlevel}
190%patch0 -p1
191%patch1 -p1
192%patch2 -p1
193%patch3 -p1
194%patch4 -p1
195%patch5 -p1
196%patch6 -p1
197%patch8 -p1
198%{?with_bash_history:%patch9 -p1}
199%patch10 -p1
200tar xjf %SOURCE6 -C po
201sed -e 's/boldquot ru/boldquot ru af ca de es et fr hu ja nl pl pt_BR ro tr vi/' -i po/LINGUAS
202
203%build
204cp -f /usr/share/automake/config.* support
205%{__autoconf}
206for mode in %{?with_static:static} shared; do
207%configure \
208 --enable-alias \
209 --enable-help-builtin \
210 --enable-history \
211 --enable-job-control \
212 --enable-restricted \
213 --enable-readline \
214 --with-curses \
215 --enable-extended-glob \
216 --enable-dparen-arithmetic \
217 --enable-separate-helpfiles \
218 --without-bash-malloc \
219 `[ "$mode" = "static" ] && echo "--enable-static-link"` \
220 --with-installed-readline
221
222%{__make} \
223 DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
224
225[ "$mode" = "static" ] && mv -f bash bash.static || :
226done
227
228%{?with_tests:%{__make} tests}
229
230%install
231rm -rf $RPM_BUILD_ROOT
232install -d $RPM_BUILD_ROOT{/bin,/etc/skel,%{_datadir}/%{name}}
233%{?with_bash_history:install -d $RPM_BUILD_ROOT/var/log/bash_hist}
234
235%{__make} install \
236 DESTDIR=$RPM_BUILD_ROOT
237
238mv -f $RPM_BUILD_ROOT%{_bindir}/bash $RPM_BUILD_ROOT/bin
239%{?with_static:install bash.static $RPM_BUILD_ROOT/bin}
240
241install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bashrc
242echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
243
244for d in es fr it ja ko nl pl ; do
245 install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
246 install man/$d/* $RPM_BUILD_ROOT%{_mandir}/$d/man1
247 echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/$d/man1/rbash.1
248done
249
250ln -sf bash $RPM_BUILD_ROOT/bin/rbash
251
252install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/.bash_logout
253install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.bash_profile
254install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/.bashrc
255rm -f $RPM_BUILD_ROOT%{_infodir}/dir
256
257%find_lang %{name}
258
259%clean
260rm -rf $RPM_BUILD_ROOT
261
262%post
263umask 022
264if [ ! -f /etc/shells ]; then
265 echo "/bin/bash" > /etc/shells
266 echo "/bin/rbash" >> /etc/shells
267else
268 if ! grep -q '^/bin/bash$' /etc/shells; then
269 echo "/bin/bash" >> /etc/shells
270 fi
271 if ! grep -q '^/bin/rbash$' /etc/shells; then
272 echo "/bin/rbash" >> /etc/shells
273 fi
274fi
275
276[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
277
278%preun
279if [ "$1" = "0" ]; then
280 umask 022
281 grep -v /bin/bash /etc/shells | grep -v /bin/rbash > /etc/shells.new
282 mv -f /etc/shells.new /etc/shells
283fi
284
285%post static
286umask 022
287if [ ! -f /etc/shells ]; then
288 echo "/bin/bash.static" > /etc/shells
289else
290 if ! grep -q '^/bin/bash.static$' /etc/shells; then
291 echo "/bin/bash.static" >> /etc/shells
292 fi
293fi
294
295%preun static
296if [ "$1" = "0" ]; then
297 umask 022
298 grep -v /bin/bash.static /etc/shells > /etc/shells.new
299 mv -f /etc/shells.new /etc/shells
300fi
301
302%postun
303[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
304
305%files -f %{name}.lang
306%defattr(644,root,root,755)
307%doc CHANGES NEWS README doc/{FAQ,INTRO}
308
309%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bashrc
310%config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_logout
311%config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bash_profile
312%config(noreplace,missingok) %verify(not md5 mtime size) /etc/skel/.bashrc
313
314%attr(755,root,root) /bin/bash
315%attr(755,root,root) /bin/rbash
316%attr(755,root,root) %{_bindir}/bashbug
317
318%{?with_bash_history:%attr(1733,root,root) %dir /var/log/bash_hist}
319%{_infodir}/bash.info*
320%{_mandir}/man1/*
321%lang(es) %{_mandir}/es/man1/*
322%lang(fr) %{_mandir}/fr/man1/*
323%lang(it) %{_mandir}/it/man1/*
324%lang(ja) %{_mandir}/ja/man1/*
325%lang(ko) %{_mandir}/ko/man1/*
326%lang(nl) %{_mandir}/nl/man1/*
327%lang(pl) %{_mandir}/pl/man1/*
328%{_datadir}/%{name}
329
330%if %{with static}
331%files static
332%defattr(644,root,root,755)
333%attr(755,root,root) /bin/bash.static
334%endif
This page took 0.068392 seconds and 4 git commands to generate.