]> git.pld-linux.org Git - packages/bash.git/blame - bash.spec
- loadables patch still needed; files updated
[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
AM
9%define ver 5.1
10%define patchlevel 0
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
9ecd8d09 42%patchset_source -f https://ftp.gnu.org/gnu/bash/bash-5.0-patches/bash50-%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
66%description
001c539f 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.
a3871122 78
ef6e8bca 79%description -l es.UTF-8
1d0ad239 80Bash es un interpretador de comandos compatible con sh, que ejecuta
ef6e8bca
JR
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
1d0ad239 85Group 1003.2).
86
ef6e8bca 87%description -l de.UTF-8
001c539f 88Bash ist eine sh-kompatible Shell und Kommandosprache aus dem
ef6e8bca 89GNU-Projekt. Bash (Bourne Again Shell) vereinigt die nützlichen
001c539f 90Features aus der Korn-Shell (ksh) und der C-Shell (csh). Die meisten
ef6e8bca 91sh-Skripte laufen ohne Änderungen auf bash. Bash hat viele
001c539f 92Erweiterungen im Vergleich zur "normalen" sh, wie z.B.
ef6e8bca
JR
93Kommandozeilenbearbeitung, unbeschränkte Größe der command-history,
94Job-Kontrolle, Shell-Funktionen und -Aliase, unbegrenzt große
001c539f 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-
ef6e8bca 97und Tools-Standard einzuhalten. Bash ist die Standard-Shell für Linux
8a4ad51c 98Mandrake.
a3871122 99
ef6e8bca
JR
100%description -l fr.UTF-8
101Bash est un shell (interpréteur de commande) du projet GNU, compatible
001c539f 102avec le shell historique sh. Bash (Bourne Again SHell) comprend de
ef6e8bca
JR
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 à
001c539f 10964. Bash est conforme au standard IEEE POSIX P1003.2/ISO 9945.2 Shell
ef6e8bca
JR
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
001c539f 112probablement par l'utiliser.
7d6d2b69 113
ef6e8bca
JR
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
4d6d135d 123ze standardem IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools.
67581caa 124
ef6e8bca
JR
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
1d0ad239 1311003.2).
132
ef6e8bca
JR
133%description -l ru.UTF-8
134Bash - это sh-совместимый интерпретатор командного языка (shell),
135исполняющий команды, поступающие со стандартного ввода или из файла.
136Bash включает полезные расширения из интерпретаторов Korn и C shell
137(ksh и csh).
1d0ad239 138
ef6e8bca 139Bash разрабатывается как реализация, отвечающая IEEE Posix Shell and
1d0ad239 140Tools specification (IEEE Working Group 1003.2).
141
ef6e8bca
JR
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.
67581caa 148
ef6e8bca
JR
149%description -l uk.UTF-8
150Bash - це sh-сумістний інтерпретатор командної мови (shell),
151виконуючий команди зі стандартного вводу або з файла. Bash містить
152користні розширення з інтерпретаторів Korn та C shell (ksh та csh).
1d0ad239 153
ef6e8bca 154Bash розроблявся як реалізація, що відповідає IEEE Posix Shell and
1d0ad239 155Tools specification (IEEE Working Group 1003.2).
156
4f62851f 157%package static
0d32bda9 158Summary: Statically linked GNU Bourne Again Shell (bash)
dcd748fa 159Summary(pl.UTF-8): Statycznie skonsolidowany GNU Bourne Again Shell (bash)
23ed535f 160Group: Applications/Shells
80a4c26d 161Requires: %{name} = %{version}-%{release}
4f62851f
JR
162
163%description static
001c539f 164Bash is a GNU project sh-compatible shell or command language
165interpreter. Bash (Bourne Again shell) incorporates useful features
166from the Korn shell (ksh) and the C shell (csh). Most sh scripts can
167be run by bash without modification. Bash offers several improvements
168over sh, including command line editing, unlimited size command
169history, job control, shell functions and aliases, indexed arrays of
170unlimited size and integer arithmetic in any base from two to 64. Bash
171is ultimately intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
172Shell and Tools standard. Bash is the default shell for Linux
173Mandrake. You should install bash because of its popularity and power.
2f1a3089 174You'll probably end up using it. This package contains statically
c59be5db 175linked version of bash.
4f62851f 176
ef6e8bca
JR
177%description static -l pl.UTF-8
178Bash jest zaawansowaną powłoką, która wykonuje komendy czytane ze
179standardowego wejścia (stdin) lub z pliku. Posiada właściwości powłok
180Korn i C (ksh i csh). Bash jest również zaimplementowany IEEE Posix
181Shell oraz jest zgodny ze specyfikacją - IEEE Working Group 1003.2. W
97eb1e25 182tym pakiecie jest wersja basha skonsolidowana statycznie.
4f62851f 183
12ec2d09
JB
184%package devel
185Summary: Header files for bash plugins development
186Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia wtyczek basha
187Group: Development/Libraries
188# doesn't require base
189
190%description devel
191Header files for bash plugins development.
192
193%description devel -l pl.UTF-8
194Pliki nagłówkowe do tworzenia wtyczek basha.
195
67581caa 196%prep
8bd2c87f 197%setup -q -n %{name}-%{ver} -a5
e588d508 198# official patches
03cee40d 199%{?patchlevel:%patchset_patch 1 %{patchlevel}}
7d6d2b69 200%patch0 -p1
201%patch1 -p1
202%patch2 -p1
203%patch3 -p1
0e4146b6 204%patch4 -p1
6ff1ee53 205%patch5 -p1
de76156e 206%patch6 -p1
9ecd8d09 207%patch7 -p1
c23570b7 208%patch8 -p1
60c0b40e 209%{?with_bash_history:%patch9 -p1}
f2c0c7f0 210%patch10 -p1
232f944c 211%patch11 -p1
7eed9108 212%patch12 -p1
4dfcefcb 213
322c0adb
AM
214sed -i -e 's#/usr/bin/printf#/bin/printf#g' tests/intl2.sub
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
JP
238if [ "$mode" = "static" ]; then
239 mv -f bash bash.static
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
9ecd8d09 338%attr(755,root,root) %{_libdir}/%{name}/fdflags
12ec2d09
JB
339%attr(755,root,root) %{_libdir}/%{name}/finfo
340%attr(755,root,root) %{_libdir}/%{name}/head
341%attr(755,root,root) %{_libdir}/%{name}/id
342%attr(755,root,root) %{_libdir}/%{name}/ln
343%attr(755,root,root) %{_libdir}/%{name}/logname
344%attr(755,root,root) %{_libdir}/%{name}/mkdir
7eed9108
AM
345%attr(755,root,root) %{_libdir}/%{name}/mkfifo
346%attr(755,root,root) %{_libdir}/%{name}/mktemp
12ec2d09
JB
347%attr(755,root,root) %{_libdir}/%{name}/mypid
348%attr(755,root,root) %{_libdir}/%{name}/pathchk
349%attr(755,root,root) %{_libdir}/%{name}/print
350%attr(755,root,root) %{_libdir}/%{name}/printenv
351%attr(755,root,root) %{_libdir}/%{name}/push
352%attr(755,root,root) %{_libdir}/%{name}/realpath
7eed9108 353%attr(755,root,root) %{_libdir}/%{name}/rm
12ec2d09 354%attr(755,root,root) %{_libdir}/%{name}/rmdir
9ecd8d09 355%attr(755,root,root) %{_libdir}/%{name}/seq
12ec2d09
JB
356%attr(755,root,root) %{_libdir}/%{name}/setpgid
357%attr(755,root,root) %{_libdir}/%{name}/sleep
358%attr(755,root,root) %{_libdir}/%{name}/strftime
359%attr(755,root,root) %{_libdir}/%{name}/sync
360%attr(755,root,root) %{_libdir}/%{name}/tee
361%attr(755,root,root) %{_libdir}/%{name}/truefalse
362%attr(755,root,root) %{_libdir}/%{name}/tty
363%attr(755,root,root) %{_libdir}/%{name}/uname
364%attr(755,root,root) %{_libdir}/%{name}/unlink
365%attr(755,root,root) %{_libdir}/%{name}/whoami
366
a651f1c4
JB
367%if %{with static}
368%files static
369%defattr(644,root,root,755)
370%attr(755,root,root) /bin/bash.static
371%endif
12ec2d09
JB
372
373%files devel
374%defattr(644,root,root,755)
375%{_includedir}/bash
376%dir %{_libdir}/%{name}
0af7f780
JB
377%{_libdir}/%{name}/Makefile.inc
378%{_libdir}/%{name}/loadables.h
12ec2d09 379%{_pkgconfigdir}/bash.pc
This page took 0.146282 seconds and 4 git commands to generate.