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