Name: bash
-Version: 4.2
+Version: 4.3.25
Release: 1
License: GPL-3.0+
Summary: The GNU Bourne Again shell
Url: http://www.gnu.org/software/bash
-Group: System/Shells
-Source0: ftp://ftp.gnu.org/gnu/bash/%{name}-%{version}.tar.gz
+Group: Base/Utilities
+Source0: %{name}-%{version}.tar.gz
+Source1: dot.bashrc
+Source2: dot.profile
+Source1001: bash.manifest
BuildRequires: autoconf
BuildRequires: bison
+BuildRequires: fdupes
Provides: /bin/bash
Provides: /bin/sh
incorporates useful features from the Korn shell (ksh) and the C shell
(csh). Most sh scripts can be run by bash without modification.
-%package doc
-Summary: Documentation files for %{name}
-Group: Development/Languages
-Requires: %{name} = %{version}
-
-%description doc
-This package contains documentation files for %{name}.
-
-%define pkgdocdir %{_datadir}/doc/%{name}-%{version}
%prep
%setup -q
+cp %{SOURCE1001} .
%build
-autoconf
-%configure --enable-largefile --without-bash-malloc --disable-nls
+%configure --enable-largefile \
+ --without-bash-malloc \
+ --disable-nls \
+ --enable-alias \
+ --enable-readline \
+ --enable-history
# Recycles pids is neccessary. When bash's last fork's pid was X
# and new fork's pid is also X, bash has to wait for this same pid.
make check
%install
-
-if [ -e autoconf ]; then
- # Yuck. We're using autoconf 2.1x.
- export PATH=.:$PATH
-fi
-
-# Fix bug #83776
-perl -pi -e 's,bashref\.info,bash.info,' doc/bashref.info
-
%make_install
-mkdir -p %{buildroot}/etc
-
-#mkdir -p %{buildroot}/%{_bindir}
-#mv %{buildroot}/bin/* %{buildroot}/%{_bindir}/
+mkdir -p %{buildroot}/etc/bash_completion.d
# make manpages for bash builtins as per suggestion in DOC/README
pushd doc
}
d
' builtins.1 > man.pages
+# '
for i in echo pwd test kill; do
perl -pi -e "s,$i,,g" man.pages
perl -pi -e "s, , ,g" man.pages
done
install -c -m 644 builtins.1 %{buildroot}%{_mandir}/man1/builtins.1
+install -c -m 644 bash.1 %{buildroot}%{_mandir}/man1/bash.1
for i in `cat man.pages` ; do
echo .so man1/builtins.1 > %{buildroot}%{_mandir}/man1/$i.1
rm -f .%{_infodir}/dir
popd
mkdir -p %{buildroot}%{_sysconfdir}/skel
-#install -c -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/skel/.bashrc
-#install -c -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/skel/.bash_profile
-#install -c -m644 %{SOURCE3} %{buildroot}%{_sysconfdir}/skel/.bash_logout
+install -c -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/skel/.bashrc
+install -c -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/skel/.bash_profile
LONG_BIT=$(getconf LONG_BIT)
mv %{buildroot}%{_bindir}/bashbug \
%{buildroot}%{_bindir}/bashbug-"${LONG_BIT}"
-# Fix missing sh-bangs in example scripts (bug #225609).
-for script in \
- examples/scripts/krand.bash \
- examples/scripts/bcsh.sh \
- examples/scripts/precedence \
- examples/scripts/shprompt
-do
- cp "$script" "$script"-orig
- echo '#!/bin/bash' > "$script"
- cat "$script"-orig >> "$script"
- rm -f "$script"-orig
-done
-
rm -rf %{buildroot}%{_bindir}/bashbug-*
chmod a-x doc/*.sh
+# remove duplicate manpages
+%fdupes -s %{buildroot}/%{_mandir}
+
%docs_package
+%doc %{_datadir}/doc/%{name}/*
%post -p <lua>
bashfound = false;
%files
+%manifest %{name}.manifest
+%license COPYING
%{_bindir}/sh
%{_bindir}/bash
+%config %attr(644,root,root) %{_sysconfdir}/skel/.bashrc
+%config %attr(644,root,root) %{_sysconfdir}/skel/.bash_profile
+%dir %{_sysconfdir}/bash_completion.d