123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515 |
- %define bashversion 4.2
- %define patchlevel 8
- Summary: The GNU Bourne Again shell (bash).
- Summary(ja): GNU Bourne Again シェル (bash).
- Name: bash
- Version: %{bashversion}.%{patchlevel}
- Release: 1%{?_dist_release}
- Group: System Environment/Shells
- License: GPLv2+
- Vendor: Project Vine
- Distribution: Vine Linux
- Source0: ftp://ftp.gnu.org/pub/gnu/bash/bash-%{bashversion}.tar.gz
- Source10: bashrc-vine
- # Official upstream patches
- Patch1: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-001
- Patch2: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-002
- Patch3: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-003
- Patch4: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-004
- Patch5: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-005
- Patch6: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-006
- Patch7: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-007
- Patch8: ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-008
- # Other patches
- Patch101: bash-2.02-security.patch
- Patch102: bash-2.03-paths.patch
- Patch103: bash-2.03-profile.patch
- Patch104: bash-2.05a-interpreter.patch
- Patch105: bash-2.05b-debuginfo.patch
- Patch106: bash-2.05b-manso.patch
- Patch107: bash-2.05b-pgrp_sync.patch
- Patch108: bash-2.05b-readline-oom.patch
- Patch109: bash-2.05b-xcc.patch
- Patch110: bash-3.2-audit.patch
- Patch111: bash-3.2-ssh_source_bash.patch
- Patch112: bash-bashbug.patch
- Patch113: bash-infotags.patch
- Patch114: bash-requires.patch
- Patch115: bash-setlocale.patch
- Patch116: bash-tty-tests.patch
- # 484809, check if interp section is NOBITS
- Patch117: bash-4.0-nobits.patch
- # Do the same CFLAGS in generated Makefile in examples
- Patch118: bash-4.1-examples.patch
- # Builtins like echo and printf won't report errors
- # when output does not succeed due to EPIPE
- Patch119: bash-4.1-broken_pipe.patch
- # Enable system-wide .bash_logout for login shells
- Patch120: bash-4.2-rc2-logout.patch
- # Static analyzis shows some issues in bash-2.05a-interpreter.patch
- Patch121: bash-4.2-coverity.patch
- Buildroot: %{_tmppath}/%{name}-%{version}-root
- BuildRequires: texinfo, bison, ncurses-devel, autoconf, gettext
- Obsoletes: bash <= 1.14.7
- Obsoletes: bash2
- %description
- Bash is a GNU project sh-compatible shell or command language
- interpreter. Bash (Bourne Again shell) incorporates useful features
- from the Korn shell (ksh) and the C shell (csh). Most sh scripts
- can be run by bash without modification.
- Bash offers several improvements over sh, including command line
- editing, unlimited size command history, job control, shell
- functions and aliases, indexed arrays of unlimited size and
- integer arithmetic in any base from two to 64. Bash is ultimately
- intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and
- Tools standard.
- %package doc
- Summary: Documentation for the GNU Bourne Again shell (bash).
- Summary: GNU Bourne Again シェル向けドキュメント
- Group: Applications/Documentation
- Requires: %{name} = %{version}-%{release}
- Obsoletes: bash2-doc
- %description doc
- This is a separate documentation package for the GNU Bourne
- Again shell.
- %prep
- %setup -q -n %{name}-%{bashversion}
- # 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
- # Other patches
- %patch101 -p1 -b .security
- %patch102 -p1 -b .paths
- %patch103 -p1 -b .profile
- %patch104 -p1 -b .interpreter
- %patch105 -p1 -b .debuginfo
- %patch106 -p1 -b .manso
- %patch107 -p1 -b .pgrp_sync
- %patch108 -p1 -b .readline_oom
- %patch109 -p1 -b .xcc
- %patch110 -p1 -b .audit
- %patch111 -p1 -b .ssh_source_bash
- %patch112 -p1 -b .bashbug
- %patch113 -p1 -b .infotags
- %patch114 -p1 -b .requires
- %patch115 -p1 -b .setlocale
- %patch116 -p1 -b .tty_tests
- %patch117 -p1 -b .nobits
- %patch118 -p1 -b .examples
- %patch119 -p1 -b .broken_pipe
- %patch120 -p1 -b .logout
- %patch121 -p1 -b .coverity
- echo %{version} > _distribution
- echo %{release} |sed 's/vl.*//' > _patchlevel
- %build
- %configure --with-bash-malloc=no
- make CPPFLAGS="-D_GNU_SOURCE -DRECYCLES_PIDS `getconf LFS_CFLAGS`"
- %install
- rm -rf %{buildroot}
- # Fix bug #83776
- perl -pi -e 's,bashref\.info,bash.info,' doc/bashref.info
- make DESTDIR=$RPM_BUILD_ROOT install
- pushd $RPM_BUILD_ROOT
- mkdir ./bin
- mv ./usr/bin/bash ./bin/bash
- ln -s bash ./bin/sh
- rm -f .%{_infodir}/dir
- popd
- ln -s bash.1 %{buildroot}%{_mandir}/man1/sh.1
- # 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 %{buildroot}%{_mandir}/man1/builtins.1
- for i in `cat man.pages` ; do
- echo .so man1/builtins.1 > %{buildroot}%{_mandir}/man1/$i.1
- chmod 0644 ${RPM_BUILD_ROOT}%{_mandir}/man1/$i.1
- done
- mkdir -p $RPM_BUILD_ROOT/etc/profile.d/
- install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/etc/bashrc
- # Not for printf, false and true (conflict with coreutils)
- rm -f $RPM_BUILD_ROOT%{_mandir}/man1/printf.1
- rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/true.1
- rm -f $RPM_BUILD_ROOT/%{_mandir}/man1/false.1
- popd
- %find_lang %{name}
- %clean
- rm -rf %{buildroot}
- # ***** bash doesn't use install-info. It's always listed in %{_infodir}/dir
- # to prevent prereq loops
- # post is in lua so that we can run it without any external deps. Helps
- # for bootstrapping a new install.
- # Jesse Keating 2009-01-29 (code from Ignacio Vazquez-Abrams)
- %post -p <lua>
- bashfound = false;
- shfound = false;
-
- f = io.open("/etc/shells", "r");
- if f == nil
- then
- f = io.open("/etc/shells", "w");
- else
- repeat
- t = f:read();
- if t == "/bin/bash"
- then
- bashfound = true;
- end
- if t == "/bin/sh"
- then
- shfound = true;
- end
- until t == nil;
- end
- f:close()
-
- f = io.open("/etc/shells", "a");
- if not bashfound
- then
- f:write("/bin/bash\n")
- end
- if not shfound
- then
- f:write("/bin/sh\n")
- end
- f:close()
- %postun -p <lua>
- t={}
- for line in io.lines("/etc/shells")
- do
- if line ~= "/bin/bash" and line ~= "/bin/sh"
- then
- table.insert(t,line)
- end
- end
- f = io.open("/etc/shells", "w+")
- for n,line in pairs(t)
- do
- f:write(line.."\n")
- end
- %files -f %{name}.lang
- %defattr(-,root,root)
- %doc CHANGES COPYING
- %doc examples
- %config(noreplace) /etc/bashrc
- /bin/bash
- /bin/sh
- %{_infodir}/bash.info*
- %{_mandir}/*/*
- %{_mandir}/*/..1*
- %{_bindir}/bashbug
- %files doc
- %defattr(-,root,root)
- %doc COMPAT NEWS NOTES POSIX RBASH
- %doc examples/bashdb/ examples/functions/ examples/misc/
- %doc examples/scripts.noah/ examples/scripts.v2/ examples/scripts/
- %doc examples/startup-files/ examples/complete/ examples/loadables/
- %doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
- %doc doc/FAQ doc/INTRO doc/article.ms doc/README
- %changelog
- * Tue Apr 12 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 4.2.8-1
- - update to 4.2 patch level 8
- - use lua script in post/postun
- - update patches from fedora
- * Fri Sep 03 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 4.1-1
- - update to 4.1 patch level 7
- * Fri Mar 5 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-9
- - check if /bin/grep exists on %%post script
- * Fri Feb 12 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-8
- - rebuilt with gcc-4.4.3-3 on ppc
- * Tue Feb 2 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-7
- - rebuilt with new toolchain
- * Fri Dec 4 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-6
- - revert changes on 3.2-5 (avoid a nasty dependency loop on bootstrapping)
- * Fri Dec 4 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-5
- - add Requires(post): grep
- * Sat Oct 24 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 3.2-4
- - remove obsolete /bin/bash2 entry from /etc/shells
- * Mon Apr 27 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2-3
- - add Requires(post): ncurses (should be added by find-requires..)
- * Mon Mar 29 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2-2
- - add upstream patch (from 040 to 048)
- - build against ncurses-devel (libtinfo)
- - spec in utf-8
- * Mon May 12 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.2-1vl5
- - added upstream patch (from 026 to 039)
- - added Japanese summary
- - applied new versioning policy
- * Fri Jan 18 2008 Shu KONNO <owa@bg.wakwak.com> 3.2-0vl2
- - rebuilt with libtermcap-devel
- * Fri Oct 26 2007 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2-0vl1
- - new upstream release
- - add upstream patch (from 001 to 025)
- - remove Provides: bash2
- * Wed May 09 2007 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 2.05b-0vl4
- - rebuilt with new toolchain
- * Mon Sep 11 2006 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 2.05b-0vl3
- - change doc Group to Applications/Documentation. <BTS:VineLinux:163>
- - quote CPPFLAGS to avoid configure error. <BTS:VineLinux:173>
- * Mon Jun 28 2004 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 2.05b-0vl2
- - Don't read /etc/profile.d/*.sh in /etc/bashrc; done in /etc/profile
- * Wed Mar 10 2004 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.05b-0vl1
- - update to 2.05b
- - rebuild with new toolchains
- - add make check
- - add %postun script based on Fedora development
- - README file moved doc package
- - update Patch5 and Patch8 from Fedora development
- - change Patch6
- - remove Patch2 and Patch100 (bash-2.05b supports multibyte string)
- - add Patch11--39 from Fedora development 2.05b-36
- * Tim Waugh <twaugh@redhat.com>
- - Fix parameter expansion in multibyte locales (bug #112657).
- - Speed up UTF-8 command-line redrawing in the common case (bug #102353,
- bug #110777).
- - Apply upstream patches (bug #109269 among others).
- - Fix bash.info (bug #83776).
- - Add bash205b-007 patch to fix bug #106876.
- - Avoid crashing on multibyte input when locale is set incorrectly
- (bug #74266).
- - LFS support (bug #103627).
- - Fix completion display when multibyte or control characters are to be
- shown (bug #90201).
- - Fix a warning message (bug #79629).
- - Don't build with AFS support (bug #86514).
- - Don't explicitly strip binaries (bug #85995).
- - Really fix bug #83331 for good.
- - Fix builtins.1.
- - Actually apply the patch (bug #83331).
- - Fix history/UTF-8 bug (bug #83331).
- - More tab-completion fixing (bug #72512).
- - Force pgrp synchronization (bug #81653).
- - Prevent prompt overwriting output (bug #74383).
- - Fix '-rbash' (bug #78455).
- - Add readline-init patch (bug #74925).
- - Add the (4) patches from ftp.gnu.org (bug #75888, bug #72512).
- - Ship '.' man page, which doesn't get picked up by glob.
- - Locale shell variables fix (bug #74701).
- * Elliot Lee <sopwith@redhat.com>
- - (patch26) Don't call 'size' in makefile. Pointless, and interferes with
- cross compiles.
- * Wed Oct 9 2002 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 2.05-0vl1
- - update to 2.05
- - add README.jpatch to %doc
- - remove patch4 (bash2): revert command name in man pages to "bash"
- - fix perl command to remove man pages conflict with sh-utils
- - remove section of config.h.in from patch0 to prevent remake of configure
- - change patch9: define in config-top.h to avoid conflict with patch100
- - remove patches 7, 10 & 101
- * Mon Apr 8 2002 NISHIMURA Daisuke <nishi@graco.c.u-tokyo.ac.jp> 2.04-1vl14
- - made a link for man sh
- * Thu Nov 15 2001 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 2.04-1vl13
- - added missing %%post and %%triggerpostun section
- * Sun Jul 15 2001 MATSUBAYASHI 'Shaolin' Kohji <shaolin@vinelinux.org>
- - 2.04-1vl12
- - now bash2 is finally bash
- * Sun Jul 15 2001 Daisuke SUZUKI <daisuke@linux.or.jp> 2.04-1vl11
- - build for Playstation2
- * Mon Jun 11 2001 MATSUBAYASHI 'Shaolin' Kohji <shaolin@vinelinux.org>
- - 2.04-1vl10
- - Provides: bash = %%{version}
- * Thu Jun 07 2001 Satoshi MACHINO <machino@vinelinux.org> 2.04-1vl9
- - added Provides: bash
- * Thu Jun 07 2001 Satoshi MACHINO <machino@vinelinux.org> 2.04-1vl8
- - Obsoletes: bash
- - changed Copyright to License
- * Fri Dec 29 2000 Lisa Sagami <czs14350@mb.infoweb.ne.jp>
- - 2.04-1vl7
- - deleted: /etc/profile.d/alias.sh (which we have in /etc/skel/.bashrc)
- - corrected: bashrc-vine -> bashrc
- * Sat Dec 16 2000 Satoshi MACHINO <machino@vinelinux.org> 2.04-1vl6
- - combined bash-1.x and bash-2.x packages
- - added some patches from bash-2.04-13mdk
- * Sun Dec 10 2000 Jun Nishii <jun@vinelinux.org> 2.04-1vl5
- - fix spec macros
- - added tests
- * Sun Nov 19 2000 Satoshi MACHINO <machino@vinelinux.org> 2.04-1vl5
- - build with gcc-2.95.3
- - partially used rpmmacros
- * Fri Sep 8 2000 Jun Nishii <jun@vinelinux.org>
- - minor bug fix in spec file
- * Sun Aug 27 2000 MATSUBAYASHI 'Shaolin' Kohji <shaolin@rhythmaning.org>
- - 2.04-1vl3
- - modified %install and %files section to handle compressed man page(s)
- * Thu Mar 23 2000 Yasuyuki Furukawa <furukawa@vinelinux.org>
- - added pcomplete patch to fix complete if the candidate list is NULL.
- * Wed Mar 22 2000 Yasuyuki Furukawa <furukawa@vinelinux.org>
- - updated to 2.04
- * Fri Sep 14 1999 Dale Lovelace <dale@redhat.com>
- - Remove annoying ^H's from documentation
- * Fri Jul 16 1999 Ken Estes <kestes@staff.mail.com>
- - patch to detect what executables are required by a script.
- * Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
- - auto rebuild in the new build environment (release 4)
- * Fri Mar 19 1999 Jeff Johnson <jbj@redhat.com>
- - strip binaries.
- - include bash-doc correctly.
- * Thu Mar 18 1999 Preston Brown <pbrown@redhat.com>
- - fixed post/postun /etc/shells work.
- * Thu Mar 18 1999 Cristian Gafton <gafton@redhat.com>
- - updated again text in the spec file
- * Mon Feb 22 1999 Jeff Johnson <jbj@redhat.com>
- - updated text in spec file.
- - update to 2.03.
- * Fri Feb 12 1999 Cristian Gafton <gafton@redhat.com>
- - build it as bash2 instead of bash
- * Tue Feb 9 1999 Bill Nottingham <notting@redhat.com>
- - set 'NON_INTERACTIVE_LOGIN_SHELLS' so profile gets read
- * Thu Jan 14 1999 Jeff Johnson <jbj@redhat.com>
- - rename man pages in bash-doc to avoid packaging conflicts (#606).
- * Wed Dec 02 1998 Cristian Gafton <gafton@redhat.com>
- - patch for the arm
- - use $RPM_ARCH-redhat-linux as the build target
- * Tue Oct 6 1998 Bill Nottingham <notting@redhat.com>
- - rewrite %pre, axe %postun (to avoid prereq loops)
- * Wed Aug 19 1998 Jeff Johnson <jbj@redhat.com>
- - resurrect for RH 6.0.
- * Sun Jul 26 1998 Jeff Johnson <jbj@redhat.com>
- - update to 2.02.1
- * Thu Jun 11 1998 Jeff Johnson <jbj@redhat.com>
- - Package for 5.2.
- * Mon Apr 20 1998 Ian Macdonald <ianmacd@xs4all.nl>
- - added POSIX.NOTES doc file
- - some extraneous doc files removed
- - minor .spec file changes
- * Sun Apr 19 1998 Ian Macdonald <ianmacd@xs4all.nl>
- - upgraded to version 2.02
- - Alpha, MIPS & Sparc patches removed due to lack of test platforms
- - glibc & signal patches no longer required
- - added documentation subpackage (doc)
- * Fri Nov 07 1997 Donnie Barnes <djb@redhat.com>
- - added signal handling patch from Dean Gaudet <dgaudet@arctic.org> that
- is based on a change made in bash 2.0. Should fix some early exit
- problems with suspends and fg.
- * Mon Oct 20 1997 Donnie Barnes <djb@redhat.com>
- - added %clean
- * Mon Oct 20 1997 Erik Troan <ewt@redhat.com>
- - added comment explaining why install-info isn't used
- - added mips patch
- * Fri Oct 17 1997 Donnie Barnes <djb@redhat.com>
- - added BuildRoot
- * Tue Jun 03 1997 Erik Troan <ewt@redhat.com>
- - built against glibc
|