Version: 3.0 Name: bash Summary: The GNU Bourne Again shell (bash) version %{version}. Release: 19.3 Group: System Environment/Shells License: GPL Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{version}.tar.gz Source2: ftp://ftp.gnu.org/gnu/bash/bash-doc-%{version}.tar.gz Source3: dot-bashrc Source4: dot-bash_profile Source5: dot-bash_logout # Official upstream patches Patch1: bash30-001 Patch2: bash30-002 Patch3: bash30-003 Patch4: bash30-004 Patch5: bash30-005 Patch6: bash30-006 Patch7: bash30-007 Patch8: bash30-008 Patch9: bash30-009 Patch10: bash30-010 Patch11: bash30-011 Patch12: bash30-012 Patch13: bash30-013 Patch14: bash30-014 Patch15: bash30-015 Patch16: bash30-016 # Other patches Patch100: bash-2.03-paths.patch Patch101: bash-2.02-security.patch Patch102: bash-2.03-profile.patch Patch103: bash-2.05a-requires.patch Patch104: bash-2.05a-shellfunc.patch Patch105: bash-2.05-ia64.patch Patch106: bash-2.05a-loadables.patch Patch107: bash-2.05a-interpreter.patch Patch108: bash-2.05b-readline-oom.patch Patch109: bash-2.05b-utf8.patch Patch110: bash-2.05b-mbinc.patch Patch111: bash-multibyteifs.patch Patch112: bash-ulimit.patch Patch113: bash-jobs.patch Patch114: bash-2.05b-xcc.patch Patch115: bash-2.05b-pgrp_sync.patch Patch116: bash-2.05b-manso.patch Patch117: bash-2.05b-debuginfo.patch Patch118: bash-tty-tests.patch Patch119: bash-sigpipe.patch Patch120: bash-sub-shell-with-operator.patch Patch121: bash-pipeline.patch Patch122: bash-wrap.patch Patch123: bash-logger.patch Prefix: %{_prefix} Requires: mktemp Obsoletes: bash2 etcskel Obsoletes: bash2-doc bash-doc BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: texinfo bison BuildRequires: libtermcap-devel %description The GNU Bourne Again shell (Bash) is a shell or command language interpreter that is compatible with the Bourne shell (sh). Bash incorporates useful features from the Korn shell (ksh) and the C shell (csh). Most sh scripts can be run by bash without modification. This package (bash) contains bash version %{version}, which improves POSIX compliance over previous versions. However, many old shell scripts will depend upon the behavior of bash 1.14, which is included in the bash1 package. Bash is the default shell for Red Hat Linux. It is popular and powerful, and you'll probably end up using it. %prep %setup -q -a 2 # Official upstream patches %patch1 -p0 -b .001 %patch2 -p0 -b .002 %patch3 -p0 -b .003 %patch4 -p0 -b .004 %patch5 -p0 -b .005 %patch6 -p0 -b .006 %patch7 -p0 -b .007 %patch8 -p0 -b .008 %patch9 -p0 -b .009 %patch10 -p0 -b .010 %patch11 -p0 -b .011 %patch12 -p0 -b .012 %patch13 -p0 -b .013 %patch14 -p0 -b .014 %patch15 -p0 -b .015 #%patch16 -p0 -b .016 # Other patches %patch100 -p1 -b .paths %patch101 -p1 -b .security %patch102 -p1 -b .profile %patch103 -p1 -b .requires %patch104 -p1 -b .shellfunc %patch105 -p1 -b .ia64 %patch106 -p1 -b .loadables %patch107 -p1 -b .interpreter %patch108 -p1 -b .readline-oom %patch109 -p1 -b .utf8 %patch110 -p1 -b .mbinc %patch111 -p1 -b .multibyteifs %patch112 -p1 -b .ulimit %patch113 -p1 -b .jobs %patch114 -p1 -b .xcc %patch115 -p1 -b .pgrp_sync %patch116 -p1 -b .manso %patch117 -p1 -b .debuginfo %patch118 -p1 -b .tty-tests %patch119 -p1 -b .sigpipe %patch120 -p1 -b .sub-shell-with-operator %patch121 -p1 -b .pipeline %patch122 -p1 -b .wrap %patch123 -p1 -b .logger echo %{version} > _distribution echo %{release} > _patchlevel %build if ! autoconf; then # Yuck. We're using autoconf 2.1x. ln -s /bin/true autoconf export PATH=.:$PATH fi %configure --with-bash-malloc=no --with-afs make "CPPFLAGS=`getconf LFS_CFLAGS`" make check %install rm -rf $RPM_BUILD_ROOT 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 %makeinstall mkdir -p $RPM_BUILD_ROOT/etc # make manpages for bash builtins as per suggestion in DOC/README pushd doc sed -e ' /^\.SH NAME/, /\\- bash built-in commands, see \\fBbash\\fR(1)$/{ /^\.SH NAME/d s/^bash, // s/\\- bash built-in commands, see \\fBbash\\fR(1)$// s/,//g b } 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 ${RPM_BUILD_ROOT}%{_mandir}/man1/builtins.1 for i in `cat man.pages` ; do echo .so man1/builtins.1 > ${RPM_BUILD_ROOT}%{_mandir}/man1/$i.1 chmod 0644 ${RPM_BUILD_ROOT}%{_mandir}/man1/$i.1 done popd # Link bash man page to sh so that man sh works. ln -s bash.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/sh.1 # Not for printf (conflict with coreutils) rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/printf.1 pushd $RPM_BUILD_ROOT mkdir ./bin mv ./usr/bin/bash ./bin ln -sf bash ./bin/sh gzip -9nf .%{_infodir}/bash.info rm -f .%{_infodir}/dir popd mkdir -p $RPM_BUILD_ROOT/etc/skel install -c -m644 $RPM_SOURCE_DIR/dot-bashrc $RPM_BUILD_ROOT/etc/skel/.bashrc install -c -m644 $RPM_SOURCE_DIR/dot-bash_profile \ $RPM_BUILD_ROOT/etc/skel/.bash_profile install -c -m644 $RPM_SOURCE_DIR/dot-bash_logout \ $RPM_BUILD_ROOT/etc/skel/.bash_logout LONG_BIT=$(getconf LONG_BIT) mv $RPM_BUILD_ROOT%{_bindir}/bashbug \ $RPM_BUILD_ROOT%{_bindir}/bashbug-"${LONG_BIT}" %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT # ***** bash doesn't use install-info. It's always listed in %{_infodir}/dir # to prevent prereq loops %post HASBASH="" HASSH="" if [ ! -f /etc/shells ]; then > /etc/shells fi (while read line ; do if [ $line = /bin/bash ]; then HASBASH=1 elif [ $line = /bin/sh ]; then HASSH=1 fi done if [ -z "$HASBASH" ]; then echo "/bin/bash" >> /etc/shells fi if [ -z "$HASSH" ]; then echo "/bin/sh" >> /etc/shells fi) < /etc/shells %postun if [ "$1" = 0 ]; then grep -v '^/bin/bash$' < /etc/shells | \ grep -v '^/bin/sh$' > /etc/shells.new mv /etc/shells.new /etc/shells fi %files -f %{name}.lang %defattr(-,root,root) %doc CHANGES COMPAT NEWS NOTES POSIX %doc doc/FAQ doc/INTRO doc/article.ms %doc -P examples/bashdb/ examples/functions/ examples/misc/ %doc -P examples/scripts.noah/ examples/scripts.v2/ examples/scripts/ %doc -P examples/startup-files/ examples/complete/ examples/loadables/ %config(noreplace) /etc/skel/.b* /bin/sh /bin/bash %{_bindir}/bashbug-* %{_infodir}/bash.info* %{_mandir}/*/* %{_mandir}/*/..1* %doc doc/*.ps doc/*.0 doc/*.html doc/article.txt %changelog * Wed Apr 12 2006 Tim Waugh 3.0-19.3 - Small fix for multibyteifs patch to prevent segfault (bug #157260). - Fix sub-shell parsing problem (bug #178788). - Fix pipeline disposal race condition (bug #182405). - Fixed job handling bug (bug #162578). * Wed Apr 12 2006 Tim Waugh - Reverted this change: - Fixed job handling bug (bug #145124). * Mon Feb 14 2005 Tim Waugh - Reverted this change: - add code to /etc/skel/.bash_logout to support the gpm selection buffer invalidation on virtual terminals (#115493) * Fri Jan 28 2005 Tim Waugh - Fixed job handling bug (bug #145124). * Mon Dec 6 2004 Tim Waugh 3.0-19.2 - Fixed quoting in spec file (bug #142049). * Thu Nov 04 2004 Adrian Havill 3.0-19 - add code to /etc/skel/.bash_logout to support the gpm selection buffer invalidation on virtual terminals (#115493) * Mon Nov 1 2004 Tim Waugh - Patchlevel 15. * Tue Oct 19 2004 Tim Waugh 3.0-17 - Patchlevel 14. - No longer need brace patch. * Wed Sep 29 2004 Tim Waugh 3.0-16 - Apply patch from Chet Ramey to fix brace expansion. * Fri Sep 24 2004 Tim Waugh 3.0-15 - Minor fix for job handling. * Mon Sep 13 2004 Tim Waugh - Add bashbug back in (with suffix). * Mon Sep 13 2004 Tim Waugh - Remove bash2. * Fri Sep 10 2004 Tim Waugh 3.0-14 - Don't run tests that read from /dev/tty. - Patchlevel 13. * Wed Sep 8 2004 Tim Waugh 3.0-13 - Check for EINVAL from waitpid() and avoid WCONTINUED in that case. - Fixed jobs4 test. - Applied experimental upstream patch for trap compatibility. - Re-make documentation to reflect source changes. * Tue Sep 7 2004 Tim Waugh 3.0-12 - Remove 'bashbug' from the documentation, because we don't ship it due to biarch concerns. * Thu Sep 2 2004 Tim Waugh 3.0-11 - Fixed multibyte parameter length expansion. * Tue Aug 31 2004 Tim Waugh 3.0-9 - Fix ulimits patch from Ulrich Drepper (bug #129800). * Fri Aug 27 2004 Tim Waugh 3.0-8 - Provide support for new limits (bug #129800). * Thu Aug 26 2004 Tim Waugh 3.0-7 - Use upstream patch for last fix. * Thu Aug 26 2004 Tim Waugh 3.0-6 - Fixed history saved-line handling. * Tue Aug 24 2004 Tim Waugh - Fixed multibyte IFS handling. * Wed Aug 18 2004 Tim Waugh - Applied bug-bash list patch to fix pipefail. * Tue Aug 17 2004 Tim Waugh 3.0-5 - Make trap usage string show POSIX usage (bug #128938). - Updated ${x[@]:1} expansion fix from bug-bash list. - Updated patch to fix unset array crash (from bug-bash list). * Sun Aug 15 2004 Tim Waugh - Fix ${x[@]:1} expansion (William Park, bug-bash list). * Tue Aug 10 2004 Tim Waugh 3.0-4 - Fix vi-change-char behaviour at EOL (bug #129526). * Mon Aug 9 2004 Tim Waugh 3.0-3 - Applied bug-bash list patch to fix multiline PS1 prompting (bug #129382). * Wed Aug 4 2004 Tim Waugh 3.0-2 - Fixed brace expansion (bug #129128). - Build with AFS support again, since bug #86514 seems fixed upstream (bug #129094). * Tue Aug 3 2004 Tim Waugh - Fixed crash when unsetting an unset array (from bug-bash list). * Wed Jul 28 2004 Tim Waugh 3.0-1 - 3.0. * Wed Jul 21 2004 Tim Waugh 2.05b-44 - Don't report SIGPIPE errors (bug #128274). * Thu Jul 8 2004 Tim Waugh 2.05b-43 - Fixed command substitution problem (bug #127242). * Mon Jun 28 2004 Tim Waugh 2.05b-42 - Fixed multibyte variable substitution patch (bug #126399). * Thu Jun 17 2004 Karsten Hopp 2.05b-41 - remove bashbug script/docs to avoid conflicting files in biarch installs. * Tue Jun 15 2004 Elliot Lee - rebuilt * Fri Jun 4 2004 Tim Waugh - Build requires bison (bug #125307). * Wed Jun 2 2004 Tim Waugh 2.05b-39 - Build requires libtermcap-devel (bug #125068). * Wed May 19 2004 Tim Waugh - Don't ship empty %%{_libdir}/bash (bug #123556). * Thu Mar 11 2004 Tim Waugh 2.05b-38 - Apply patch from Nalin Dahyabhai fixing an overread. * Tue Mar 02 2004 Elliot Lee - rebuilt * Fri Feb 13 2004 Elliot Lee - rebuilt * Thu Jan 22 2004 Tim Waugh 2.05b-36 - Fix the bug causing bindings to need reparsing .inputrc (bug #114101). * Mon Jan 5 2004 Tim Waugh 2.05b-35 - Fix parameter expansion in multibyte locales (bug #112657). - Run 'make check'. * Tue Dec 9 2003 Tim Waugh 2.05b-34 - Build requires texinfo (bug #111171). * Fri Nov 28 2003 Tim Waugh 2.05b-33 - Speed up UTF-8 command-line redrawing in the common case (bug #102353, bug #110777). * Thu Nov 6 2003 Tim Waugh 2.05b-32 - Apply upstream patches (bug #109269 among others). * Fri Oct 31 2003 Tim Waugh - Fix bash.info (bug #83776). * Tue Oct 28 2003 Tim Waugh 2.05b-31 - Add bash205b-007 patch to fix bug #106876. * Thu Oct 23 2003 Tim Waugh 2.05b-30 - Rebuilt. * Thu Sep 18 2003 Tim Waugh 2.05b-29.1 - Rebuilt. * Thu Sep 18 2003 Tim Waugh 2.05b-29 - Avoid crashing on multibyte input when locale is set incorrectly (bug #74266). * Fri Sep 5 2003 Tim Waugh 2.05b-28.1 - Rebuilt. * Fri Sep 5 2003 Tim Waugh 2.05b-28 - Avoid built-in malloc implementation (bug #103768). * Wed Sep 3 2003 Tim Waugh 2.05b-27.1 - Rebuilt. * Wed Sep 3 2003 Tim Waugh 2.05b-27 - LFS support (bug #103627). * Thu Jul 31 2003 Tim Waugh 2.05b-26.1 - Rebuilt. * Thu Jul 31 2003 Tim Waugh 2.05b-26 - Merge bash-doc into main package (bug #100632). * Wed Jun 04 2003 Elliot Lee 2.05b-25 - rebuilt * Mon May 12 2003 Tim Waugh 2.05b-24 - Fix completion display when multibyte or control characters are to be shown (bug #90201). * Tue Mar 26 2003 Tim Waugh 2.05b-23 - Fix a warning message (bug #79629). - Don't remove generated source during build, for debuginfo package. - Don't build with AFS support (bug #86514). * Tue Mar 25 2003 Tim Waugh 2.05b-22 - Really fix bug #78455. * Tue Mar 11 2003 Tim Waugh 2.05b-21 - Don't explicitly strip binaries (bug #85995). * Tue Feb 11 2003 Tim Waugh 2.05b-20 - Really fix bug #83331 for good. * Mon Feb 10 2003 Tim Waugh 2.05b-19 - Fix builtins.1. * Fri Feb 7 2003 Tim Waugh 2.05b-18 - Actually apply the patch (bug #83331). * Wed Feb 5 2003 Tim Waugh 2.05b-17 - Fix history/UTF-8 bug (bug #83331). * Sun Jan 26 2003 Tim Waugh 2.05b-16 - More tab-completion fixing (bug #72512). * Wed Jan 22 2003 Tim Powers 2.05b-15 - rebuilt * Wed Jan 15 2003 Tim Waugh 2.05b-14 - Force pgrp synchronization (bug #81653). * Thu Dec 05 2002 Elliot Lee 2.05b-13 - (patch26) Don't call 'size' in makefile. Pointless, and interferes with cross compiles. * Tue Dec 3 2002 Tim Waugh 2.05b-12 - Prevent prompt overwriting output (bug #74383). * Wed Nov 27 2002 Tim Waugh 2.05b-11 - Fix '-rbash' (bug #78455). * Thu Nov 21 2002 Tim Waugh 2.05b-10 - Rebuild. * Wed Nov 20 2002 Elliot Lee - Use the configure macro instead of calling ./configure directly * Wed Nov 13 2002 Tim Waugh - Revert previous change. * Wed Nov 13 2002 Tim Waugh 2.05b-8 - PreReq libtermcap.