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