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