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