]> git.pld-linux.org Git - packages/bash.git/blame - bash.spec
Up to 5.2.26
[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:
2ead455b
JB
5%bcond_without static # static version
6%bcond_with bash_history # additional history in /var/log/bash_hist ;)
7%bcond_without tests # unit testing
4adb4b80 8
2ead455b 9%define ver 5.2
289f3a33 10%define patchlevel 26
1003364f 11%define rel 1
2ead455b 12%define min_readline 8.2
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
7aba3753 21Source0: https://ftp.gnu.org/gnu/bash/%{name}-%{ver}.tar.gz
2ead455b 22# Source0-md5: cfb4cf795fc239667f187b3d6b3d396f
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
2ead455b 41%patchset_source -f https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-%03g 1 %{patchlevel}
8cdc40d7 42URL: http://www.gnu.org/software/bash/
2ead455b 43BuildRequires: autoconf >= 2.69
c0ebe85a 44BuildRequires: automake
0422a072 45BuildRequires: bison
de477a4d 46BuildRequires: ncurses-devel >= 5.2
9ecd8d09 47BuildRequires: readline-devel >= %{min_readline}
41a1b1c8 48BuildRequires: rpmbuild(macros) >= 1.462
ccf2597d 49BuildRequires: sed >= 4.0
6b611e4d 50BuildRequires: texinfo
cf6e8919 51%if %{with static}
de477a4d 52# Require static library only for static build
0422a072 53BuildRequires: glibc-static >= 2.2
4e122b9a 54BuildRequires: ncurses-static >= 5.2
9ecd8d09 55BuildRequires: readline-static >= %{min_readline}
de477a4d 56%endif
9ecd8d09 57Requires: readline >= %{min_readline}
0c55bbdc 58Requires: setup >= 2.4.6-2
0b28b541 59Obsoletes: bash-doc
2ead455b
JB
60Obsoletes: bash2 < 3
61Obsoletes: bash2-doc < 3
0b28b541 62Obsoletes: etcskel
60c0b40e 63BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67581caa 64
4f7b82fc
JB
65%define _noautoprovfiles %{_libdir}/%{name}
66
67581caa 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
80a4c26d 162Requires: %{name} = %{version}-%{release}
4f62851f
JR
163
164%description static
001c539f 165Bash is a GNU project sh-compatible shell or command language
166interpreter. Bash (Bourne Again shell) incorporates useful features
167from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
168be run by bash without modification. Bash offers several improvements
169over sh, including command line editing, unlimited size command
170history, job control, shell functions and aliases, indexed arrays of
171unlimited size and integer arithmetic in any base from two to 64. Bash
172is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
173Shell and Tools standard. Bash is the default shell for Linux
174Mandrake. You should install bash because of its popularity and power.
2f1a3089 175You'll probably end up using it. This package contains statically
c59be5db 176linked version of bash.
4f62851f 177
ef6e8bca
JR
178%description static -l pl.UTF-8
179Bash jest zaawansowaną powłoką, która wykonuje komendy czytane ze
180standardowego wejścia (stdin) lub z pliku. Posiada właściwości powłok
181Korn i C (ksh i csh). Bash jest również zaimplementowany IEEE Posix
182Shell oraz jest zgodny ze specyfikacją - IEEE Working Group 1003.2. W
97eb1e25 183tym pakiecie jest wersja basha skonsolidowana statycznie.
4f62851f 184
12ec2d09
JB
185%package devel
186Summary: Header files for bash plugins development
187Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia wtyczek basha
188Group: Development/Libraries
189# doesn't require base
190
191%description devel
192Header files for bash plugins development.
193
194%description devel -l pl.UTF-8
195Pliki nagłówkowe do tworzenia wtyczek basha.
196
67581caa 197%prep
8bd2c87f 198%setup -q -n %{name}-%{ver} -a5
e588d508 199# official patches
03cee40d 200%{?patchlevel:%patchset_patch 1 %{patchlevel}}
7d6d2b69 201%patch0 -p1
202%patch1 -p1
203%patch2 -p1
204%patch3 -p1
0e4146b6 205%patch4 -p1
6ff1ee53 206%patch5 -p1
de76156e 207%patch6 -p1
9ecd8d09 208%patch7 -p1
c23570b7 209%patch8 -p1
60c0b40e 210%{?with_bash_history:%patch9 -p1}
f2c0c7f0 211%patch10 -p1
232f944c 212%patch11 -p1
4dfcefcb 213
4f7b82fc 214%{__sed} -i -e 's#/usr/bin/printf#/bin/printf#g' tests/intl2.sub
322c0adb 215
67581caa 216%build
80a4c26d 217cp -f /usr/share/automake/config.* support
f2c0c7f0 218%{__autoconf}
cf6e8919 219for mode in %{?with_static:static} shared; do
a3871122 220%configure \
7d6d2b69 221 --enable-alias \
222 --enable-help-builtin \
223 --enable-history \
224 --enable-job-control \
225 --enable-restricted \
67581caa 226 --enable-readline \
e301b341 227 --with-curses \
228 --enable-extended-glob \
96160a7f 229 --enable-dparen-arithmetic \
c70eed6a 230 --enable-separate-helpfiles \
2246337a 231 --without-bash-malloc \
d7465fdf 232 $([ "$mode" = "static" ] && echo "--enable-static-link") \
61e3c662 233 --with-installed-readline
31838660 234
80a4c26d
JB
235%{__make} \
236 DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
c23570b7 237
bec03478 238if [ "$mode" = "static" ]; then
4f7b82fc 239 %{__mv} bash bash.static
bec03478 240fi
c23570b7 241done
67581caa 242
e407816c
ER
243%{?with_tests:%{__make} tests}
244
67581caa 245%install
5b3ea703 246rm -rf $RPM_BUILD_ROOT
c70eed6a 247install -d $RPM_BUILD_ROOT{/bin,/etc/skel,%{_datadir}/%{name}}
cf6e8919 248%{?with_bash_history:install -d $RPM_BUILD_ROOT/var/log/bash_hist}
83cdd671 249
2e52df12
PG
250%{__make} install \
251 DESTDIR=$RPM_BUILD_ROOT
7d6d2b69 252
12ec2d09 253%{__mv} $RPM_BUILD_ROOT%{_bindir}/bash $RPM_BUILD_ROOT/bin
a651f1c4 254%{?with_static:install bash.static $RPM_BUILD_ROOT/bin}
e301b341 255
5b3ea703 256install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bashrc
001c539f 257echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
258
1e516eb0 259for d in es fr it ja ko nl pl ; do
6bcdcdc6
JB
260 install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
261 install man/$d/* $RPM_BUILD_ROOT%{_mandir}/$d/man1
262 echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/$d/man1/rbash.1
263done
264
7a3d4a72 265ln -sf bash $RPM_BUILD_ROOT/bin/rbash
67581caa 266
5b3ea703
TP
267install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/.bash_logout
268install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.bash_profile
269install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/.bashrc
8f301559 270
d5597b0f 271# use our bugtracker, upstream will ignore reports from this anyway
12ec2d09
JB
272%{__rm} $RPM_BUILD_ROOT%{_bindir}/bashbug \
273 $RPM_BUILD_ROOT%{_mandir}/man1/bashbug.1 \
274 $RPM_BUILD_ROOT%{_mandir}/*/man1/bashbug.1
275# packaged as %doc
276%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/bash
277
278rm -f $RPM_BUILD_ROOT%{_infodir}/dir
d5597b0f 279
60c0b40e
JB
280%find_lang %{name}
281
7a3d4a72
JB
282%clean
283rm -rf $RPM_BUILD_ROOT
284
41a1b1c8
ER
285%post -p <lua>
286%lua_add_etc_shells /bin/bash /bin/rbash
b77458b2 287os.execute("/usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1")
7d6d2b69 288
41a1b1c8
ER
289%preun -p <lua>
290if arg[2] == 0 then
291 %lua_remove_etc_shells /bin/bash /bin/rbash
292end
4f62851f 293
12ec2d09 294%postun -p /sbin/postshell
27fc3f6e 295-/usr/sbin/fix-info-dir -c %{_infodir}
f358ed26 296
41a1b1c8
ER
297%post static -p <lua>
298%lua_add_etc_shells /bin/bash.static
299
300%preun static -p <lua>
301if arg[2] == 0 then
302 %lua_remove_etc_shells /bin/bash.static
303end
ee4033f9 304
60c0b40e 305%files -f %{name}.lang
7d6d2b69 306%defattr(644,root,root,755)
12ec2d09 307%doc AUTHORS CHANGES COMPAT NEWS POSIX README RBASH doc/{FAQ,INTRO,bash.html,bashref.html}
7d6d2b69 308
3eb3ef3a
ER
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
7d6d2b69 313
96160a7f 314%attr(755,root,root) /bin/bash
315%attr(755,root,root) /bin/rbash
7d6d2b69 316
b26f8c7c 317%{?with_bash_history:%attr(1733,root,root) %dir /var/log/bash_hist}
dd7e7833 318%{_infodir}/bash.info*
12ec2d09
JB
319%{_mandir}/man1/bash.1*
320%{_mandir}/man1/rbash.1*
1e516eb0 321%lang(es) %{_mandir}/es/man1/*
6bcdcdc6
JB
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/*
38cd3b3d
ER
328%dir %{_datadir}/%{name}
329%doc %{_datadir}/%{name}/*
67581caa 330
12ec2d09
JB
331# loadables
332%dir %{_libdir}/%{name}
7eed9108 333%attr(755,root,root) %{_libdir}/%{name}/accept
12ec2d09 334%attr(755,root,root) %{_libdir}/%{name}/basename
7eed9108
AM
335%attr(755,root,root) %{_libdir}/%{name}/csv
336%attr(755,root,root) %{_libdir}/%{name}/cut
12ec2d09 337%attr(755,root,root) %{_libdir}/%{name}/dirname
2ead455b 338%attr(755,root,root) %{_libdir}/%{name}/dsv
9ecd8d09 339%attr(755,root,root) %{_libdir}/%{name}/fdflags
12ec2d09 340%attr(755,root,root) %{_libdir}/%{name}/finfo
2ead455b 341%attr(755,root,root) %{_libdir}/%{name}/getconf
12ec2d09
JB
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
2ead455b 360%attr(755,root,root) %{_libdir}/%{name}/stat
12ec2d09
JB
361%attr(755,root,root) %{_libdir}/%{name}/strftime
362%attr(755,root,root) %{_libdir}/%{name}/sync
363%attr(755,root,root) %{_libdir}/%{name}/tee
364%attr(755,root,root) %{_libdir}/%{name}/truefalse
365%attr(755,root,root) %{_libdir}/%{name}/tty
366%attr(755,root,root) %{_libdir}/%{name}/uname
367%attr(755,root,root) %{_libdir}/%{name}/unlink
368%attr(755,root,root) %{_libdir}/%{name}/whoami
369
a651f1c4
JB
370%if %{with static}
371%files static
372%defattr(644,root,root,755)
373%attr(755,root,root) /bin/bash.static
374%endif
12ec2d09
JB
375
376%files devel
377%defattr(644,root,root,755)
378%{_includedir}/bash
379%dir %{_libdir}/%{name}
0af7f780 380%{_libdir}/%{name}/Makefile.inc
2ead455b 381%{_libdir}/%{name}/Makefile.sample
0af7f780 382%{_libdir}/%{name}/loadables.h
12ec2d09 383%{_pkgconfigdir}/bash.pc
This page took 0.160522 seconds and 4 git commands to generate.