#
# Conditional build:
-# _without_static - don't build static version
-
+%bcond_without static # don't build static version
+%bcond_with bash_history # build with additional history in /var/log/bash_hist ;)
+##
Summary: GNU Bourne Again Shell (bash)
Summary(es): GNU Bourne Again Shell (bash)
Summary(fr): Le shell Bourne Again de GNU
Summary(ru): GNU Bourne Again Shell (bash)
Summary(uk): GNU Bourne Again Shell (bash)
Name: bash
-Version: 2.05a
-Release: 14%{?_with_bash_history:inv}
+Version: 3.0
+Release: 8%{?with_bash_history:inv}
License: GPL
Group: Applications/Shells
-Source0: ftp://prep.ai.mit.edu/pub/gnu/bash/%{name}-%{version}.tar.gz
+Source0: ftp://ftp.gnu.org/pub/gnu/bash/%{name}-%{version}.tar.gz
+# Source0-md5: 26c4d642e29b3533d8d754995bc277b3
Source1: %{name}rc
Source2: %{name}-skel-.%{name}_logout
Source3: %{name}-skel-.%{name}_profile
Source4: %{name}-skel-.%{name}rc
Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
+# Source5-md5: d2aacf89c4a444c5da648da69afdb01a
Patch0: %{name}-paths.patch
Patch1: %{name}-security.patch
Patch2: %{name}-autoconf.patch
Patch4: %{name}-profile.patch
Patch5: %{name}-requires.patch
Patch6: %{name}-compat.patch
-Patch7: %{name}-shellfunc.patch
-Patch8: %{name}-DESTDIR.patch
-Patch9: %{name}-rlimit_locks.patch
-Patch10: %{name}-sighup.patch
-Patch11: %{name}-tmpfile.patch
-Patch13: %{name}-%{version}-service_completion.patch
-%{?_with_bash_history:Patch14:bash-backup_history.patch}
-
+Patch7: %{name}-rlimit_locks.patch
+Patch8: %{name}-sighup.patch
+Patch9: %{name}-backup_history.patch
+Patch10: %{name}-pmake.patch
+Patch11: %{name}-act_like_sh.patch
+Patch21: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-001
+Patch22: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-002
+Patch23: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-003
+Patch24: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-004
+Patch25: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-005
+Patch26: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-006
+Patch27: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-007
+Patch28: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-008
+Patch29: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-009
+Patch30: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-010
+Patch31: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-011
+Patch32: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-012
+Patch33: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-013
+Patch34: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-014
+Patch35: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-015
+Patch36: ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/bash30-016
+Patch37: %{name}-WCONTINUED.patch
+URL: http://www.gnu.org/software/bash/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
-BuildRequires: glibc-devel >= 2.2
BuildRequires: ncurses-devel >= 5.2
-BuildRequires: readline-devel >= 4.2
+BuildRequires: readline-devel >= 5.0
BuildRequires: texinfo
-%if %{!?_without_static:1}%{?_without_static:0}
+%if %{with static}
# Require static library only for static build
BuildRequires: glibc-static >= 2.2
BuildRequires: ncurses-static >= 5.2
-BuildRequires: readline-static >= 4.2
+BuildRequires: readline-static >= 5.0
%endif
-Requires(post): grep
-Requires(preun): grep
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+PreReq: grep
+Requires(preun): fileutils
+Requires: setup >= 2.4.6-2
+Requires: readline >= 5.0
Obsoletes: bash-doc
Obsoletes: bash2
Obsoletes: bash2-doc
Obsoletes: etcskel
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Bash is a GNU project sh-compatible shell or command language
sh oraz interpretera jêzyka poleceñ. Posiada u¿yteczne w³a¶ciwo¶ci
pow³ok Korn (ksh) i C (csh). Wiêkszo¶æ skryptów sh mo¿e byæ
uruchamiana w bashu bez modyfikacji. Oferuje on kilka ulepszeñ w
-stusunku do sh, w³±czaj±c edycjê linii poleceñ, nieograniczony rozmiar
+stosunku do sh, w³±czaj±c edycjê linii poleceñ, nieograniczony rozmiar
historii poleceñ, funkcje i aliasy, indeksowane tablice
nieograniczonych rozmiarów oraz arytmetykê ca³kowitoliczbow± o
dowolnej podstawie od 2 do 64. W zamierzeniu ostatecznie ma byæ zgodny
%package static
Summary: Statically linked GNU Bourne Again Shell (bash)
-Summary(pl): Statycznie zlinkowany GNU Bourne Again Shell (bash)
+Summary(pl): Statycznie skonsolidowany GNU Bourne Again Shell (bash)
Group: Applications/Shells
-Requires: %{name}
-Requires(post): grep
-Requires(preun): grep
+Requires(post,preun): grep
+Requires(preun): fileutils
+Requires: %{name} = %{version}-%{release}
%description static
Bash is a GNU project sh-compatible shell or command language
linked version of bash.
%description static -l pl
-Bash jest zaawansowanym shellem, który wykonuje komendy czytane ze
+Bash jest zaawansowan± pow³ok±, która wykonuje komendy czytane ze
standardowego wej¶cia (stdin) lub z pliku. Posiada w³a¶ciwo¶ci pow³ok
-Korn i C (ksh i csh). Bash ma równie¿ zaimplementowany IEEE Posix
+Korn i C (ksh i csh). Bash jest równie¿ zaimplementowany IEEE Posix
Shell oraz jest zgodny ze specyfikacj± - IEEE Working Group 1003.2. W
-tym pakiecie jest statycznie zlinkowany bash.
+tym pakiecie jest wersja basha skonsolidowana statycznie.
%prep
%setup -q -a5
%patch6 -p1
%patch7 -p1
%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch13 -p1
-%{?_with_bash_history:%patch14 -p1}
+%{?with_bash_history:%patch9 -p1}
+#%patch10 -p1 -- no longer needed?
+%patch11 -p1
+%patch21 -p0
+%patch22 -p0
+%patch23 -p0
+%patch24 -p0
+%patch25 -p0
+%patch26 -p0
+%patch27 -p0
+%patch28 -p0
+%patch29 -p0
+%patch30 -p0
+%patch31 -p0
+%patch32 -p0
+%patch33 -p0
+%patch34 -p0
+%patch35 -p0
+%patch36 -p0
+%patch37 -p1
echo %{version} > _distribution
echo %{release} > _patchlevel
%build
-autoconf
-cp -f /usr/share/automake/config.* support/
-for mode in %{!?_without_static:static} shared; do
+%{__autoconf}
+cp -f /usr/share/automake/config.* support
+for mode in %{?with_static:static} shared; do
%configure \
--enable-alias \
--enable-help-builtin \
--with-curses \
--enable-extended-glob \
--enable-dparen-arithmetic \
+ --without-bash-malloc \
`[ "$mode" = "static" ] && echo "--enable-static-link"` \
--with-installed-readline
-%{__make} DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
+%{__make} \
+ DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
[ "$mode" = "static" ] && mv -f bash bash.static || :
done
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/{bin,etc/skel}
+%{?with_bash_history:install -d $RPM_BUILD_ROOT/var/log/bash_hist}
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
mv -f $RPM_BUILD_ROOT%{_bindir}/bash $RPM_BUILD_ROOT/bin
-%{?_without_static:#}install bash.static $RPM_BUILD_ROOT/bin
+%{?with_static:install bash.static $RPM_BUILD_ROOT/bin}
install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bashrc
echo .so bash.1 > $RPM_BUILD_ROOT%{_mandir}/man1/rbash.1
install %{SOURCE3} $RPM_BUILD_ROOT/etc/skel/.bash_profile
install %{SOURCE4} $RPM_BUILD_ROOT/etc/skel/.bashrc
-gzip -9nf NEWS README doc/{FAQ,INTRO}
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%post
+umask 022
if [ ! -f /etc/shells ]; then
echo "/bin/bash" > /etc/shells
echo "/bin/rbash" >> /etc/shells
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%preun
+if [ "$1" = "0" ]; then
+ umask 022
+ grep -v /bin/bash /etc/shells | grep -v /bin/rbash > /etc/shells.new
+ mv -f /etc/shells.new /etc/shells
+fi
+
%post static
+umask 022
if [ ! -f /etc/shells ]; then
echo "/bin/bash.static" > /etc/shells
else
fi
fi
-%preun
-if [ "$1" = "0" ]; then
- grep -v /bin/bash /etc/shells | grep -v /bin/rbash > /etc/shells.new
- mv -f /etc/shells.new /etc/shells
-fi
-
%preun static
if [ "$1" = "0" ]; then
+ umask 022
grep -v /bin/bash.static /etc/shells > /etc/shells.new
mv -f /etc/shells.new /etc/shells
fi
%postun
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc {NEWS,README}.gz doc/{FAQ,INTRO}.gz
+%doc CHANGES NEWS README doc/{FAQ,INTRO}
-%config %verify(not md5 size mtime) %{_sysconfdir}/bashrc
+%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bashrc
%config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bash_logout
%config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bash_profile
%config(noreplace,missingok) %verify(not md5 size mtime) /etc/skel/.bashrc
%attr(755,root,root) /bin/rbash
%attr(755,root,root) %{_bindir}/bashbug
-%{_infodir}/bash.info.gz
+%{?with_bash_history:%attr(751,root,root) %dir /var/log/bash_hist}
+%{_infodir}/bash.info*
%{_mandir}/man1/*
%lang(es) %{_mandir}/es/man1/*
%lang(fr) %{_mandir}/fr/man1/*
%lang(nl) %{_mandir}/nl/man1/*
%lang(pl) %{_mandir}/pl/man1/*
-%{?_without_static:#}%files static
-%{?_without_static:#}%defattr(644,root,root,755)
-%{?_without_static:#}%attr(755,root,root) /bin/bash.static
+%if %{with static}
+%files static
+%defattr(644,root,root,755)
+%attr(755,root,root) /bin/bash.static
+%endif