diff options
author | 2009-01-15 15:57:23 +0100 | |
---|---|---|
committer | 2009-01-15 15:57:23 +0100 | |
commit | 2816badf9c3e457daa69b61ff8254bd5c16aa151 (patch) | |
tree | 09c1cf0557b81362ee8f897714db70d7bb393928 | |
parent | Lose old ebuild. (diff) | |
download | loki_val-2816badf9c3e457daa69b61ff8254bd5c16aa151.tar.gz loki_val-2816badf9c3e457daa69b61ff8254bd5c16aa151.tar.bz2 loki_val-2816badf9c3e457daa69b61ff8254bd5c16aa151.zip |
Add version of bash-4.0-rc1 that compiles
62 files changed, 4721 insertions, 0 deletions
diff --git a/app-shells/bash/1.e b/app-shells/bash/1.e new file mode 100644 index 0000000..9ca7d22 --- /dev/null +++ b/app-shells/bash/1.e @@ -0,0 +1,392 @@ +__path= +#__path=0 +/ +__path= +#__path=0 +/ +// +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/ /usr /lib /957 +#__path=4 +/ /usr/lib/957 +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path= +#__path=0 +/ +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +__path=/usr +#__path=1 +/usr +__path=/home /pa /.config /banshee +#__path=4 +/home/pa/.config/banshee +/home/pa/.config/banshee/ +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +__path=/usr /lib32 /herring /red +#__path=4 +/usr/lib32/herring/red +__path=/usr /lib64 /soda +#__path=3 +/usr/lib64/soda +/usr/lib64/soda/ +usr lib64 soda +usr lib64 soda +usr lib64 soda +usr lib64 soda +__path=/ / +#__path=2 +/ / +__path=/usr +#__path=1 +/usr +/usr/ +usr +usr +usr +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/ /usr /lib /957 +#__path=4 +/ /usr/lib/957 +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path= +#__path=0 +/ +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +__path=/usr +#__path=1 +/usr +__path=/home /pa /.config /banshee +#__path=4 +/home/pa/.config/banshee +/home/pa/.config/banshee/ +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +__path=/usr /lib32 /herring /red +#__path=4 +/usr/lib32/herring/red +__path=/usr /lib64 /soda +#__path=3 +/usr/lib64/soda +/usr/lib64/soda/ +usr lib64 soda +usr lib64 soda +usr lib64 soda +usr lib64 soda +__path=/ / +#__path=2 +/ / +__path=/usr +#__path=1 +/usr +/usr/ +usr +usr +usr +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/ /usr /lib /957 +#__path=4 +/ /usr/lib/957 +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path= +#__path=0 +/ +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +__path=/usr +#__path=1 +/usr +__path=/home /pa /.config /banshee +#__path=4 +/home/pa/.config/banshee +/home/pa/.config/banshee/ +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +__path=/usr /lib32 /herring /red +#__path=4 +/usr/lib32/herring/red +__path=/usr /lib64 /soda +#__path=3 +/usr/lib64/soda +/usr/lib64/soda/ +usr lib64 soda +usr lib64 soda +usr lib64 soda +usr lib64 soda +__path=/ / +#__path=2 +/ / +__path=/usr +#__path=1 +/usr +/usr/ +usr +usr +usr +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/ /usr /lib /957 +#__path=4 +/ /usr/lib/957 +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path= +#__path=0 +/ +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +__path=/usr +#__path=1 +/usr +__path=/home /pa /.config /banshee +#__path=4 +/home/pa/.config/banshee +/home/pa/.config/banshee/ +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +__path=/usr /lib32 /herring /red +#__path=4 +/usr/lib32/herring/red +__path=/usr /lib64 /soda +#__path=3 +/usr/lib64/soda +/usr/lib64/soda/ +usr lib64 soda +usr lib64 soda +usr lib64 soda +usr lib64 soda +__path=/ / +#__path=2 +/ / +__path=/usr +#__path=1 +/usr +/usr/ +usr +usr +usr +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/usr /lib /957 +#__path=3 +/usr/lib/957 +__path=/var /home /standard +#__path=3 +/var/home/standard +/var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path=/ /usr /lib /957 +#__path=4 +/ /usr/lib/957 +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +var home standard +var home standard +var home standard +var home standard +var home standard +__path= +#__path=0 +/ +__path=/ /var /home /standard +#__path=4 +/ /var/home/standard +/ /var/home/standard/ +__path=/usr +#__path=1 +/usr +__path=/home /pa /.config /banshee +#__path=4 +/home/pa/.config/banshee +/home/pa/.config/banshee/ +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +home pa .config banshee +__path=/usr /lib32 /herring /red +#__path=4 +/usr/lib32/herring/red +__path=/usr /lib64 /soda +#__path=3 +/usr/lib64/soda +/usr/lib64/soda/ +usr lib64 soda +usr lib64 soda +usr lib64 soda +usr lib64 soda +__path=/ / +#__path=2 +/ / +__path=/usr +#__path=1 +/usr +/usr/ +usr +usr +usr diff --git a/app-shells/bash/ChangeLog b/app-shells/bash/ChangeLog new file mode 100644 index 0000000..7461ce8 --- /dev/null +++ b/app-shells/bash/ChangeLog @@ -0,0 +1,865 @@ +# ChangeLog for app-shells/bash +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.191 2009/01/09 16:26:25 ranger Exp $ + + 09 Jan 2009; Brent Baude <ranger@gentoo.org> bash-3.2_p39.ebuild: + stable ppc, bug 235020 + + 07 Jan 2009; Brent Baude <ranger@gentoo.org> bash-3.2_p39.ebuild: + stable ppc64, bug 235020 + + 04 Jan 2009; Markus Meier <maekke@gentoo.org> bash-3.2_p39.ebuild: + amd64/x86 stable, bug #235020 + + 04 Jan 2009; Jeroen Roovers <jer@gentoo.org> bash-3.2_p39.ebuild: + Stable for HPPA (bug #235020). + + 31 Dec 2008; Friedrich Oslage <bluebird@gentoo.org> bash-3.2_p39.ebuild: + Stable on sparc, bug #235020 + +*bash-3.2_p48 (20 Nov 2008) + + 20 Nov 2008; Peter Alfredsen <loki_val@gentoo.org> +bash-3.2_p48.ebuild: + Bump for God, King and Country. + + 17 Nov 2008; Diego E. Pettenò <flameeyes@gentoo.org> + files/bash-3.0-darwin-conn.patch: + Fix patch with absolute paths. + + 24 Aug 2008; Tobias Klausmann <klausman@gentoo.org> bash-3.2_p39.ebuild: + Misread bug #235020 + + 24 Aug 2008; Tobias Klausmann <klausman@gentoo.org> bash-3.2_p39.ebuild: + Stable on alpha, bug #235020 + + 03 Aug 2008; Ulrich Mueller <ulm@gentoo.org> metadata.xml: + Add USE flag description to metadata wrt GLEP 56. + + 25 Jun 2008; Bo Ørsted Andresen <zlin@gentoo.org> bash-3.2_p39.ebuild: + Move recreation of /bin/sh to pkg_preinst since reinstalling _p39 when it is + recorded into contents results in a fatal error with paludis. + + 13 Jun 2008; Zac Medico <zmedico@gentoo.org> bash-3.2_p39.ebuild: + Bug #222721 - Replace the !<sys-apps/portage-2.1.4_rc1 blocker + (from bug #190128) with !<sys-apps/portage-2.1.5 to ensure that + phase execution order is such that the /bin/sh symlink will be + created in the postinst phase when necessary. This eliminates the + need for an associated die call in pkg_setup(). The blocker will + be solved automatically by emerge since it can adjust install order + such that the upgrade from portage-2.1.4.x to portage-2.1.5.x occurs + before the upgrade to bash-3.2_p39. + + 12 Jun 2008; Bo Ørsted Andresen <zlin@gentoo.org> bash-3.2_p39.ebuild: + Ensure that portage < 2.1.5 upgrade bash with FEATURES=-unmerge-orphans. + Rewrite /bin/sh to prevent it from being uninstalled by changing its mtime. + + 31 May 2008; Mike Frysinger <vapier@gentoo.org> bash-3.2_p39.ebuild: + Make sure /bin/sh always exists #222721 by Davide Pesavento. + + 17 May 2008; Donnie Berkholz <dberkholz@gentoo.org>; bash-3.2_p39.ebuild: + (222211) Install examples with USE=examples. Approved by vapier. + + 06 May 2008; Mike Frysinger <vapier@gentoo.org> + +files/autoconf-mktime-2.59.patch, bash-3.2_p39.ebuild: + Add patch for mktime issue #220040. + + 06 May 2008; Jeroen Roovers <jer@gentoo.org> bash-3.2_p33.ebuild: + Stable for HPPA (bug #220091). + + 06 May 2008; Christian Faulhammer <opfer@gentoo.org> bash-3.2_p33.ebuild: + stable x86, bug 220091 + + 06 May 2008; Raúl Porcel <armin76@gentoo.org> bash-3.2_p33.ebuild: + alpha/ia64/sparc stable wrt #220091 + + 05 May 2008; Markus Meier <maekke@gentoo.org> bash-3.2_p33.ebuild: + amd64 stable, bug #220091 + + 05 May 2008; Brent Baude <ranger@gentoo.org> bash-3.2_p33.ebuild: + stable ppc64, bug 220091 + + 04 May 2008; nixnut <nixnut@gentoo.org> bash-3.2_p33.ebuild: + Stable on ppc wrt bug 220091 + +*bash-3.2_p39 (03 May 2008) + + 03 May 2008; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p39.ebuild: + Version bump. + + 01 Mar 2008; Fabian Groffen <grobian@gentoo.org> files/bashrc: + Add support for Interix's terminal, bug #211875 by Markus Duft + + 01 Mar 2008; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.2-ldflags-for-build.patch, bash-3.2_p33.ebuild: + Fix from Takashi YOSHII to respect LDFLAGS_FOR_BUILD #211947. + + 02 Jan 2008; Stephen Bennett <spb@gentoo.org> bash-3.2_p25.ebuild, + bash-3.2_p33.ebuild: + Block paludis versions that don't work with new bash releases + +*bash-3.2_p33 (02 Jan 2008) + + 02 Jan 2008; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p33.ebuild: + Version bump. + + 02 Jan 2008; Jeroen Roovers <jer@gentoo.org> bash-3.2_p17-r1.ebuild: + Stable for HPPA (bug #203603). + + 29 Dec 2007; Raúl Porcel <armin76@gentoo.org> bash-3.2_p17-r1.ebuild: + alpha/ia64/sparc/x86 stable wrt #203603 + + 29 Dec 2007; Brent Baude <ranger@gentoo.org> bash-3.2_p17-r1.ebuild: + Marking bash-3.2_p17-r1 ppc64 for bug 203603 + + 29 Dec 2007; nixnut <nixnut@gentoo.org> bash-3.2_p17-r1.ebuild: + Stable on ppc wrt bug 203603 + + 28 Dec 2007; Doug Klima <cardoe@gentoo.org> bash-3.2_p17-r1.ebuild: + amd64 stable wrt bug #203603 + + 27 Dec 2007; Mike Frysinger <vapier@gentoo.org> bash-3.2_p25.ebuild: + Fixup default path to bashdb. + + 28 Oct 2007; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.2-parallel-build.patch, bash-3.2_p17.ebuild, + bash-3.2_p17-r1.ebuild, bash-3.2_p25.ebuild: + Fix building in parallel #189671. + +*bash-3.2_p25 (24 Aug 2007) + + 24 Aug 2007; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p25.ebuild: + Version bump. + +*bash-3.2_p17-r1 (07 Aug 2007) + + 07 Aug 2007; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.2-loadables.patch, +bash-3.2_p17-r1.ebuild: + Misc cleanups and add support for bash modules. + + 24 Jul 2007; Steve Dibb <beandog@gentoo.org> bash-3.2_p17.ebuild: + amd64 stable, bug 186168 + + 23 Jul 2007; Raúl Porcel <armin76@gentoo.org> bash-3.2_p17.ebuild: + alpha/ia64/x86 stable wrt #186168 + + 23 Jul 2007; Joshua Kinard <kumba@gentoo.org> bash-3.2_p17.ebuild: + Stable on mips, per #186168. + + 23 Jul 2007; Gustavo Zacarias <gustavoz@gentoo.org> bash-3.2_p17.ebuild: + Stable on sparc wrt #186168 + + 22 Jul 2007; Joseph Jezak <josejx@gentoo.org> bash-3.2_p17.ebuild: + Marked ppc/ppc64 stable for bug #186168. + + 22 Jul 2007; Jeroen Roovers <jer@gentoo.org> bash-3.2_p17.ebuild: + Stable for HPPA (bug #186168). + + 11 Jun 2007; Raúl Porcel <armin76@gentoo.org> bash-3.2_p15-r1.ebuild: + alpha stable wrt #176882 + + 12 May 2007; Steve Dibb <beandog@gentoo.org> bash-3.2_p15-r1.ebuild: + amd64 stable, bug 176882 + + 11 May 2007; Joshua Kinard <kumba@gentoo.org> bash-3.2_p15-r1.ebuild: + Stable on mips, per #176882. + + 05 May 2007; nixnut <nixnut@gentoo.org> bash-3.2_p15-r1.ebuild: + Stable on ppc wrt bug 176882 + + 03 May 2007; Raúl Porcel <armin76@gentoo.org> bash-3.2_p15-r1.ebuild: + ia64 + x86 stable wrt bug 176882 + + 03 May 2007; Gustavo Zacarias <gustavoz@gentoo.org> + bash-3.2_p15-r1.ebuild: + Stable on sparc wrt #176882 + + 03 May 2007; Markus Rothe <corsair@gentoo.org> bash-3.2_p15-r1.ebuild: + Stable on ppc64; bug #176882 + + 03 May 2007; Jeroen Roovers <jer@gentoo.org> bash-3.2_p15-r1.ebuild: + Stable for HPPA (bug #176882). + +*bash-3.2_p17 (03 May 2007) + + 03 May 2007; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p17.ebuild: + Version bump. + +*bash-3.2_p15-r1 (24 Mar 2007) + + 24 Mar 2007; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.2-redisplay-cursor.patch, +bash-3.2_p15-r1.ebuild: + Add fix for redisplay bug in unicode locales #155369. + + 23 Mar 2007; Roy Marples <uberlord@gentoo.org> bash-3.2_p15.ebuild: + Only preserve the /bin/sh symlink if it's bash. + +*bash-3.2_p15 (22 Mar 2007) + + 22 Mar 2007; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p15.ebuild: + Version bump. + +*bash-3.2_p10 (06 Mar 2007) + + 06 Mar 2007; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p10.ebuild: + Version bump. + + 27 Feb 2007; Fabian Groffen <grobian@gentoo.org> bash-3.0-r12.ebuild, + bash-3.0-r13.ebuild, bash-3.0-r14.ebuild, bash-3.1_p16.ebuild, + bash-3.1_p17.ebuild, bash-3.2_p5.ebuild, bash-3.2_p9.ebuild, + bash-3.2_p9-r1.ebuild: + Dropped ppc-macos keyword, see you in prefix + + 04 Feb 2007; Mike Frysinger <vapier@gentoo.org> files/bashrc: + Accept gnome* in enhanced output #165305 by Ed Catmur. + + 18 Jan 2007; Ryan Hill <dirtyepic@gentoo.org> bash-3.2_p9-r1.ebuild: + info symlink broke from move to ecompress. committing as obvious. + + 05 Jan 2007; Roy Marples <uberlord@gentoo.org> files/bashrc: + Fix support for BSD systems. + + 04 Jan 2007; Mike Frysinger <vapier@gentoo.org> files/bashrc: + Add more support for BSD systems. + + 01 Jan 2007; Roy Marples <uberlord@gentoo.org> + files/bash-3.2-dev-fd-test-as-user.patch: + Fix patch file type, #159632 thanks to Zsolti. + +*bash-3.2_p9-r1 (31 Dec 2006) + + 31 Dec 2006; Roy Marples <uberlord@gentoo.org> + files/bash-3.2-dev-fd-test-as-user.patch, +bash-3.2_p9-r1.ebuild: + Refresh the /dev/fd patch so configure correctly on FreeBSD + + 30 Dec 2006; Mike Frysinger <vapier@gentoo.org> files/bashrc, + files/dot-bashrc: + Merge the dot bashrc and global bashrc #148812 by Sebastian Rijkers. + +*bash-3.2_p9 (16 Dec 2006) + + 16 Dec 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p9.ebuild: + Version bump. + +*bash-3.2_p5 (13 Nov 2006) + + 13 Nov 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p5.ebuild: + Version bump. + + 02 Nov 2006; Roy Marples <uberlord@gentoo.org> bash-3.2_p3.ebuild, + bash-3.2_p3-r1.ebuild: + Added ~sparc-fbsd keyword. + +*bash-3.2_p3-r1 (02 Nov 2006) + + 02 Nov 2006; Roy Marples <uberlord@gentoo.org> + +files/bash-3.2-process-subst.patch, +bash-3.2_p3-r1.ebuild: + Add a patch to fix process substitution on BSD. + +*bash-3.2_p3 (31 Oct 2006) + + 31 Oct 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p3.ebuild: + Version bump. + +*bash-3.2_p1 (18 Oct 2006) + + 18 Oct 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.2_p1.ebuild: + Fix from upstream for #151120. + + 17 Oct 2006; Roy Marples <uberlord@gentoo.org> bash-3.1_p17.ebuild, + bash-3.2.ebuild: + Added ~sparc-fbsd keyword. + +*bash-3.2 (12 Oct 2006) + + 12 Oct 2006; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.2-dev-fd-test-as-user.patch, +files/bash-3.2-ulimit.patch, + +bash-3.2.ebuild: + Version bump. + + 27 Sep 2006; Fernando J. Pereda <ferdy@gentoo.org> bash-3.1_p17.ebuild: + Stable on alpha as per bug #149047 + + 26 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> bash-3.1_p17.ebuild: + Stable on sparc wrt #149047 + + 26 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> bash-3.1_p17.ebuild: + Stable on hppa wrt #149047 + + 26 Sep 2006; Simon Stelling <blubb@gentoo.org> bash-3.1_p17.ebuild: + stable on amd64 + + 26 Sep 2006; Joshua Jackson <tsunam@gentoo.org> bash-3.1_p17.ebuild: + Stable x86; bug #149047 + + 25 Sep 2006; Fabian Groffen <grobian@gentoo.org> bash-3.1_p17.ebuild: + Marked ppc-macos stable for progressive users (bug #149047) + + 25 Sep 2006; Markus Rothe <corsair@gentoo.org> bash-3.1_p17.ebuild: + Stable on ppc64; bug #149047 + + 17 Sep 2006; Tobias Scherbaum <dertobi123@gentoo.org> bash-3.1_p17.ebuild: + ppc stable + + 13 Sep 2006; Aron Griffis <agriffis@gentoo.org> bash-3.1_p17.ebuild: + Mark 3.1_p17 stable on ia64 + + 19 Aug 2006; Fabian Groffen <grobian@gentoo.org> bash-3.1_p16.ebuild: + Marked ppc-macos stable for progressive users (bug #129885) + + 01 Aug 2006; Diego Pettenò <flameeyes@gentoo.org> files/dot-bashrc, + bash-3.1_p17.ebuild: + Don't make the ls alias when not using GNU userland, or it will break; + export CLICOLOR for Gentoo/FreeBSD compatibility. + + 20 Jul 2006; Mike Frysinger <vapier@gentoo.org> files/bashrc: + Enable histappend option by default #139609 by Trenton D. Adams and add + small rewrite by Michael A. Smith to use bash builtins instead of grep for + detecting term color capabilities #140266. + + 20 Jul 2006; Mike Frysinger <vapier@gentoo.org> files/dot-bashrc: + Only run dircolors on /etc/DIR_COLORS if /etc/DIR_COLORS exists #140628. + + 16 Jul 2006; Mike Frysinger <vapier@gentoo.org> + files/bash-3.0-bash-logger.patch, files/bash-3.1-bash-logger.patch: + Fix by Victor Nawothnig so logger syslog() is called correctly when cmdline + is over 600 bytes #139043. + + 06 May 2006; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.1-dev-fd-test-as-user.patch, bash-3.1_p16.ebuild, + bash-3.1_p17.ebuild: + Fix /dev/fd test with FEATURES=userpriv #131875 by Heinrich Nirschl. + + 28 Apr 2006; Joshua Kinard <kumba@gentoo.org> bash-3.1_p16.ebuild: + Marked stable on mips. + + 18 Apr 2006; Gustavo Zacarias <gustavoz@gentoo.org> bash-3.1_p16.ebuild: + Stable on sparc wrt #129885 + + 17 Apr 2006; Markus Rothe <corsair@gentoo.org> bash-3.1_p16.ebuild: + Stable on ppc64; bug #129885 + + 16 Apr 2006; Bryan Østergaard <kloeri@gentoo.org bash-3.1_p16.ebuild: + Stable on alpha, bug 129885. + + 15 Apr 2006; Marcus D. Hanwell <cryos@gentoo.org> bash-3.1_p16.ebuild: + Marked stable on amd64, bug 129885. + + 15 Apr 2006; <nixnut@gentoo.org> bash-3.1_p16.ebuild: + Stable on ppc. Bug #129885 + + 15 Apr 2006; Mark Loeser <halcy0n@gentoo.org> bash-3.1_p16.ebuild: + Stable on x86; bug #129885 + +*bash-3.1_p17 (14 Apr 2006) + + 14 Apr 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.1_p17.ebuild: + Another patch from upstream. + + 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> bash-3.1_p16.ebuild: + Update ~x86-fbsd keyword. + +*bash-3.1_p16 (31 Mar 2006) + + 31 Mar 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.1_p16.ebuild: + Version bump. + + 30 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> bash-3.1_p14.ebuild: + Add ~x86-fbsd keyword. + +*bash-3.1_p14 (21 Mar 2006) + + 21 Mar 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.1_p14.ebuild: + Version bump. + +*bash-3.1_p11 (05 Mar 2006) + + 05 Mar 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.1_p11.ebuild: + Version bump. + +*bash-3.1_p10 (21 Feb 2006) + + 21 Feb 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.1_p10.ebuild: + Version bump. + +*bash-3.1_p8 (17 Feb 2006) + + 17 Feb 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.1_p8.ebuild: + Version bump. + +*bash-3.1_p7 (04 Feb 2006) + + 04 Feb 2006; Mike Frysinger <vapier@gentoo.org> +bash-3.1_p7.ebuild: + Version bump. + +*bash-3.1_p5-r2 (15 Jan 2006) + + 15 Jan 2006; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.1-fix-dash-login-shell.patch, +bash-3.1_p5-r2.ebuild: + Fix from Redhat for login shells that begin with a "-" #118257 by Avuton + Olrich. + +*bash-3.1_p5-r1 (14 Jan 2006) + + 14 Jan 2006; Mike Frysinger <vapier@gentoo.org> + +files/readline-5.1-terminal-autowrap.patch, +bash-3.1_p5-r1.ebuild: + Fix from upstream for bad initial linewrapping #118205 by Derek Dolney. + +*bash-3.1_p5 (10 Jan 2006) + + 10 Jan 2006; Mike Frysinger <vapier@gentoo.org> + files/bash-3.1-ulimit.patch, -bash-3.1-r2.ebuild, +bash-3.1_p5.ebuild: + Grab some more patches from upstream. + +*bash-3.1-r2 (04 Jan 2006) + + 04 Jan 2006; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.1-arrays.patch, +bash-3.1-r2.ebuild: + Grab fix from upstream for array handling #116352 by Jory A. Pratt. + +*bash-3.1-r1 (22 Dec 2005) + + 22 Dec 2005; Mike Frysinger <vapier@gentoo.org> +bash-3.1-r1.ebuild: + Grab patches from upstream to fix #115142. + +*bash-3.1 (10 Dec 2005) + + 10 Dec 2005; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.0-read-memleak.patch, +files/bash-3.1-bash-logger.patch, + +files/bash-3.1-gentoo.patch, +files/bash-3.1-ulimit.patch, + +bash-3.1.ebuild: + Version bump #115084 by mikomek. + +*bash-3.0-r14 (29 Nov 2005) + + 29 Nov 2005; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.0-cross-signals.patch, +files/bash-3.0-subshell.patch, + +files/bash-3.0-volatile-command.patch, +bash-3.0-r14.ebuild: + Grab a fix from Fedora (upstream), a fix from Debian, and try and fix signal + generation when cross-compiling. + + 20 Oct 2005; Diego Pettenò <flameeyes@gentoo.org> + +files/bash-3.0-strnlen.patch, bash-3.0-r13.ebuild: + Add patch to provide strnlen when it does not exists, as one of the last + patches needs it to work on FreeBSD and other non-glibc systems. + +*bash-3.0-r13 (16 Oct 2005) + + 16 Oct 2005; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.0-configs.patch, +files/bash-3.0-gentoo.patch, + +files/bash-3.0-histtimeformat.patch, +files/bash-3.0-locale.patch, + +files/bash-3.0-multibyteifs.patch, +files/bash-3.0-rl-display.patch, + +files/bash-3.0-rl-self-insert.patch, +files/bash-3.0-prompt.patch, + +files/bash-3.0-utf8.patch, +bash-3.0-r13.ebuild: + Add some more patches from Debian/SuSe/Fedora/Pardus and add a workaround + for UTF8 mishaps #69407. + + 03 Oct 2005; Mike Frysinger <vapier@gentoo.org> files/bashrc: + Add an alias for colored output to global bashrc. + + 03 Sep 2005; Stefan Briesenick <sbriesen@gentoo.org> bash-3.0-r12.ebuild: + fixing parallel build problems using 'emake -j1' (see bug 102426) + + 06 Aug 2005; Kito <kito@gentoo.org> bash-3.0-r12.ebuild: + ~ppc-macos + + 03 Aug 2005; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.0-force-static-linking.patch, bash-3.0-r12.ebuild: + Make sure Darwin links properly against included readline #100138. + + 07 Jul 2005; Martin Schlemmer <azarah@gentoo.org> bash-3.0-r12.ebuild: + Add parallel build fix patch back again. + + 06 Jul 2005; Martin Schlemmer <azarah@gentoo.org> files/dot-bashrc: + Add support for rxvt-unicode in the window title code, bug #98090. + +*bash-3.0-r12 (05 Jul 2005) + + 05 Jul 2005; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.0-pgrp-pipe-fix.patch, +bash-3.0-r12.ebuild: + Fix from upstream for pipe code when PGRP_PIPE is enabled #92349 by Harald + van Dijk. + + 27 Jun 2005; Aron Griffis <agriffis@gentoo.org> + +files/bash-3.0-parallel.patch, bash-3.0-r11.ebuild: + Fix parallel builds #87247 + + 09 Jun 2005; Mike Frysinger <vapier@gentoo.org> bash-3.0-r11.ebuild: + Stabilize for all arches. + + 29 May 2005; <solar@gentoo.org> bash-2.05b-r11.ebuild, bash-3.0-r7.ebuild, + bash-3.0-r8.ebuild: + update package to use libc expanded variable elibc_uclibc vs uclibc so USE=-* + works + + 04 May 2005; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.0-bash-logger.patch, bash-3.0-r11.ebuild: + Add support for logging in the shell #91327 by Kevin Landreth. + + 30 Apr 2005; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.0-trap-fg-signals.patch, bash-3.0-r11.ebuild: + Add patch to handle trapped signals in scripts better. + + 30 Apr 2005; Mike Frysinger <vapier@gentoo.org> +files/dot-bash_logout, + +files/dot-bash_profile, +files/dot-bashrc, bash-3.0-r11.ebuild: + Move /etc/skel/.bash* files from baselayout to bash. + +*bash-3.0-r11 (29 Apr 2005) + + 29 Apr 2005; Mike Frysinger <vapier@gentoo.org> -bash-3.0-r10.ebuild, + +bash-3.0-r11.ebuild: + Remove preexec patch since it can cause segfaults under some test cases: + alias blah="ls;ls" then do `blah`. + +*bash-3.0-r10 (29 Apr 2005) + + 29 Apr 2005; Mike Frysinger <vapier@gentoo.org> +files/bash-3.0-afs.patch, + +files/bash-3.0-crash.patch, +files/bash-3.0-darwin-conn.patch, + +files/bash-3.0-manpage.patch, +files/bash-3.0-pwd.patch, + +files/bash-3.0-read-e-segfault.patch, +files/bash-3.0-ulimit.patch, + +files/bash_logout, +bash-3.0-r10.ebuild: + Add a bunch of fixes from Fedora. Add patch to fix Darwin support #79124 by + Sune Foldager. Dont install /bin/sh symlink on non-gnu systems (like BSD) + #84777 by Diego Pettenò. Add global bash_logout support #90488 by Andre + Kloth. Add support for PREEXEC #31414 by M3Dlor and all. Move /etc/bashrc + back to /etc/bash/bashrc sine we now have /etc/bash/bash_logout too. + +*bash-3.0-r9 (30 Mar 2005) + + 30 Mar 2005; Mike Frysinger <vapier@gentoo.org> + +files/bash-3.0-read-builtin-pipe.patch, +bash-3.0-r9.ebuild: + Move /etc/bash/bashrc to /etc/bashrc and fix built-in read with -u pipes + #87093 by Michael Haubenwallner. + +*bash-3.0-r8 (09 Feb 2005) + + 09 Feb 2005; Mike Frysinger <vapier@gentoo.org> +bash-3.0-r8.ebuild: + Version bump to include 2 new upstream patches. + +*bash-3.0-r7 (13 Oct 2004) + + 13 Oct 2004; Aron Griffis <agriffis@gentoo.org> +files/bash30-014, + -bash-3.0-r5.ebuild, -bash-3.0-r6.ebuild, +bash-3.0-r7.ebuild: + Add patch 014 to fix brace expansion #67075 + +*bash-2.05b-r11 (29 Sep 2004) + + 29 Sep 2004; Aron Griffis <agriffis@gentoo.org> + +files/bash-2.05b-setlocale.patch, -bash-2.05b-r10.ebuild, + +bash-2.05b-r11.ebuild: + Fix bash-2 initialization wrt setlocale #64266. Arch devs, please do *not* + stable this package until I say so since the newer bashrc stuff needs to be + synchronized with stabilization of newer baselayout versions + + 28 Sep 2004; Aron Griffis <agriffis@gentoo.org> files/bashrc: + Enable checkwinsize in system bashrc #65623 + + 28 Sep 2004; Travis Tilley <lv@gentoo.org> +files/bash-2.05b-jobs.patch, + +files/bash-3.0-jobs.patch, bash-2.05b-r10.ebuild, bash-2.05b-r9.ebuild, + bash-3.0-r5.ebuild, bash-3.0-r6.ebuild: + added a fix from fedora for using bash with post-20040808 glibc snapshots. + +*bash-3.0-r6 (27 Sep 2004) + + 27 Sep 2004; Aron Griffis <agriffis@gentoo.org> +bash-3.0-r6.ebuild: + Update to patchlevel 13 #65410 and others + + 08 Sep 2004; Mike Frysinger <vapier@gentoo.org> bash-2.05b-r10.ebuild, + bash-2.05b-r9.ebuild, bash-3.0-r5.ebuild: + Make sure we statically link with ncurses #51901 and turn on emake since it + seems to work fine for me. + +*bash-3.0-r5 (18 Aug 2004) + + 18 Aug 2004; Aron Griffis <agriffis@gentoo.org> + +files/bash-3.0-array-stripping.patch, -bash-3.0-r4.ebuild, + +bash-3.0-r5.ebuild: + Fix array stripping with patch from Chet #60127 + + 13 Aug 2004; Aron Griffis <agriffis@gentoo.org> files/bashrc: + Don't export PS1. Continuation of bug 26951, comments 60-62 + + 07 Aug 2004; Aron Griffis <agriffis@gentoo.org> files/bashrc: + Restore red prompt for root #59678 + + 02 Aug 2004; Aron Griffis <agriffis@gentoo.org> + files/bash-3.0-invisible.patch: + Fix bash-3.0-invisible.patch to work for more than the simple test case I used + last time ;-) + +*bash-3.0-r4 (02 Aug 2004) + + 02 Aug 2004; Aron Griffis <agriffis@gentoo.org> + +files/bash-3.0-local-array.patch, -bash-3.0-r3.ebuild, +bash-3.0-r4.ebuild: + Fix bug 58961 with patch from Chet Ramey to prevent segfault + +*bash-3.0-r3 (02 Aug 2004) + + 02 Aug 2004; Aron Griffis <agriffis@gentoo.org> + +files/bash-3.0-etc-inputrc.patch, -bash-3.0-r1.ebuild, -bash-3.0-r2.ebuild, + +bash-3.0-r3.ebuild, -bash-3.0.ebuild: + Add patch to use /etc/inputrc automatically as a last resort if ~/.inputrc is + unavailable. This is better than using INPUTRC since that will override even + after the user creates ~/.inputrc. #38955 + +*bash-3.0-r2 (02 Aug 2004) + + 02 Aug 2004; Aron Griffis <agriffis@gentoo.org> + +files/bash-3.0-invisible.patch, +bash-3.0-r2.ebuild: + Fix the bug reported by Alexander in bug 36393: bash applies all invisible + characters to the first line instead of the ones that actually (dis)appear in + that line. I've also pushed this upstream + + 29 Jul 2004; Ciaran McCreesh <ciaranm@gentoo.org> bash-3.0-r1.ebuild: + Add ~sparc back in + +*bash-3.0-r1 (28 Jul 2004) + + 28 Jul 2004; Aron Griffis <agriffis@gentoo.org> + +files/bash-3.0-posixtrap.patch, +bash-3.0-r1.ebuild: + Fix bug 58703: Revert trap behavior for the sake of autoconf-generated + configure scripts. The problem here is that bash -c 'trap 0' works, but sh -c + 'trap 0' doesn't work because the bash developers are trying to adhere to + POSIX in that case. Since all the configure scripts are #!/bin/sh, this breaks + them... That's bad news and will need some time to fix, so it's easier to fix + here for the moment + + 29 Jul 2004; Ciaran McCreesh <ciaranm@gentoo.org> bash-3.0.ebuild: + Remove ~sparc for now, see bug #58703 + +*bash-3.0 (28 Jul 2004) + + 28 Jul 2004; <agriffis@gentoo.org> +bash-3.0.ebuild: + Bump to version 3.0. All patches from files/ have been either integrated into + gentoo patch or dropped appropriately + +*bash-2.05b-r10 (21 Jul 2004) + + 21 Jul 2004; Aron Griffis <agriffis@gentoo.org> +files/bashrc, + +bash-2.05b-r10.ebuild, -bash-2.05b-r5.ebuild, -bash-2.05b-r7.ebuild, + -bash-2.05b-r8.ebuild: + Install and use /etc/bash/bashrc; half of fix for bug 26952. Thanks to Toby + Dickenson for the dircolors tip + + 15 Jun 2004; <solar@gentoo.org> bash-2.05b-r9.ebuild: + remove *bashbug* when using uclibc + + 17 Apr 2004; Travis Tilley <lv@gentoo.org> bash-2.05b-r9.ebuild: + marked stable on amd64 + + 09 Mar 2004; <agriffis@gentoo.org> bash-2.05b-r9.ebuild: + stable on alpha and ia64 + + 07 Mar 2004; Joshua Kinard <kumba@gentoo.org> bash-2.05b-r9.ebuild: + Marked stable on mips. + + 02 Mar 2004; Brian Jackson <iggy@gentoo.org> bash-2.05b-r9.ebuild: + s390 keywords + + 15 Feb 2004; Martin Schlemmer <azarah@gentoo.org> bash-2.05b-r9.ebuild: + Fix parallel make, bug #41002. + + 09 Feb 2004; <gustavoz@gentoo.org> bash-2.05b-r9.ebuild: + stable on sparc + + 08 Feb 2004; Martin Schlemmer <azarah@gentoo.org> bash-2.05b-r9.ebuild: + Bump to stable for x86. + + 13 Jan 2004; Jon Portnoy <avenj@gentoo.org> bash-2.05b-r7.ebuild : + Stable on AMD64. + + 28 Dec 2003; Joshua Kinard <kumba@gentoo.org> bash-2.05b-r7.ebuild: + Move to mips stable (~mips -> mips) + +*bash-2.05b-r9 (27 Dec 2003) + + 27 Dec 2003; Martin Schlemmer <azarah@gentoo.org> bash-2.05b-r9.ebuild: + Force pgrp synchronization + (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653) + + The session will hang cases where you 'su' (not 'su -') and then run a piped + command in emacs. This problem seem to happen due to scheduler changes kernel + side - although reproduceble with later 2.4 kernels, it is especially easy + with 2.6 kernels. + + 13 Dec 2003; Guy Martin <gmsoft@gentoo.org> bash-2.05b-r7.ebuild: + Marked stable on hppa. + + 22 Oct 2003; Bartosch Pixa <darkspecter@gentoo.org> bash-2.05b-r7.ebuild: + set ppc in keywords + +*bash-2.05b-r8 (13 Oct 2003) + + 20 Oct 2003; Joshua Kinard <kumba@gentoo.org> bash-2.05b-r8.ebuild: + Added gnuconfig support for mips64 + + 13 Oct 2003; Daniel Ahlberg <aliz@gentoo.org bash-2.05b-r8.ebuild: + Enable SSH_SOURCE_BASHRC, closing #24762 + + 03 Oct 2003; Christian Birchinger <joker@gentoo.org> bash-2.05b-r7.ebuild: + Added sparc stable keyword + + 01 Oct 2003; Tavis Ormandy <taviso@gentoo.org> bash-2.05b-r7.ebuild: + Stable on alpha + +*bash-2.05b-r7 (19 Aug 2003) + + 30 Sep 2003; Joshua Kinard <kumba@gentoo.org> bash-2.05b-r7.ebuild: + Added ~mips to KEYWORDS + + 27 Sep 2003; <solar@gentoo.org> bash-2.05b-r7.ebuild: + bumping bash-2.05b-r7 to stable on x86 + + 17 Sep 2003; Jon Portnoy <avenj@gentoo.org> bash-2.05b-r7.ebuild : + Added ia64 keywords. + + 02 Sep 2003; Martin Holzer <mholzer@gentoo.org> bash-2.05a-r3.ebuild, + bash-2.05b-r3.ebuild, bash-2.05b-r4.ebuild, bash-2.05b-r5.ebuild, + bash-2.05b-r6.ebuild, bash-2.05b-r7.ebuild: + Now uses mirror://gnu. + + 19 Aug 2003; <solar@gentoo.org> bash-2.05b-r7.ebuild, + files/bash-2.05b-rbash.patch: + Update to add support for restricted bash when invoked from /etc/passwd as + /bin/rbash Bug #26854 + +*bash-2.05b-r6 (09 Jul 2003) + + 03 Sep 2003; Jason Wever <weeve@gentoo.org> bash-2.05b-r6.ebuild, + bash-2.05b-r7.ebuild: + Added ~sparc keyword. + + 11 Jul 2003; Daniel Ahlberg <aliz@gentoo.org> : + Added missing changelog entry. + + 09 Jul 2003; Tavis Ormandy <taviso@gentoo.org> : + some new official patches released. + +*bash-2.05b-r5 (01 May 2003) + + 06 Jul 2003; Joshua Kinard <kumba@gentoo.org> bash-2.05b-r5.ebuild: + Changed ~mips to mips in KEYWORDS + Cleaned up Changelog + + 02 Jul 2003; Guy Martin <gmsoft@gentoo.org> bash-2.05b-r5.ebuild : + Marked stable on hppa. + + 01 Jul 2003; Todd Sunderlin <todd@gentoo.org> bash-2.05b-r5.ebuild: + set stable on sparc + + 15 Jun 2003; Seemant Kulleen <seemant@gentoo.org> bash-2.05b-r5.ebuild: + added a symlink bashref.info.gz->bash.info.gz -- closes bug #22168 by Chris + Kelso <devkelso@cox.net> + + 01 May 2003; Tavis Ormandy <taviso@gentoo.org> bash-2.05b-r5.ebuild, + files/bash-2.05b-empty-herestring.patch: + Fixing segfault on empty herestring. + +*bash-2.05b-r4 (27 Apr 2003) + + 27 Apr 2003; Martin Schlemmer <azarah@gentoo.org> bash-2.05b-r4.ebuild : + Readline is slow with multibyte locale, bug #19762. Add a patch. + + 13 Mar 2003; Olivier Reisch <doctomoe@gentoo.org> bash-2.05b-r3.ebuild : + Marked ppc stable + +*bash-2.05b-r3 (11 Mar 2003) + + 27 Mar 2003; Christian Birchinger <joker@gentoo.org> bash-2.05b-r3.ebuild : + Added stable sparc keyword + + 12 Mar 2003; Martin Holzer <mholzer@gentoo.org> bash-2.05b-r3.ebuild : + removed dodoc man/*.3 (doesn't exist) + + 11 Mar 2003; Seemant Kulleen <seemant@gentoo.org> bash-2.05a-r3.ebuild, + bash-2.05b-r3.ebuild, files/config-top.h.diff: + moved to app-shells + + 20 Feb 2003; Zach Welch <zwelch@gentoo.org> bash-2.05b-r3.ebuild : + Added arm to keywords. + + 07 Feb 2003; Guy Martin <gmsoft@gentoo.org> bash-2.05b-r3.ebuild : + Added hppa to keywords. + + 03 Dec 2002; Martin Schlemmer <azarah@gentoo.org> bash-2.05b-r3.ebuild : + Remove autoconf dependency, resolving stage0 -> stage1 breakage, thanks + to Daniel Robbins. + +*bash-2.05a-r3 (20 Dec 2002) + + 20 Dec 2002; Jan Seidel <tuxus@gentoo.org> bash-2.05a-r3.ebuild : + Added mips to keywords + + 17 Dec 2002; Mark Guertin <gerk@gentoo.org> bsh-2.05b-r3.ebuild : + Downgraded back to testing, the DEPEND for autoconf breaks the build + order for making stage1's (pulls in many unmatchable deps that require + g++ to build). + + 10 Dec 2002; Martin Schlemmer <azarah@gentoo.org> bash-2.05b-r3.ebuild : + + Mark stable. + + 06 Dec 2002; Rodney Rees <manson@gentoo.org> : + + Changed sparc ~sparc keywords + +*bash-2.05b-r3 (25 Sep 2002) + + 24 Feb 2003; Nicholas Wourms <dragon@gentoo.org> bash-2.05b-r3.ebuild : + Marked as stable for mips. + + 18 Jan 2003; Jan Seidel <tuxus@gentoo.org> : + Added ~mips to keywords + + 25 Sep 2002; Martin Schlemmer <azarah@gentoo.org> bash-2.05b-r3.ebuild : + Added a few patches. + +*bash-2.05b-r2 (1 Sep 2002) +*bash-2.05a-r3 (1 Sep 2002) + + 1 Sep 2002; Seemant Kulleen <seemant@gentoo.org> bash-2.05a-r3 bash-2.05b-r2 : + + ska-fan in #gentoo-dev offered insight into bug #7332 by + Jan.Schubert@GMX.li (Jan Schubert). Note that ska-fan is: + twanger@bluetwanger.de + + 1 Sep 2002; Martin Schlemmer <azarah@gentoo.org> bash-2.05a-r3 bash-2.05b-r2 : + Update to use internal readline. This fixes problems where bash stops + working if readline (external) is updated. + +*bash-2.05b-r1 (30 Aug 2002) + + 30 Aug 2002; mark Guertin <gerk@gentoo.org> bash-2.05b.ebuild bash-2.05b-r1.ebuild : + set -ppc as readline 4.3 (required) breaks system with inplace upgrade + + 30 Aug 2002; Seemant Kulleen <seemant@gentoo.org> bash-2.05b-r1.ebuild + files/digest-bash-2.05b-r1 : + + Applied Mandrake's patchset to this, which fixes readline bugs, command + completion, gcc-3 compilation. Patchset compiled by Thierry Vignaud of + Mandrake (tvignaud@mandrakesoft.com) + + 31 Aug 2002; Bart Verwilst <verwilst@gentoo.org> bash-2.05b-r1.ebuild : + + Added autoconf to DEPEND + +*bash-2.05b (23 Jul 2002) + + 23 Jul 2002; Seemant Kulleen <seemant@gentoo.org> bash-2.05b.ebuild : + + Version bump. Thanks to christian-neumair@web.de (Christian - Manny + Calavera - Neumair) in bug #5422 + +*bash-2.05a-r1.ebuild (14 July 2002) + + 14 Jul 2002; phoen][x <phoenix@gentoo.org> bash-2.05a-r1.ebuild : + Added KEYWORDS, SLOT. + +*bash-2.05a-r2 (09 Apr 2002) + + 14 Jul 2002; phoen][x <phoenix@gentoo.org> bash-2.05a-r2.ebuild : + Added KEYWORDS, SLOT. + + 09 Apr 2002; Daniel Robbins <drobbins@gentoo.org> : New bash release that has + a patch to allow non-interactive login shells to inherit their environment. + This allows your prompt to be preserved after you start X. This closes bug + #1579. diff --git a/app-shells/bash/Manifest b/app-shells/bash/Manifest new file mode 100644 index 0000000..8326180 --- /dev/null +++ b/app-shells/bash/Manifest @@ -0,0 +1,62 @@ +AUX autoconf-mktime-2.59.patch 4686 RMD160 64f719df39ae0a17999cb6b87ce9c5e275fcd7eb SHA1 4355b22b415c703c8ca9cc1b7b89ec44edc7ad4c SHA256 3c16de6cbe24fc806c29390eaf4c7e1d9ceda3df523bb18941cf0a3184356bba +AUX bash-2.05b-empty-herestring.patch 836 RMD160 bdeef415bb8ef5294bfdb47a00beb3523f5e33c5 SHA1 fc34260611e395caee16930e66ec13e7aae63796 SHA256 a05098a9bb85520efc5c6d108fdcf635e4a9b20369d42d9aa0803c6b1d145cae +AUX bash-2.05b-jobs.patch 876 RMD160 1f23f16b72c18b6daa13631411cd216fc15032d9 SHA1 0150ee15228a9d34558737b16283b971b45ca23f SHA256 32ab1b54a4c48f9497ea7822e50234de28be9836606e62a0d237bb35f651fe61 +AUX bash-2.05b-multibyte-locale.patch 1897 RMD160 a7ac28d3ff4b14dd2d5e563ad5472dc361d5fc59 SHA1 9f44869ccbe231d48c7fb60dd2380be6ba952bac SHA256 31e072d0ba0789a3d7c4d12925103250c5ffeeca226c3224411031559a3cb10a +AUX bash-2.05b-parallel-build.patch 459 RMD160 721d3cc81a0bf8934dd954ca0a5a4ca570281873 SHA1 4521e4e7a09d98b9924947cfc36b3f8aa1a7c2ee SHA256 20270797424c6f261c35626fe70cfc88e5f4bcf323135eb9364a8a97a292cdf6 +AUX bash-2.05b-rbash.patch 804 RMD160 a3ab6f62dbe83b54e692d2846ae2367585a86f9c SHA1 0752d735c027dac63cd08d453634741490dd8c4d SHA256 3d4d5b10fdad2f26dc68e1a86c61683c15d15c09d7c34e80b75ef49b7a23eb76 +AUX bash-2.05b-setlocale.patch 694 RMD160 4791cfa8f396925af555c8e1314a1c31824992aa SHA1 ad8312162bd0d17868b9095c35ffc2e87ff25abd SHA256 aea5a0f1726887a3dbde80cb2646f3fad1af36dc847a2d1f9109e6184361857e +AUX bash-3.0-afs.patch 633 RMD160 c9b1b0aa4efd6164a7a88f6ef6a5fa7b63edd02b SHA1 3115a332e28c7db721fcefce3ed3f7f1b5f5988c SHA256 4c4453a7cf5d26099d41a4c473d9f727e6347c693cdace009bcde0fe5aea27c4 +AUX bash-3.0-array-stripping.patch 383 RMD160 5b4bcb635d72c1f2d75a75734b8ab829469c33f9 SHA1 65ba2381ca8304e6733997663133a797052763ee SHA256 d09d29e105b5df02a265c265c6b5bca053eb235b0a58ee082b91de24f8ab1b00 +AUX bash-3.0-bash-logger.patch 2198 RMD160 b7fe5dbeb70787f75a929ee59fb9473e3195b52a SHA1 f7f777e6ceeed3220d406e39445359fd44bbdb9b SHA256 80e30cf7fe460ec670365e204318c228df265a8dfc200171c0c03fcc972441bf +AUX bash-3.0-configs.patch 2538 RMD160 00e8015531efb6a59298782581928f1aff2247e6 SHA1 7f4615de4ac2219372d34dfbead3311fcfdfab2a SHA256 09d11c8e6158b2346fc39830d75af2210cd1cec7c8e9965aed96b66213310d3f +AUX bash-3.0-crash.patch 1191 RMD160 5aa9faeb6dbcad193d457d7f1cd2657b6c88c3ed SHA1 8e700b070a6bfc00ff332c4063d6f7d7ab3125d1 SHA256 b082ac3e1ede7327a9147cedcfe3c0dbaa1b05ee6e9eee3ac838216ba7838eb3 +AUX bash-3.0-cross-signals.patch 2425 RMD160 be82b9a876507d24563358fa6d8e0239a669e56a SHA1 fa5dfecb70c03bc7a722dba40605850a8afdcbb8 SHA256 5647b3f2a98c3079207c1322b09ed7aec7f56206e9096b4084b6c1da3196f6bf +AUX bash-3.0-darwin-conn.patch 972 RMD160 1772c9cda4c18670a64435b0da48494b095738a7 SHA1 7429291c3cac2d8514658913bb0730978af26438 SHA256 fb03597f12fe50a41cd92aa07c39c2b530d7374766ef4701b084c2bfd08b98cd +AUX bash-3.0-etc-inputrc.patch 1443 RMD160 8bf34837bef20bfc7062e32e4a23aa6af9ef2b49 SHA1 a58b9011f61e7e60be0fcd8741d91292222eff61 SHA256 b43736c32ed9d9088ee1cbbff11b78d6f6993492f9da3e1eb5151a64a082d025 +AUX bash-3.0-force-static-linking.patch 952 RMD160 12046a3ff15fd11f3be5b869979ad2e72a21fdeb SHA1 d86d2848644da6a4a585f97f63a45d7951f94231 SHA256 d14cebcf6f83ff83a1c75391c10fac901efcca19319fdcb3b7af111adbbbf168 +AUX bash-3.0-gentoo.patch 2955 RMD160 0eff7aba8daf0ce0b01694f2a7271dfb0b240f82 SHA1 532aabf37e17c0721036622c946715dd86e07dcf SHA256 566b9116091bdefe1493e4d793a03541ff9fbe5cd1461fc326e82eb2df37bfc1 +AUX bash-3.0-histtimeformat.patch 1784 RMD160 e9e3813bd9a4fe64b327bceb8a236b2f627c99bd SHA1 561147221703d35e22b3112ed5988de3657da98f SHA256 d02e10e0406d2f219903de71e08eb3ce2234f0621b6b5cb977f89e710be4e236 +AUX bash-3.0-invisible.patch 846 RMD160 e4c1035cf5e35c0ddd883e021a630c543c4d2287 SHA1 b17d143c4a181be5382e3a77cb37889c2e982872 SHA256 9f8051afe6612022d7805dca701e4f8fe959aa46865e65500e0fd3bfddd08c43 +AUX bash-3.0-jobs.patch 1438 RMD160 ad7147fb8fc3a285cefea46e001e3dd8718eed8c SHA1 89deb02ba2250aca12f4ea2fab318c5892f24ef4 SHA256 49e2747fb03cd3beac258fa081edd2fe5f83bb4d18f5bd6318b1154e7857f225 +AUX bash-3.0-local-array.patch 364 RMD160 fa45d53b150c59fbf384d23d07e4c434f6caa80d SHA1 f62817f7b26d81f985bbe35e0e3ea6c4f7fe2394 SHA256 c3e7f774c4e8bd3f390e561a00947631aa7d10ce4891ab9d514a9c95c090d5ac +AUX bash-3.0-locale.patch 3492 RMD160 6e9cadbe594ca2f6f21fdfb01214ccd35b553fc6 SHA1 09e6a9411d69fece3a8732f221e3d1416be00234 SHA256 4bfa0e70f36519f40098b889bae3dbe87a561e3c6ee7815fbdd76554b48343c3 +AUX bash-3.0-manpage.patch 498 RMD160 5328dbc15fe404341550b7c0caeac12c7a01bfc0 SHA1 bc5c9aaaa422c66e1f4d387753c7b62e07a599cc SHA256 0e398ec166852cd6e3dac6e8a2124494ee53376911cff38000381a25ea585685 +AUX bash-3.0-multibyteifs.patch 6099 RMD160 0e1d6fd511e09050b2ec8b720b7f0e222b21ce60 SHA1 f6fa43aeaa85625ea379b58c4468a64eb89636fe SHA256 33471606d4363a1eb9f4222f5d2ada2666f538a258d5355182d26cd0aaa7dbc4 +AUX bash-3.0-parallel.patch 378 RMD160 8ffb8bcba8ae8f5a1f4668a06bd20d66102b495e SHA1 3548c1a9caba4142ffa86247ad1ad1422f6f0bfa SHA256 5c04d9d29b925d58327105c4778b546a1132779a78f8f43173130040efb0e41a +AUX bash-3.0-pgrp-pipe-fix.patch 462 RMD160 7c2e3058e1a0d6b4ec55b63052a74b091c8a7bc3 SHA1 7a826b45a935ed01dd84bddf644f7efa754965dd SHA256 4ebe71e13b42eb2c3cee85d1c2851719b511c287f3124105b3ab881172418d8f +AUX bash-3.0-posixtrap.patch 1212 RMD160 6c2d1441fe22c696c15852a2170c2b5a762bd7a0 SHA1 d7159b3e5eb53f8d55f4c406b5c6db5d0da6d7cc SHA256 174c05c090999a7a70a2a90d06630e07fce6a62c5ddafab1fe3fd4abea83aae2 +AUX bash-3.0-prompt.patch 785 RMD160 86110bd1e3332150dda6be357ac88344fc9f920a SHA1 3fb997a5a9e7871f7d3c492d2b07e24a7e09172f SHA256 a26750ac6cdf21b5d539303f6dc8954fbf87eff45d4d9c3b33a4234bf7b96755 +AUX bash-3.0-pwd.patch 717 RMD160 5a13bada0fdc7e72d9a1f0a0ce663fedf00f4724 SHA1 1c16a5d831aae9a4f3cb81785e4e5eb90a0e2797 SHA256 4ac8a723fd25107e65a835fec701ff89e85c8d5f9ba0fb1e2eedca361a5eba3e +AUX bash-3.0-read-builtin-pipe.patch 689 RMD160 fd0d016d94ea23cc78087444c9a04f105ce54526 SHA1 4cb72cee934f633b880a15999a149e382f36d828 SHA256 af3b946bcbc23726e91bfbf23db1d4310b8aebdb6a204659e2e47ac79cce60b5 +AUX bash-3.0-read-e-segfault.patch 825 RMD160 805c9bf8c6e938c0592ba294ee32e1a0469355f7 SHA1 f855f9a68b8f40e2e41ed1640ebda8704d6f52f6 SHA256 96aba2db414e977ee0799dad0a06eff1270dce7633579cd26374ce548d249423 +AUX bash-3.0-read-memleak.patch 416 RMD160 16854104e74e519a1c78e07878dbcb30e2273694 SHA1 e00840ba8ea18a666cc927eb5dbfcd5dfb49fc7f SHA256 c9be95964762fe11cd0154149f02bd0501da9394ea5034dc60ed8d6b2d1db4b9 +AUX bash-3.0-rl-display.patch 5641 RMD160 8aafb4e0883c8239f6617a4a7ba1e10ba2398602 SHA1 4f0a76054bb3c7a36f04b6cf6917f8574d170450 SHA256 e4fad8f4464076f1842894404ccebf311df0642085d7527f1440b77b41a6ad5c +AUX bash-3.0-rl-self-insert.patch 2479 RMD160 ac37a194c8c89d3db357d29d155cd09d3271d274 SHA1 95e078465842cebcb474f09d427aa096abae909e SHA256 8a1ac14cf29dc1591a17fe940f40ce16cbec128d4d00e20265de9eddb1eac065 +AUX bash-3.0-strnlen.patch 5235 RMD160 6794110400f2eeb9d50ea37ced63fa15df9a1f2f SHA1 93461e66d32b3b8bec91b5862bc9f916f264b1fd SHA256 88efddc7a3c48b26458e6c6f5c7ae352182bacafe0c800e6e830f5d71e18092d +AUX bash-3.0-subshell.patch 1219 RMD160 d5ab149cde97d21375b753bddd948d036bb17ffd SHA1 b2857b0a4b1b4cca187bc6dc6ad0fd425d860a02 SHA256 aa28ee13ec650bf225c4f8f0c59c9e764d0d5033f1fbfc8ac4f129c814c1f525 +AUX bash-3.0-trap-fg-signals.patch 641 RMD160 9d9c02d2cc5b4d0d89aad39241f450371527380a SHA1 fadd2240da5c5a9d0f3b33fa28917ba015bfd1d2 SHA256 6a87cba12a8d2873be89c0721dfa405f05508b23841e4b5041a22f57698e1b03 +AUX bash-3.0-ulimit.patch 5226 RMD160 9c5281cbf96707ea9c40200c81b3332158b98eac SHA1 91935fd61eae8c926cef25e2c2b87438173fb23d SHA256 a3912103afc8bb5a4f63ac0e2921971c02e7e84885960352e1ffe8940c3c779d +AUX bash-3.0-utf8.patch 1392 RMD160 d0bfac5a7c16a77f3d44bb1d2b9e7bc23664fac0 SHA1 c3fab5be234adfefe8385983f53bb9611cfeaddb SHA256 c768c3292650da5e457d5b50b4ee2197590c6a4ffac0faba606993a163fdded4 +AUX bash-3.0-volatile-command.patch 512 RMD160 71e10b5531467206265927fd9bc7db49d4a5f9d2 SHA1 7f34a539c7841f70404d8d49d824dc608b97274c SHA256 03a22fe666a11f8dc917d0573ceaa785ebb67000ed060c4986e14e9e5353121b +AUX bash-3.1-bash-logger.patch 2210 RMD160 1dfc18b8e76c863b44691929973e7f514479d88a SHA1 e88bfe00d3be84516fa425da7310e2e6d32b4f39 SHA256 f2351d5b69ddccbd1efe9f99fb396e8ee6847cf6d054317a8adb180ec0e23b85 +AUX bash-3.1-dev-fd-test-as-user.patch 437 RMD160 8248e384051f19ff8ce3b4b492d325304aa5aede SHA1 9b2a3b21a5fa0507d8ed4b017d70208ccff211a7 SHA256 8831820eb8db6ac47179b49af2a570c26a2ae9fa1f4b195bb956ecc6cf4abf8c +AUX bash-3.1-fix-dash-login-shell.patch 1749 RMD160 abb7d3c97dbe8afeaca1d0613c28ca677ca9b138 SHA1 96b2d4a7817c61bb905f88740f2df606b98da5c9 SHA256 c33a999dc92355daf9556eb4d078910b80cb4bddac0ca343e530f85242eea2cd +AUX bash-3.1-gentoo.patch 2005 RMD160 e742be7d88ec20bdf7fb7bca415abb8ab46acde2 SHA1 8d9164b1996fd873fe122322759e4143cab0bd8e SHA256 7cd63a3e66de5f885824e6c02c29f004e08eb5bd6b6c189bc8021c5893aeae3f +AUX bash-3.1-ulimit.patch 3736 RMD160 c68da557d0797c6e6a1b41ba1a6451011ae00a44 SHA1 3e4411090a271ba70becbc34247e9b4c64ddcf76 SHA256 e27d41117dab8814e3812833d2038ca4f5d5fde8a0da2322eb3111a6a6245443 +AUX bash-3.2-dev-fd-test-as-user.patch 1104 RMD160 9701347bb8a0cbd0a98fdcd461f2e87e88afa67b SHA1 04a70b6dcbdc8c2896ee6a7f4a6f0915f10b737e SHA256 f1c8ea4628a85e094f12cf88bc2436fc748cc1c67f2204fdbca222b46a30e858 +AUX bash-3.2-ldflags-for-build.patch 1172 RMD160 b481ef7f6cea6145d49bacd4461b7d886155d0fd SHA1 86aa23e1c902d0ef21163680f888da0dda35a579 SHA256 f325df461e7ec87a8450eeb7db7ac9aa897ddf6c248bbce6ef5e6cd82044fc7e +AUX bash-3.2-loadables.patch 5355 RMD160 4a219e7e354f9ae36b7141d04aa3326d19ce1ab9 SHA1 a5ca7947f23d1ce669c4aba95d032a8aa88386ff SHA256 e081fe84f4d253c5192d260a3e1af76ff7ece45c1739b327f46884a158c70b1a +AUX bash-3.2-parallel-build.patch 686 RMD160 8518c94958d66a58504cf05b0428c7b3b1229e27 SHA1 08b11ad8a021034593e5de8560a8930cdb0b47af SHA256 0ad808cff4f93abbdb07d9b4bdb7fcdb203fa391395e4d9d2180d6032b4bf06e +AUX bash-3.2-process-subst.patch 291 RMD160 0d295ebd160fd80d5c07758f992bb0de8c45b6a0 SHA1 1d374cf3f5dac6de77d32db927658ff8943e32fc SHA256 4c04ea6b60f57d6bc6daf85c35d13e24dec5ebac8e1aaf68c0eeaa180e6d2d98 +AUX bash-3.2-redisplay-cursor.patch 685 RMD160 80fd6fc3eefb4cb589132f8b462b79c3e15d4b90 SHA1 7cb2664f7dd570f46f6302e743262e696f2555d9 SHA256 4bed8131f3ee39fccefc805dbe201eb9b8ce9671b9bc607c3d2a95ac6172d1ba +AUX bash-3.2-ulimit.patch 449 RMD160 db5277031105cd4d2b7a6b92a8e74e532eb6f3db SHA1 cc634a2c188ac7661b9f4843f1b98f59d8f311a6 SHA256 d40709360f25ab355dc83e334b512d3dd80e435e241d1e69581fbc41504f8381 +AUX bash_logout 205 RMD160 fa6064b67bd02cf66dc490759442a0127770d420 SHA1 a6983665cc842bde96fbc8811be89cf8fda71a45 SHA256 15aaded954389c05d7de5d36c4887db61975ad52c87ad78baf1062ec8997289d +AUX bashrc 2796 RMD160 7d88ed1dbe1f88c8752b2301376f4702fc178375 SHA1 783fcfd8c3273184db638f5e61da1d0921426d00 SHA256 de72a331ed65585fd70353d0d36d5d69e229b7db52c7cb97aeefd8f1b148d218 +AUX dot-bash_logout 127 RMD160 6092e24ba79924d0dd566657f97972237f8f5b68 SHA1 9e1e6e03b033fdfcf9f2098324bac5754c26ec69 SHA256 3bcb4958dad662fc2cbe77177236679f7a09b8bdb0be738102df4457394f4022 +AUX dot-bash_profile 193 RMD160 7ee4f60be78b1b46c5142f081d978c09700f6322 SHA1 1cce40e43fd17fc2068807cfc6b7b6df4859818a SHA256 ae12206aaa35dc96273ed421f4e85ca26a1707455e3cc9f054c7f5e2e9c53df6 +AUX dot-bashrc 551 RMD160 ab24b2c9936d008824c419206336597973e2bae9 SHA1 e3db8ebd3a60c88cba7e18af120cff26368c84e9 SHA256 e280e34af6e830c93adb6285f66ead4812ddfb2bbc6a7ff618467f4c933f6446 +DIST bash-4.0-rc1.tar.gz 3949360 RMD160 ba46fde48bce4aaa5c0a6c8298bae4925c68c3d0 SHA1 c45f5e9ac1b6ce2260a28e9210647a124490c5b1 SHA256 de57f941becd511e141f7902f507bd2fb7cffe34434a626156bbdba5c61408af +EBUILD bash-4.0_rc1.ebuild 4863 RMD160 1233590e5d333b6a496aeb154821d675f25f1fbe SHA1 27e2b7b17460cba610520e639f14f3db495257d4 SHA256 c17155af6477d2209fd84c5e5423412270e228a05ad5172b3e6d91d02a5d82a3 +MISC 1.e 6723 RMD160 6aa818ecf6728513161c1a4f318715c24834b62f SHA1 5d34e7437ef993887ae5efed787e15e7ddc6d331 SHA256 f3c8d0a5da03bda73a273c76b0c4f063df2ac24b89fd5ab94963cb1643e89093 +MISC ChangeLog 30863 RMD160 fa9934bc7c077730136ca5aeaf5102ec7c2bfdb9 SHA1 36302438a0077b2901ffcbc62cc7552f6da93eb8 SHA256 22abf47aa407738f3ec73e1a0afbebf228edc224b79c290d9cbf14d26bd30665 +MISC metadata.xml 404 RMD160 7b976f97a858dfb1fb6f22ebdf87883a64889126 SHA1 47fcf9c22f7dd52e2d8bdc9623fd1f3174467e7d SHA256 9a73cdde212504bf37663a429ae4ba2b3ca64173243e9bac29f17202010c435f diff --git a/app-shells/bash/bash-4.0_rc1.ebuild b/app-shells/bash/bash-4.0_rc1.ebuild new file mode 100644 index 0000000..fcfe0e9 --- /dev/null +++ b/app-shells/bash/bash-4.0_rc1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-3.2_p48.ebuild,v 1.1 2008/11/20 20:57:20 loki_val Exp $ + +inherit eutils flag-o-matic toolchain-funcs multilib + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} + +DESCRIPTION="The standard GNU Bourne again shell" +HOMEPAGE="http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html" +SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="afs bashlogger examples nls plugins vanilla" + +DEPEND=">=sys-libs/ncurses-5.2-r2" +RDEPEND="${DEPEND} + !<sys-apps/portage-2.1.5 + !<sys-apps/paludis-0.26.0_alpha5" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + if is-flag -malign-double ; then #7332 + eerror "Detected bad CFLAGS '-malign-double'. Do not use this" + eerror "as it breaks LFS (struct stat64) on x86." + die "remove -malign-double from your CFLAGS mr ricer" + fi +} + +src_unpack() { + unpack ${MY_P}.tar.gz + cd "${S}" + + if ! use vanilla ; then + epatch "${FILESDIR}"/${PN}-3.1-gentoo.patch + epatch "${FILESDIR}"/${PN}-3.2-parallel-build.patch #189671 + + # Fix process substitution on BSD. + epatch "${FILESDIR}"/${PN}-3.2-process-subst.patch + + # Don't barf on handled signals in scripts + epatch "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch + # Log bash commands to syslog #91327 + if use bashlogger ; then + echo + ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." + ewarn "This will log ALL output you enter into the shell, you have been warned." + ebeep + epause + epatch "${FILESDIR}"/${PN}-3.1-bash-logger.patch + fi + fi + + #epatch "${FILESDIR}"/${PN}-3.0-configs.patch +} + +src_compile() { + chmod +x configure + local myconf= + + # Always use the buildin readline, else if we update readline + # bash gets borked as readline is usually not binary compadible + # between minor versions. + #myconf="${myconf} $(use_with !readline installed-readline)" + myconf="${myconf} --without-installed-readline" + + # Don't even think about building this statically without + # reading Bug 7714 first. If you still build it statically, + # don't come crying to use with bugs ;). + #use static && export LDFLAGS="${LDFLAGS} -static" + use nls || myconf="${myconf} --disable-nls" + + # Force linking with system curses ... the bundled termcap lib + # sucks bad compared to ncurses + myconf="${myconf} --with-curses" + + # Default path is to use /usr/local/..... regardless. This little + # magic will set the default path to /usr/..... and keep us from + # worrying about the rest of the path getting out of sync with the + # ebuild code. + eval $(echo export $(ac_default_prefix=/usr; eval echo $(grep DEBUGGER_START_FILE= configure))) + + use plugins && append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash + econf \ + $(use_with afs) \ + --disable-profiling \ + --without-gnu-malloc \ + ${myconf} || die + emake || die "make failed" + + if use plugins ; then + emake -C examples/loadables all others || die + fi +} + +src_install() { + emake install DESTDIR="${D}" || die + + dodir /bin + mv "${D}"/usr/bin/bash "${D}"/bin/ || die + dosym bash /bin/rbash + + insinto /etc/bash + doins "${FILESDIR}"/{bashrc,bash_logout} + insinto /etc/skel + for f in bash{_logout,_profile,rc} ; do + newins "${FILESDIR}"/dot-${f} .${f} + done + + sed -i -e "s:#${USERLAND}#@::" "${D}"/etc/skel/.bashrc "${D}"/etc/bash/bashrc + sed -i -e '/#@/d' "${D}"/etc/skel/.bashrc "${D}"/etc/bash/bashrc + + if use plugins ; then + exeinto /usr/$(get_libdir)/bash + doexe $(echo examples/loadables/*.o | sed 's:\.o::g') || die + fi + + if use examples ; then + for d in examples/{functions,misc,scripts,scripts.noah,scripts.v2} ; do + exeinto /usr/share/doc/${PF}/${d} + insinto /usr/share/doc/${PF}/${d} + for f in ${d}/* ; do + if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then + doexe ${f} + else + doins ${f} + fi + done + done + fi + + doman doc/*.1 + dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO + dosym bash.info /usr/share/info/bashref.info +} + +pkg_preinst() { + if [[ -e ${ROOT}/etc/bashrc ]] && [[ ! -d ${ROOT}/etc/bash ]] ; then + mkdir -p "${ROOT}"/etc/bash + mv -f "${ROOT}"/etc/bashrc "${ROOT}"/etc/bash/ + fi + + # our bash_logout is just a place holder so dont + # force users to go through etc-update all the time + if [[ -e ${ROOT}/etc/bash/bash_logout ]] ; then + rm -f "${D}"/etc/bash/bash_logout + fi + + if [[ -L ${ROOT}/bin/sh ]]; then + # rewrite the symlink to ensure that its mtime changes. having /bin/sh + # missing even temporarily causes a fatal error with paludis. + local target=$(readlink "${ROOT}"/bin/sh) + ln -sf "${target}" "${ROOT}"/bin/sh + fi +} + +pkg_postinst() { + # If /bin/sh does not exist, provide it + if [[ ! -e ${ROOT}/bin/sh ]]; then + ln -sf bash "${ROOT}"/bin/sh + fi +} diff --git a/app-shells/bash/files/autoconf-mktime-2.59.patch b/app-shells/bash/files/autoconf-mktime-2.59.patch new file mode 100644 index 0000000..3ac3ad1 --- /dev/null +++ b/app-shells/bash/files/autoconf-mktime-2.59.patch @@ -0,0 +1,197 @@ +http://bugs.gentoo.org/220040 +--- configure ++++ configure +@@ -5299,26 +6059,25 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + /* Test program from Paul Eggert and Tony Leneis. */ +-#if TIME_WITH_SYS_TIME ++#ifdef TIME_WITH_SYS_TIME + # include <sys/time.h> + # include <time.h> + #else +-# if HAVE_SYS_TIME_H ++# ifdef HAVE_SYS_TIME_H + # include <sys/time.h> + # else + # include <time.h> + # endif + #endif + +-#if HAVE_STDLIB_H +-# include <stdlib.h> +-#endif ++#include <limits.h> ++#include <stdlib.h> + +-#if HAVE_UNISTD_H ++#ifdef HAVE_UNISTD_H + # include <unistd.h> + #endif + +-#if !HAVE_ALARM ++#ifndef HAVE_ALARM + # define alarm(X) /* empty */ + #endif + +@@ -5335,9 +6094,9 @@ + }; + #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) + +-/* Fail if mktime fails to convert a date in the spring-forward gap. ++/* Return 0 if mktime fails to convert a date in the spring-forward gap. + Based on a problem report from Andreas Jaeger. */ +-static void ++static int + spring_forward_gap () + { + /* glibc (up to about 1998-10-07) failed this test. */ +@@ -5356,29 +6115,27 @@ + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; +- if (mktime (&tm) == (time_t)-1) +- exit (1); ++ return mktime (&tm) != (time_t) -1; + } + +-static void ++static int + mktime_test1 (now) + time_t now; + { + struct tm *lt; +- if ((lt = localtime (&now)) && mktime (lt) != now) +- exit (1); ++ return ! (lt = localtime (&now)) || mktime (lt) == now; + } + +-static void ++static int + mktime_test (now) + time_t now; + { +- mktime_test1 (now); +- mktime_test1 ((time_t) (time_t_max - now)); +- mktime_test1 ((time_t) (time_t_min + now)); ++ return (mktime_test1 (now) ++ && mktime_test1 ((time_t) (time_t_max - now)) ++ && mktime_test1 ((time_t) (time_t_min + now))); + } + +-static void ++static int + irix_6_4_bug () + { + /* Based on code from Ariel Faigon. */ +@@ -5391,11 +6148,10 @@ + tm.tm_sec = 0; + tm.tm_isdst = -1; + mktime (&tm); +- if (tm.tm_mon != 2 || tm.tm_mday != 31) +- exit (1); ++ return tm.tm_mon == 2 && tm.tm_mday == 31; + } + +-static void ++static int + bigtime_test (j) + int j; + { +@@ -5417,8 +6173,39 @@ + && lt->tm_wday == tm.tm_wday + && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) + == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) +- exit (1); ++ return 0; + } ++ return 1; ++} ++ ++static int ++year_2050_test () ++{ ++ /* The correct answer for 2050-02-01 00:00:00 in Pacific time, ++ ignoring leap seconds. */ ++ unsigned long int answer = 2527315200UL; ++ ++ struct tm tm; ++ time_t t; ++ tm.tm_year = 2050 - 1900; ++ tm.tm_mon = 2 - 1; ++ tm.tm_mday = 1; ++ tm.tm_hour = tm.tm_min = tm.tm_sec = 0; ++ tm.tm_isdst = -1; ++ ++ /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" ++ instead of "TZ=America/Vancouver" in order to detect the bug even ++ on systems that don't support the Olson extension, or don't have the ++ full zoneinfo tables installed. */ ++ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); ++ ++ t = mktime (&tm); ++ ++ /* Check that the result is either a failure, or close enough ++ to the correct answer that we can assume the discrepancy is ++ due to leap seconds. */ ++ return (t == (time_t) -1 ++ || (0 < t && answer - 120 <= t && t <= answer + 120)); + } + + int +@@ -5432,12 +6219,15 @@ + isn't worth using anyway. */ + alarm (60); + +- for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2) +- continue; +- time_t_max--; +- if ((time_t) -1 < 0) +- for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2) +- continue; ++ for (;;) ++ { ++ t = (time_t_max << 1) + 1; ++ if (t <= time_t_max) ++ break; ++ time_t_max = t; ++ } ++ time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; ++ + delta = time_t_max / 997; /* a suitable prime number */ + for (i = 0; i < N_STRINGS; i++) + { +@@ -5445,18 +6235,22 @@ + putenv (tz_strings[i]); + + for (t = 0; t <= time_t_max - delta; t += delta) +- mktime_test (t); +- mktime_test ((time_t) 1); +- mktime_test ((time_t) (60 * 60)); +- mktime_test ((time_t) (60 * 60 * 24)); +- +- for (j = 1; 0 < j; j *= 2) +- bigtime_test (j); +- bigtime_test (j - 1); ++ if (! mktime_test (t)) ++ return 1; ++ if (! (mktime_test ((time_t) 1) ++ && mktime_test ((time_t) (60 * 60)) ++ && mktime_test ((time_t) (60 * 60 * 24)))) ++ return 1; ++ ++ for (j = 1; ; j <<= 1) ++ if (! bigtime_test (j)) ++ return 1; ++ else if (INT_MAX / 2 < j) ++ break; ++ if (! bigtime_test (INT_MAX)) ++ return 1; + } +- irix_6_4_bug (); +- spring_forward_gap (); +- exit (0); ++ return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); + } + _ACEOF + rm -f conftest$ac_exeext diff --git a/app-shells/bash/files/bash-2.05b-empty-herestring.patch b/app-shells/bash/files/bash-2.05b-empty-herestring.patch new file mode 100644 index 0000000..62e231c --- /dev/null +++ b/app-shells/bash/files/bash-2.05b-empty-herestring.patch @@ -0,0 +1,27 @@ +################################################################### +# Added by Tavis Ormandy <taviso@gentoo.org> 01/05/2003 +# Reproduce with +# +# $ xargs <<< ${EMTPY_VARIABLE} +# Segmentation fault. +# +# note: bash will still give you a "\n" with this patch, but this is +# standard behaviour, if you need proof: +# +# $ wc -l <<< "" +############################### +diff -u bash-2.05b.orig/redir.c bash-2.05b/redir.c +--- bash-2.05b.orig/redir.c 2002-03-12 20:27:38.000000000 +0000 ++++ bash-2.05b/redir.c 2003-05-01 13:04:07.000000000 +0100 +@@ -263,8 +263,10 @@ + int herelen, n, e; + + herestr = expand_string_to_string (redirectee->word, 0); +- herelen = strlen (herestr); + ++ /* verify string wasnt empty */ ++ herelen = (herestr == NULL) ? 0 : strlen (herestr); ++ + n = write (fd, herestr, herelen); + if (n == herelen) + { diff --git a/app-shells/bash/files/bash-2.05b-jobs.patch b/app-shells/bash/files/bash-2.05b-jobs.patch new file mode 100644 index 0000000..6d68059 --- /dev/null +++ b/app-shells/bash/files/bash-2.05b-jobs.patch @@ -0,0 +1,27 @@ +diff -Nru bash-2.05b.old/jobs.c bash-2.05b/jobs.c +--- bash-2.05b.old/jobs.c 2004-09-28 04:24:20.656378576 -0400 ++++ bash-2.05b/jobs.c 2004-09-28 04:24:30.586868912 -0400 +@@ -2423,6 +2423,7 @@ + PROCESS *child; + pid_t pid; + int call_set_current, last_stopped_job, job, children_exited, waitpid_flags; ++ static int wcontinued_not_supported = 0; + + call_set_current = children_exited = 0; + last_stopped_job = NO_JOB; +@@ -2436,7 +2437,15 @@ + : 0; + if (sigchld || block == 0) + waitpid_flags |= WNOHANG; ++ retry: ++ if (wcontinued_not_supported) ++ waitpid_flags &= ~WCONTINUED; + pid = WAITPID (-1, &status, waitpid_flags); ++ if (pid == -1 && errno == EINVAL) ++ { ++ wcontinued_not_supported = 1; ++ goto retry; ++ } + + /* The check for WNOHANG is to make sure we decrement sigchld only + if it was non-zero before we called waitpid. */ diff --git a/app-shells/bash/files/bash-2.05b-multibyte-locale.patch b/app-shells/bash/files/bash-2.05b-multibyte-locale.patch new file mode 100644 index 0000000..e5f2eb4 --- /dev/null +++ b/app-shells/bash/files/bash-2.05b-multibyte-locale.patch @@ -0,0 +1,50 @@ +diff -ru bash-2.05b.orig/lib/readline/display.c bash-2.05b/lib/readline/display.c +--- bash-2.05b.orig/lib/readline/display.c 2002-06-04 23:54:47.000000000 +0900 ++++ bash-2.05b/lib/readline/display.c 2002-12-12 16:31:06.000000000 +0900 +@@ -1129,16 +1129,24 @@ + memset (&ps_new, 0, sizeof(mbstate_t)); + memset (&ps_old, 0, sizeof(mbstate_t)); + +- new_offset = old_offset = 0; +- for (ofd = old, nfd = new; +- (ofd - old < omax) && *ofd && +- _rl_compare_chars(old, old_offset, &ps_old, new, new_offset, &ps_new); ) +- { +- old_offset = _rl_find_next_mbchar (old, old_offset, 1, MB_FIND_ANY); +- new_offset = _rl_find_next_mbchar (new, new_offset, 1, MB_FIND_ANY); +- ofd = old + old_offset; +- nfd = new + new_offset; +- } ++ if(omax == nmax && strncmp(new,old,omax) == 0) ++ { ++ ofd = old + omax; ++ nfd = new + nmax; ++ } ++ else ++ { ++ new_offset = old_offset = 0; ++ for (ofd = old, nfd = new; ++ (ofd - old < omax) && *ofd && ++ _rl_compare_chars(old, old_offset, &ps_old, new, new_offset, &ps_new); ) ++ { ++ old_offset = _rl_find_next_mbchar (old, old_offset, 1, MB_FIND_ANY); ++ new_offset = _rl_find_next_mbchar (new, new_offset, 1, MB_FIND_ANY); ++ ofd = old + old_offset; ++ nfd = new + new_offset; ++ } ++ } + } + else + #endif +@@ -1169,8 +1177,9 @@ + memset (&ps_old, 0, sizeof (mbstate_t)); + memset (&ps_new, 0, sizeof (mbstate_t)); + +- _rl_adjust_point (old, ols - old, &ps_old); +- _rl_adjust_point (new, nls - new, &ps_new); ++ /* these doesn't make sense */ ++ /* _rl_adjust_point (old, ols - old, &ps_old); */ ++ /* _rl_adjust_point (new, nls - new, &ps_new); */ + + if (_rl_compare_chars (old, ols - old, &ps_old, new, nls - new, &ps_new) == 0) + break; diff --git a/app-shells/bash/files/bash-2.05b-parallel-build.patch b/app-shells/bash/files/bash-2.05b-parallel-build.patch new file mode 100644 index 0000000..83f29cc --- /dev/null +++ b/app-shells/bash/files/bash-2.05b-parallel-build.patch @@ -0,0 +1,11 @@ +--- Makefile.in 2002-05-31 19:44:23.000000000 +0200 ++++ Makefile.in-parallelbuild 2004-02-09 21:25:28.000000000 +0100 +@@ -604,7 +604,7 @@ + + config.h: stamp-h + +-stamp-h: config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h ++stamp-h: version.h config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h + CONFIG_FILES= CONFIG_HEADERS=config.h $(SHELL) ./config.status + + config.status: $(srcdir)/configure diff --git a/app-shells/bash/files/bash-2.05b-rbash.patch b/app-shells/bash/files/bash-2.05b-rbash.patch new file mode 100644 index 0000000..a08159f --- /dev/null +++ b/app-shells/bash/files/bash-2.05b-rbash.patch @@ -0,0 +1,21 @@ +diff -Nru bash-2.05b.orig/shell.c bash-2.05b/shell.c +--- bash-2.05b.orig/shell.c 2002-07-01 11:27:11.000000000 -0400 ++++ bash-2.05b/shell.c 2003-08-18 21:20:26.000000000 -0400 +@@ -1065,7 +1065,7 @@ + if (restricted) + return 1; + temp = base_pathname (name); +- return (STREQ (temp, RESTRICTED_SHELL_NAME)); ++ return ( (STREQ (temp, RESTRICTED_SHELL_NAME)) || (STREQ (temp, ("-"RESTRICTED_SHELL_NAME))) ); + } + + /* Perhaps make this shell a `restricted' one, based on NAME. If the +@@ -1082,7 +1082,7 @@ + char *temp; + + temp = base_pathname (name); +- if (restricted || (STREQ (temp, RESTRICTED_SHELL_NAME))) ++ if (restricted || (STREQ (temp, RESTRICTED_SHELL_NAME)) || (STREQ (temp, ("-"RESTRICTED_SHELL_NAME))) ) + { + set_var_read_only ("PATH"); + set_var_read_only ("SHELL"); diff --git a/app-shells/bash/files/bash-2.05b-setlocale.patch b/app-shells/bash/files/bash-2.05b-setlocale.patch new file mode 100644 index 0000000..db48030 --- /dev/null +++ b/app-shells/bash/files/bash-2.05b-setlocale.patch @@ -0,0 +1,17 @@ +Use NULL instead of "" to prevent overriding locale information set in +the environment. See + http://bugs.gentoo.org/show_bug.cgi?id=64266 + http://lists.debian.or.jp/debian-devel/200210/msg00047.html + +diff -urN bash-2.05b.orig/lib/readline/nls.c bash-2.05b/lib/readline/nls.c +--- bash-2.05b.orig/lib/readline/nls.c 2001-10-15 14:32:29.000000000 -0400 ++++ bash-2.05b/lib/readline/nls.c 2004-09-29 12:25:24.585683597 -0400 +@@ -87,7 +87,7 @@ + char *t; + + /* Set the LC_CTYPE locale category from environment variables. */ +- t = setlocale (LC_CTYPE, ""); ++ t = setlocale (LC_CTYPE, NULL); + if (t && *t && (t[0] != 'C' || t[1]) && (STREQ (t, "POSIX") == 0)) + { + _rl_meta_flag = 1; diff --git a/app-shells/bash/files/bash-3.0-afs.patch b/app-shells/bash/files/bash-3.0-afs.patch new file mode 100644 index 0000000..f07371c --- /dev/null +++ b/app-shells/bash/files/bash-3.0-afs.patch @@ -0,0 +1,20 @@ +Ripped from Fedora + +- Fixed AFS support for output redirection, so that the correct errors + are reported for other filesystems (bug #155373). + +https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=155373 + +--- bash-3.0/redir.c.afs 2005-04-20 09:16:15.000000000 +0100 ++++ bash-3.0/redir.c 2005-04-20 09:16:58.000000000 +0100 +@@ -596,7 +596,9 @@ + fd = open (filename, flags, mode); + #if defined (AFS) + if ((fd < 0) && (errno == EACCES)) +- fd = open (filename, flags & ~O_CREAT, mode); ++ if ((fd = open (filename, flags & ~O_CREAT, mode)) < 0) ++ /* Restore previous errno. */ ++ errno = EACCES; + #endif /* AFS */ + } + diff --git a/app-shells/bash/files/bash-3.0-array-stripping.patch b/app-shells/bash/files/bash-3.0-array-stripping.patch new file mode 100644 index 0000000..8b2384c --- /dev/null +++ b/app-shells/bash/files/bash-3.0-array-stripping.patch @@ -0,0 +1,18 @@ +Fix from Chet Ramey (bash maintainer) for array stripping + +http://bugs.gentoo.org/60127 + +*** ../bash-3.0/subst.c Sun Jul 4 13:56:13 2004 +--- subst.c Thu Aug 12 13:36:17 2004 +*************** +*** 4892,4896 **** + *e1p += len; + +! if (*e1p >= len || *e1p < 0) + return (-1); + +--- 4912,4916 ---- + *e1p += len; + +! if (*e1p > len || *e1p < 0) + return (-1); diff --git a/app-shells/bash/files/bash-3.0-bash-logger.patch b/app-shells/bash/files/bash-3.0-bash-logger.patch new file mode 100644 index 0000000..b0660ae --- /dev/null +++ b/app-shells/bash/files/bash-3.0-bash-logger.patch @@ -0,0 +1,90 @@ +Add support for logging bash commands via syslog(). +Useful for deploying in honeypot environments. + +http://bugs.gentoo.org/show_bug.cgi?id=91327 +http://www.nardware.co.uk/Security/html/bashlogger.htm + +--- bashhist.c ++++ bashhist.c +@@ -698,7 +698,7 @@ + char *line; + { + hist_last_line_added = 1; +- add_history (line); ++ add_history (line, 1); + history_lines_this_session++; + } + +--- lib/readline/histexpand.c ++++ lib/readline/histexpand.c +@@ -1220,9 +1220,7 @@ + + if (only_printing) + { +-#if 0 +- add_history (result); +-#endif ++ add_history (result, 1); + return (2); + } + +--- lib/readline/histfile.c ++++ lib/readline/histfile.c +@@ -262,7 +262,7 @@ + { + if (HIST_TIMESTAMP_START(line_start) == 0) + { +- add_history (line_start); ++ add_history (line_start,0); + if (last_ts) + { + add_history_time (last_ts); +--- lib/readline/history.c ++++ lib/readline/history.c +@@ -31,6 +31,8 @@ + + #include <stdio.h> + ++#include <syslog.h> ++ + #if defined (HAVE_STDLIB_H) + # include <stdlib.h> + #else +@@ -246,10 +250,24 @@ + /* Place STRING at the end of the history list. The data field + is set to NULL. */ + void +-add_history (string) +- const char *string; ++add_history (string, logme) ++ const char *string; ++ int logme; /* 0 means no sending history to syslog */ + { + HIST_ENTRY *temp; ++ if (logme) { ++ if (strlen(string)<600) { ++ syslog(LOG_LOCAL5 | LOG_INFO, "HISTORY: PID=%d UID=%d %s", ++ getpid(), getuid(), string); ++ } ++ else { ++ char trunc[600]; ++ strncpy(trunc,string,sizeof(trunc)); ++ trunc[sizeof(trunc)-1]='\0'; ++ syslog(LOG_LOCAL5 | LOG_INFO, "HISTORY: PID=%d UID=%d %s(++TRUNC)", ++ getpid(), getuid(), trunc); ++ } ++ } + + if (history_stifled && (history_length == history_max_entries)) + { +--- lib/readline/history.h ++++ lib/readline/history.h +@@ -80,7 +80,7 @@ + + /* Place STRING at the end of the history list. + The associated data field (if any) is set to NULL. */ +-extern void add_history PARAMS((const char *)); ++extern void add_history PARAMS((const char *, int )); + + /* Change the timestamp associated with the most recent history entry to + STRING. */ diff --git a/app-shells/bash/files/bash-3.0-configs.patch b/app-shells/bash/files/bash-3.0-configs.patch new file mode 100644 index 0000000..84e9624 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-configs.patch @@ -0,0 +1,71 @@ +--- bash-3.0/config.h.in ++++ bash-3.0/config.h.in +@@ -197,7 +197,7 @@ + + /* System paths */ + +-#define DEFAULT_MAIL_DIRECTORY "/usr/spool/mail" ++#define DEFAULT_MAIL_DIRECTORY "/var/spool/mail" + + /* Characteristics of the system's header files and libraries that affect + the compilation environment. */ +--- bash-3.0/config-bot.h ++++ bash-3.0/config-bot.h +@@ -178,4 +178,18 @@ + /******************************************************************/ + + /* If you don't want bash to provide a default mail file to check. */ +-/* #undef DEFAULT_MAIL_DIRECTORY */ ++/* DP: - don't define a default DEFAULT_MAIL_DIRECTORY, because it ++ * DP: can cause a timeout on NFS mounts. ++ */ ++#undef DEFAULT_MAIL_DIRECTORY ++ ++/* Force pgrp synchronization ++ * (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653) ++ * ++ * The session will hang cases where you 'su' (not 'su -') and ++ * then run a piped command in emacs. ++ * This problem seem to happen due to scheduler changes kernel ++ * side - although reproduceble with later 2.4 kernels, it is ++ * especially easy with 2.6 kernels. ++ */ ++#define PGRP_PIPE 1 +--- bash-3.0/config-top.h ++++ bash-3.0/config-top.h +@@ -52,14 +52,14 @@ + /* The default value of the PATH variable. */ + #ifndef DEFAULT_PATH_VALUE + #define DEFAULT_PATH_VALUE \ +- "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:." ++ "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + #endif + + /* The value for PATH when invoking `command -p'. This is only used when + the Posix.2 confstr () function, or CS_PATH define are not present. */ + #ifndef STANDARD_UTILS_PATH + #define STANDARD_UTILS_PATH \ +- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc" ++ "/bin:/usr/bin:/sbin:/usr/sbin" + #endif + + /* Default primary and secondary prompt strings. */ +@@ -74,14 +74,16 @@ + + /* System-wide .bashrc file for interactive shells. */ + /* #define SYS_BASHRC "/etc/bash.bashrc" */ ++#define SYS_BASHRC "/etc/bash/bashrc" /* #26952 */ + + /* System-wide .bash_logout for login shells. */ + /* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */ ++#define SYS_BASH_LOGOUT "/etc/bash/bash_logout" /* #90488 */ + + /* Define this to make non-interactive shells begun with argv[0][0] == '-' + run the startup files when not in posix mode. */ +-/* #define NON_INTERACTIVE_LOGIN_SHELLS */ ++#define NON_INTERACTIVE_LOGIN_SHELLS + + /* Define this if you want bash to try to check whether it's being run by + sshd and source the .bashrc if so (like the rshd behavior). */ +-/* #define SSH_SOURCE_BASHRC */ ++#define SSH_SOURCE_BASHRC /* #24762 */ diff --git a/app-shells/bash/files/bash-3.0-crash.patch b/app-shells/bash/files/bash-3.0-crash.patch new file mode 100644 index 0000000..984e85d --- /dev/null +++ b/app-shells/bash/files/bash-3.0-crash.patch @@ -0,0 +1,46 @@ +> Machine Type: i686-pc-linux-gnu +> +> Bash Version: 3.0 +> Patch Level: 0 +> Release Status: release +> +> Description: +> GNU bash, version 3.00.0(1)-release (i686-pc-linux-gnu) +> (and +> GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu) +> +> dumps a core because of a null pointer "in make_bare_word +> at make_cmd.c:90" (see gdb output below) + +Thanks for the report. Here's a quick fix: + +*** arrayfunc.c~ Sat Nov 6 15:08:29 2004 +--- arrayfunc.c Mon Jan 31 11:56:21 2005 +*************** +*** 709,713 **** + return ((char *)NULL); + } +! else if (var == 0) + return ((char *)NULL); + else if (array_p (var) == 0) +--- 709,713 ---- + return ((char *)NULL); + } +! else if (var == 0 || value_cell (var) == 0) + return ((char *)NULL); + else if (array_p (var) == 0) + + +Chet + +-- +``The lyf so short, the craft so long to lerne.'' - Chaucer +( ``Discere est Dolere'' -- chet ) + Live...Laugh...Love +Chet Ramey, ITS, CWRU chet@po.cwru.edu http://tiswww.tis.cwru.edu/~chet/ + + +_______________________________________________ +Bug-bash mailing list +Bug-bash@gnu.org +http://lists.gnu.org/mailman/listinfo/bug-bash diff --git a/app-shells/bash/files/bash-3.0-cross-signals.patch b/app-shells/bash/files/bash-3.0-cross-signals.patch new file mode 100644 index 0000000..ca0850b --- /dev/null +++ b/app-shells/bash/files/bash-3.0-cross-signals.patch @@ -0,0 +1,91 @@ +--- bash-3.0/Makefile.in ++++ bash-3.0/Makefile.in +@@ -607,7 +607,11 @@ + + ${LIBINTL_H}: ${INTL_LIBRARY} + +-mksignames$(EXEEXT): $(SUPPORT_SRC)mksignames.c ++$(SUPPORT_SRC)mksignames.h: $(SUPPORT_SRC)mksignames.sh ++ CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" /bin/sh $(SUPPORT_SRC)mksignames.sh ++ mv mksignames.h $(SUPPORT_SRC)mksignames.h ++ ++mksignames$(EXEEXT): $(SUPPORT_SRC)mksignames.c $(SUPPORT_SRC)mksignames.h + $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)mksignames.c + + mksyntax$(EXEEXT): ${srcdir}/mksyntax.c config.h syntax.h ${BASHINCDIR}/chartypes.h +--- bash-3.0/support/mksignames.c ++++ bash-3.0/support/mksignames.c +@@ -30,9 +30,7 @@ + # include "ansi_stdlib.h" + #endif /* HAVE_STDLIB_H */ + +-#if !defined (NSIG) +-# define NSIG 64 +-#endif ++#include "mksignames.h" + + /* + * Special traps: +--- bash-3.0/support/mksignames.sh ++++ bash-3.0/support/mksignames.sh +@@ -0,0 +1,60 @@ ++#!/bin/sh ++ ++input_header=mksignames.input.h ++output_header=mksignames.h ++ ++rm -f $input_header $output_header ++ ++cat >> $input_header << _ACEOF ++#include <config.h> ++#include <stdio.h> ++#include <sys/types.h> ++#include <signal.h> ++#if defined (HAVE_STDLIB_H) ++# include <stdlib.h> ++#else ++# include "ansi_stdlib.h" ++#endif /* HAVE_STDLIB_H */ ++ ++#if !defined (NSIG) ++# define NSIG 64 ++#endif ++ ++_ACEOF ++ ++deflist="NSIG SIGRTMAX SIGRTMIN SIGLOST SIGMSG SIGDANGER SIGMIGRATE SIGPRE ++SIGVIRT SIGALRM1 SIGWAITING SIGGRANT SIGKAP SIGRETRACT SIGSOUND SIGSAK SIGLWP ++SIGFREEZE SIGTHAW SIGCANCEL SIGDIL SIGCLD SIGPWR SIGPOLL SIGWINDOW SIGHUP ++SIGINT SIGQUIT SIGILL SIGTRAP SIGIOT SIGABRT SIGEMT SIGFPE SIGKILL SIGBUS ++SIGSEGV SIGSYS SIGPIPE SIGALRM SIGTERM SIGURG SIGSTOP SIGTSTP SIGCONT SIGCHLD ++SIGTTIN SIGTTOU SIGIO SIGXCPU SIGXFSZ SIGVTALRM SIGPROF SIGWINCH SIGINFO ++SIGUSR1 SIGUSR2 SIGKILLTHR" ++ ++for def in $deflist ; do ++ echo "#undef $def" >> $output_header ++ cat >> $input_header << _ACEOF ++#if defined($def) ++MKSIGNAMES_$def $def ++#endif ++_ACEOF ++done ++ ++if test "x${CPPFLAGS+set}" != "xset" ; then ++ if test -f "./mksignames.c" ; then ++ CPPFLAGS="-I.. -I../include" ++ else ++ CPPFLAGS="-I. -Iinclude" ++ fi ++fi ++if test "x${CPP+set}" != "xset" ; then ++ CPP="gcc -E" ++fi ++if test "x${EGREP+set}" != "xset" ; then ++ EGREP="grep" ++fi ++$CPP $CPPFLAGS $input_header \ ++ | $EGREP '^MKSIGNAMES_' \ ++ | sed 's/MKSIGNAMES_/#define /' \ ++ >> $output_header ++echo "/* $CPP $CPPFLAGS */" >> $output_header ++rm -f $input_header diff --git a/app-shells/bash/files/bash-3.0-darwin-conn.patch b/app-shells/bash/files/bash-3.0-darwin-conn.patch new file mode 100644 index 0000000..1687aca --- /dev/null +++ b/app-shells/bash/files/bash-3.0-darwin-conn.patch @@ -0,0 +1,20 @@ +Sune Foldager writes: +On Darwin (Mac OS X), bash incorrectly assumed that it has been called over a +network connection (such as ssh, rsh etc.), when stdin stems from the pipe() +system call. This is because bash's heuristic code for determining if it's +been started over a net connection is incorrect on Darwin kernels. + +http://bugs.gentoo.org/79124 + +--- a/lib/sh/netconn.c ++++ b/lib/sh/netconn.c +@@ -53,7 +53,8 @@ + l = sizeof(sa); + rv = getpeername(fd, &sa, &l); + /* Solaris 2.5 getpeername() returns EINVAL if the fd is not a socket. */ +- return ((rv < 0 && (errno == ENOTSOCK || errno == EINVAL)) ? 0 : 1); ++ /* Darwin 7.7.0 getpeername() returns ENOTCONN if the fd was created with pipe(). */ ++ return ((rv < 0 && (errno == ENOTSOCK || errno == ENOTCONN || errno == EINVAL)) ? 0 : 1); + #else /* !HAVE_GETPEERNAME || SVR4_2 || __BEOS__ */ + # if defined (SVR4) || defined (SVR4_2) + /* Sockets on SVR4 and SVR4.2 are character special (streams) devices. */ diff --git a/app-shells/bash/files/bash-3.0-etc-inputrc.patch b/app-shells/bash/files/bash-3.0-etc-inputrc.patch new file mode 100644 index 0000000..204e797 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-etc-inputrc.patch @@ -0,0 +1,44 @@ +Patch readline's bind.c so that /etc/inputrc is read as a last resort +following ~/.inputrc. This is better than putting INPUTRC in +the environment because INPUTRC will override even after the +user creates a ~/.inputrc + +--- bash-3.0/lib/readline/bind.c.agriffis 2004-03-03 22:39:32.000000000 -0500 ++++ bash-3.0/lib/readline/bind.c 2004-08-02 13:53:02.365731918 -0400 +@@ -781,6 +781,7 @@ + 1. the filename used for the previous call + 2. the value of the shell variable `INPUTRC' + 3. ~/.inputrc ++ 4. /etc/inputrc + If the file existed and could be opened and read, 0 is returned, + otherwise errno is returned. */ + int +@@ -789,17 +790,20 @@ + { + /* Default the filename. */ + if (filename == 0) ++ filename = last_readline_init_file; ++ if (filename == 0) ++ filename = sh_get_env_value ("INPUTRC"); ++ if (filename == 0 || *filename == 0) + { +- filename = last_readline_init_file; +- if (filename == 0) +- filename = sh_get_env_value ("INPUTRC"); +- if (filename == 0) +- filename = DEFAULT_INPUTRC; ++ /* If there's trouble reading DEFAULT_INPUTRC then fall back to ++ * the system inputrc ++ */ ++ filename = DEFAULT_INPUTRC; ++ if (_rl_read_init_file (filename, 0) == 0) ++ return 0; ++ filename = "/etc/inputrc"; + } + +- if (*filename == 0) +- filename = DEFAULT_INPUTRC; +- + #if defined (__MSDOS__) + if (_rl_read_init_file (filename, 0) == 0) + return 0; diff --git a/app-shells/bash/files/bash-3.0-force-static-linking.patch b/app-shells/bash/files/bash-3.0-force-static-linking.patch new file mode 100644 index 0000000..6a3f165 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-force-static-linking.patch @@ -0,0 +1,42 @@ +Make sure linking against included readline always works. + +http://bugs.gentoo.org/100138 + +--- configure ++++ configure +@@ -477,8 +477,8 @@ + #define READLINE 1 + _ACEOF + +- READLINE_LIB=-lreadline + if test "$opt_with_installed_readline" != "no" ; then ++ READLINE_LIB=-lreadline + case "$opt_with_installed_readline" in + yes) RL_INCLUDE= ;; + *) case "$RL_INCLUDEDIR" in +@@ -490,6 +490,7 @@ + READLINE_DEP= + else + RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline' ++ READLINE_LIB='$(RL_LIBDIR)/libreadline.a' + READLINE_DEP='$(READLINE_LIBRARY)' + fi + else +@@ -503,8 +504,8 @@ + _ACEOF + + fi +- HISTORY_LIB=-lhistory + if test "$opt_with_installed_readline" != "no"; then ++ HISTORY_LIB=-lhistory + HIST_LIBDIR=$RL_LIBDIR + HISTORY_DEP= + case "$opt_with_installed_readline" in +@@ -517,6 +518,7 @@ + esac + else + HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline' ++ HISTORY_LIB='$(HIST_LIBDIR)/libhistory.a' + HISTORY_DEP='$(HISTORY_LIBRARY)' + fi + else diff --git a/app-shells/bash/files/bash-3.0-gentoo.patch b/app-shells/bash/files/bash-3.0-gentoo.patch new file mode 100644 index 0000000..dc59515 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-gentoo.patch @@ -0,0 +1,102 @@ +Collection of fixes from mandrake + +--- bash-3.0/doc/builtins.1 ++++ bash-3.0/doc/builtins.1 +@@ -8,8 +8,5 @@ + let, local, logout, popd, printf, pushd, pwd, read, readonly, return, set, + shift, shopt, source, suspend, test, times, trap, type, typeset, + ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1) +-.SH BASH BUILTIN COMMANDS +-.nr zZ 1 +-.so bash.1 + .SH SEE ALSO + bash(1), sh(1) +--- bash-3.0/lib/readline/complete.c ++++ bash-3.0/lib/readline/complete.c +@@ -1529,9 +1529,7 @@ + if (rl_filename_completion_desired) + { + filename = tilde_expand (text); +- s = (nontrivial_match && rl_completion_mark_symlink_dirs == 0) +- ? LSTAT (filename, &finfo) +- : stat (filename, &finfo); ++ s = stat (filename, &finfo); + if (s == 0 && S_ISDIR (finfo.st_mode)) + { + if (_rl_complete_mark_directories) +--- bash-3.0/lib/readline/terminal.c ++++ bash-3.0/lib/readline/terminal.c +@@ -313,7 +313,7 @@ + { "ei", &_rl_term_ei }, + { "ic", &_rl_term_ic }, + { "im", &_rl_term_im }, +- { "kH", &_rl_term_kH }, /* home down ?? */ ++ { "@", &_rl_term_kH }, /* home down ?? */ + { "kI", &_rl_term_kI }, /* insert */ + { "kd", &_rl_term_kd }, + { "ke", &_rl_term_ke }, /* end keypad mode */ +--- bash-3.0/lib/readline/text.c ++++ bash-3.0/lib/readline/text.c +@@ -1113,6 +1113,9 @@ + rl_delete_text (start, rl_point); + rl_point = start; + } ++ /* check for arithmetic overflow */ ++ if (rl_point < 0) ++ rl_point = 0; + return 0; + } + +--- bash-3.0/Makefile.in ++++ bash-3.0/Makefile.in +@@ -656,7 +656,7 @@ + + config.h: stamp-h + +-stamp-h: config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h ++stamp-h: version.h config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h + CONFIG_FILES= CONFIG_HEADERS=config.h $(SHELL) ./config.status + + config.status: $(srcdir)/configure +@@ -664,7 +664,7 @@ + + # comment out for distribution + $(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in +- cd $(srcdir) && autoconf ++ cd $(srcdir) + + # for chet + reconfig: force +--- bash-3.0/parse.y ++++ bash-3.0/parse.y +@@ -388,7 +388,9 @@ + } + ; + +-word_list: WORD ++word_list: ++ { $$ = (WORD_LIST *)NULL; } ++ | WORD + { $$ = make_word_list ($1, (WORD_LIST *)NULL); } + | word_list WORD + { $$ = make_word_list ($2, $1); } +@@ -1180,7 +1182,7 @@ + + #if defined (READLINE) + char *current_readline_prompt = (char *)NULL; +-char *current_readline_line = (char *)NULL; ++unsigned char *current_readline_line = (unsigned char *)NULL; + int current_readline_line_index = 0; + + static int +--- bash-3.0/shell.c ++++ bash-3.0/shell.c +@@ -1089,7 +1089,7 @@ + if (restricted) + return 1; + temp = base_pathname (name); +- return (STREQ (temp, RESTRICTED_SHELL_NAME)); ++ return ( (STREQ (temp, RESTRICTED_SHELL_NAME)) || (STREQ (temp, ("-"RESTRICTED_SHELL_NAME))) ); + } + + /* Perhaps make this shell a `restricted' one, based on NAME. If the diff --git a/app-shells/bash/files/bash-3.0-histtimeformat.patch b/app-shells/bash/files/bash-3.0-histtimeformat.patch new file mode 100644 index 0000000..b910600 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-histtimeformat.patch @@ -0,0 +1,56 @@ +Ripped from Debian + +http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00008.html + +From: Enrique Perez-Terron <enrio@online.no> +To: bug-bash@gnu.org +Subject: When using HISTTIMEFORMAT, the date and the command are run + together. +Date: Sun, 01 Aug 2004 18:36:45 +0200 + +Configuration Information [Automatically generated, do not change]: +Machine: i586 +OS: linux-gnu +Compiler: gcc +Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i586' +-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i586-pc-linux-gnu' +-DCONF_VENDOR='pc' -DLOCALEDIR='/usr/local/share/locale' +-DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib +-g -O2 +uname output: Linux arabia.home.lan 2.6.6-1.435.2.3 #1 Thu Jul 1 +09:11:28 EDT 2004 i586 i586 i386 GNU/Linux +Machine Type: i586-pc-linux-gnu + +# DP: Add space separating the time and the command in the +# DP: output from the history builtin command. + +Bash Version: 3.0 +Patch Level: 0 +Release Status: release + +Description: + There is no space separating the time and the command in the + output from the history builtin command. + +Repeat-By: + $ export HISTTIMEFORMAT=_A_format_string_ + $ history 3 + 997 _A_format_string_echo $BASH_VERSION + 998 _A_format_string_export HISTTIMEFORMAT=_A_format_string_ + 999 _A_format_string_history 3 + +Fix: +--- ./builtins/history.def.orig 2003-12-20 00:02:09.000000000 +0100 ++++ ./builtins/history.def 2004-08-01 18:18:02.652720102 +0200 +@@ -287,9 +287,10 @@ + QUIT; + + timestr = (histtimefmt && *histtimefmt) ? histtime (hlist[i], histtimefmt) : (char *)NULL; +- printf ("%5d%c %s%s\n", i + history_base, ++ printf ("%5d%c %s%s%s\n", i + history_base, + histdata(i) ? '*' : ' ', + ((timestr && *timestr) ? timestr : ""), ++ ((timestr && *timestr) ? " " : ""), + histline(i)); + i++; + } diff --git a/app-shells/bash/files/bash-3.0-invisible.patch b/app-shells/bash/files/bash-3.0-invisible.patch new file mode 100644 index 0000000..bfc5f9b --- /dev/null +++ b/app-shells/bash/files/bash-3.0-invisible.patch @@ -0,0 +1,39 @@ +Fix the bug reported by Alexander Skwar: +bash applies all invisible characters to the first line instead of the ones +that actually (dis)appear in that line. I've also pushed this upstream. + +http://bugs.gentoo.org/36393 + +--- bash-3.0/lib/readline/display.c ++++ bash-3.0/lib/readline/display.c +@@ -258,23 +258,21 @@ + #endif + { + *r++ = *p; +- if (!ignoring) ++ if (!ignoring) + rl++; /* visible length byte counter */ +- else +- ninvis++; /* invisible chars byte counter */ ++ else ++ { ++ ninvis++; /* invisible chars byte counter */ ++ if (rl < _rl_screenwidth) ++ invfl = ninvis; ++ } + } + +- if (rl >= _rl_screenwidth) +- invfl = ninvis; +- + if (ignoring == 0) + physchars++; + } + } + +- if (rl < _rl_screenwidth) +- invfl = ninvis; +- + *r = '\0'; + if (lp) + *lp = rl; diff --git a/app-shells/bash/files/bash-3.0-jobs.patch b/app-shells/bash/files/bash-3.0-jobs.patch new file mode 100644 index 0000000..72c149c --- /dev/null +++ b/app-shells/bash/files/bash-3.0-jobs.patch @@ -0,0 +1,56 @@ +Ripped from Fedora + +* Wed Sep 8 2004 Tim Waugh <twaugh@redhat.com> 3.0-13 +- Check for EINVAL from waitpid() and avoid WCONTINUED in that case. +- Fixed jobs4 test. + +From: Tim Waugh +Subject: [patch] bash-3.0: avoid WCONTINUED if invalid +Date: Wed, 8 Sep 2004 16:52:38 +0100 +User-agent: Mutt/1.4.1i + +Hi, + +GNU libc defines WCONTINUED, but (at least on Linux 2.4.x kernels) +waitpid() returns -1 with errno set to EINVAL if WCONTINUED is +supplied in options. + +Here is a patch to retry without WCONTINUED set in that case. + +Tim. + +--- bash-3.0/tests/jobs4.sub ++++ bash-3.0/tests/jobs4.sub +@@ -18,5 +18,5 @@ + + wait + +-cat & ++sleep 100 & + kill -1 %% && echo i killed it || echo could not kill it +--- bash-3.0/jobs.c ++++ bash-3.0/jobs.c +@@ -2475,6 +2475,7 @@ + PROCESS *child; + pid_t pid; + int call_set_current, last_stopped_job, job, children_exited, waitpid_flags; ++ static int wcontinued_not_supported = 0; + + call_set_current = children_exited = 0; + last_stopped_job = NO_JOB; +@@ -2488,7 +2489,15 @@ + : 0; + if (sigchld || block == 0) + waitpid_flags |= WNOHANG; ++ retry: ++ if (wcontinued_not_supported) ++ waitpid_flags &= ~WCONTINUED; + pid = WAITPID (-1, &status, waitpid_flags); ++ if (pid == -1 && errno == EINVAL) ++ { ++ wcontinued_not_supported = 1; ++ goto retry; ++ } + + /* The check for WNOHANG is to make sure we decrement sigchld only + if it was non-zero before we called waitpid. */ diff --git a/app-shells/bash/files/bash-3.0-local-array.patch b/app-shells/bash/files/bash-3.0-local-array.patch new file mode 100644 index 0000000..82be776 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-local-array.patch @@ -0,0 +1,19 @@ +Fix from Chet Ramey (bash maintainer) to prevent segfault + +http://bugs.gentoo.org/58961 + +*** ../bash-3.0/arrayfunc.c Fri Dec 19 00:03:09 2003 +--- arrayfunc.c Sun Aug 1 20:43:00 2004 +*************** +*** 612,616 **** + + free (t); +! return var; + } + +--- 612,616 ---- + + free (t); +! return (var == 0 || invisible_p (var)) ? (SHELL_VAR *)0 : var; + } + diff --git a/app-shells/bash/files/bash-3.0-locale.patch b/app-shells/bash/files/bash-3.0-locale.patch new file mode 100644 index 0000000..ea1ef3d --- /dev/null +++ b/app-shells/bash/files/bash-3.0-locale.patch @@ -0,0 +1,112 @@ +Ripped from SuSe + +http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00005.html + +From: schwab@suse.de +To: bug-bash@gnu.org +Subject: HISTTIMEFORMAT doesn't track locale changes +Date: Sun, 1 Aug 2004 11:14:00 +0200 (CEST) + +Configuration Information [Automatically generated, do not change]: +Machine: ia64 +OS: linux-gnu +Compiler: gcc +Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='ia64' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='ia64-unknown-linux-gnu' -DCONF_VENDOR='unknown' -DLOCALEDIR='/usr/local/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I../bash-3.0 -I../bash-3.0/include -I../bash-3.0/lib -O2 -g +uname output: Linux sykes 2.6.5-22-default #1 SMP Fri Jul 2 13:43:23 UTC 2004 ia64 ia64 ia64 GNU/Linux +Machine Type: ia64-unknown-linux-gnu + +Bash Version: 3.0 +Patch Level: 0 +Release Status: release + +Description: +Bash doesn't use the current locale when formatting HISTTIMEFORMAT. + +Repeat-By: +sykes:/tmp/bash/Build/:[0]$ locale +LANG=de_DE.UTF-8 +LC_CTYPE="de_DE.UTF-8" +LC_NUMERIC=POSIX +LC_TIME=POSIX +LC_COLLATE=POSIX +LC_MONETARY="de_DE.UTF-8" +LC_MESSAGES=en_US.UTF-8 +LC_PAPER="de_DE.UTF-8" +LC_NAME="de_DE.UTF-8" +LC_ADDRESS="de_DE.UTF-8" +LC_TELEPHONE="de_DE.UTF-8" +LC_MEASUREMENT="de_DE.UTF-8" +LC_IDENTIFICATION="de_DE.UTF-8" +LC_ALL= +sykes:/tmp/bash/Build/:[0]$ history 1 + 1502 history 1 +sykes:/tmp/bash/Build/:[0]$ HISTTIMEFORMAT=%c +sykes:/tmp/bash/Build/:[0]$ history 1 + 1504 Sun Aug 1 10:56:59 2004history 1 +sykes:/tmp/bash/Build/:[0]$ export LC_TIME=$LANG +sykes:/tmp/bash/Build/:[0]$ history 1 + 1506 Sun Aug 1 10:57:24 2004history 1 + +--- bash-3.0/locale.c ++++ bash-3.0/locale.c +@@ -71,9 +71,10 @@ set_default_locale () + textdomain (PACKAGE); + } + +-/* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES and LC_NUMERIC +- if they are not specified in the environment, but LC_ALL is. This +- should be called from main() after parsing the environment. */ ++/* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES, LC_NUMERIC ++ and LC_TIME if they are not specified in the environment, but LC_ALL ++ is. This should be called from main() after parsing the ++ environment. */ + void + set_default_locale_vars () + { +@@ -109,6 +110,12 @@ set_default_locale_vars () + setlocale (LC_NUMERIC, lc_all); + # endif /* LC_NUMERIC */ + ++# if defined (LC_TIME) ++ val = get_string_value ("LC_TIME"); ++ if (val == 0 && lc_all && *lc_all) ++ setlocale (LC_TIME, lc_all); ++# endif /* LC_TIME */ ++ + #endif /* HAVE_SETLOCALE */ + + val = get_string_value ("TEXTDOMAIN"); +@@ -213,6 +220,13 @@ set_locale_var (var, value) + return (setlocale (LC_NUMERIC, get_locale_var ("LC_NUMERIC")) != 0); + # endif /* LC_NUMERIC */ + } ++ else if (var[3] == 'T' && var[4] == 'I') /* LC_TIME */ ++ { ++# if defined (LC_TIME) ++ if (lc_all == 0 || *lc_all == '\0') ++ return (setlocale (LC_TIME, get_locale_var ("LC_TIME")) != 0); ++# endif /* LC_TIME */ ++ } + #endif /* HAVE_SETLOCALE */ + + return (0); +@@ -285,6 +299,9 @@ reset_locale_vars () + # if defined (LC_NUMERIC) + setlocale (LC_NUMERIC, get_locale_var ("LC_NUMERIC")); + # endif ++# if defined (LC_TIME) ++ setlocale (LC_TIME, get_locale_var ("LC_TIME")); ++# endif + + locale_setblanks (); + +--- bash-3.0/variables.c ++++ bash-3.0/variables.c +@@ -3646,6 +3646,7 @@ static struct name_and_function special_ + { "LC_CTYPE", sv_locale }, + { "LC_MESSAGES", sv_locale }, + { "LC_NUMERIC", sv_locale }, ++ { "LC_TIME", sv_locale }, + + { "MAIL", sv_mail }, + { "MAILCHECK", sv_mail }, diff --git a/app-shells/bash/files/bash-3.0-manpage.patch b/app-shells/bash/files/bash-3.0-manpage.patch new file mode 100644 index 0000000..08e3143 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-manpage.patch @@ -0,0 +1,15 @@ +Ripped from Fedora + +fix obvious display bug + +--- bash-3.0/doc/bash.1 ++++ bash-3.0/doc/bash.1 +@@ -3929,7 +3929,7 @@ + .B SIGHUP + to all jobs when an interactive login shell exits. + .PP +-If \Bbash\fP is waiting for a command to complete and receives a signal ++If \fBbash\fP is waiting for a command to complete and receives a signal + for which a trap has been set, the trap will not be executed until + the command completes. + When \fBbash\fP is waiting for an asynchronous command via the \fBwait\fP diff --git a/app-shells/bash/files/bash-3.0-multibyteifs.patch b/app-shells/bash/files/bash-3.0-multibyteifs.patch new file mode 100644 index 0000000..1e74832 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-multibyteifs.patch @@ -0,0 +1,281 @@ +From: Tim Waugh <twaugh@redhat.com> +To: bug-bash@gnu.org +Subject: [patch] multibyte IFS values +Date: Tue, 24 Aug 2004 13:34:59 +0100 + +Hi, + +Here is a patch to address these problems: + +http://lists.gnu.org/archive/html/bug-bash/2004-07/msg00294.html +http://lists.gnu.org/archive/html/bug-bash/2004-07/msg00296.html + +It works well for me at least. + +Tim. + +--- bash-3.0/subst.c.multibyteifs 2004-08-20 15:22:48.366497771 +0100 ++++ bash-3.0/subst.c 2004-08-20 18:13:30.833624616 +0100 +@@ -124,7 +124,12 @@ + SHELL_VAR *ifs_var; + char *ifs_value; + unsigned char ifs_cmap[UCHAR_MAX + 1]; ++#if defined (HANDLE_MULTIBYTE) ++unsigned char ifs_firstc[MB_LEN_MAX]; ++size_t ifs_firstc_len; ++#else + unsigned char ifs_firstc; ++#endif + + /* Extern functions and variables from different files. */ + extern int last_command_exit_value, last_command_exit_signal; +@@ -862,8 +867,14 @@ + char *charlist; + { + register int i = *sindex; ++ size_t slen; ++#if defined (HANDLE_MULTIBYTE) ++ size_t clen; ++ wchar_t *wcharlist = NULL; ++#endif + int c; + char *temp; ++ DECLARE_MBSTATE; + + if (charlist[0] == '\'' && charlist[1] == '\0') + { +@@ -872,18 +883,65 @@ + return temp; + } + +- for (i = *sindex; c = string[i]; i++) ++ slen = strlen (string + *sindex) + *sindex; ++ i = *sindex; ++#if defined (HANDLE_MULTIBYTE) ++ clen = strlen (charlist); ++#endif ++ while ((c = string[i])) + { ++#if defined (HANDLE_MULTIBYTE) ++ size_t mblength; ++#endif ++ + if (c == CTLESC) + { +- i++; ++ i += 2; + continue; + } + ++#if defined (HANDLE_MULTIBYTE) ++ mblength = mblen (string + i, slen - i); ++ if (mblength > 1) ++ { ++ wchar_t wc; ++ size_t mblength = mbtowc (&wc, string + i, slen - i); ++ if (MB_INVALIDCH (mblength)) ++ { ++ if (MEMBER (c, charlist)) ++ break; ++ } ++ else ++ { ++ if (!wcharlist) ++ { ++ size_t len = mbstowcs (wcharlist, charlist, 0); ++ if (len == -1) ++ len = 0; ++ wcharlist = xmalloc (sizeof (wchar_t) * (len + 1)); ++ mbstowcs (wcharlist, charlist, 1 + len); ++ } ++ ++ if (wcschr (wcharlist, wc)) ++ { ++ break; ++ } ++ } ++ } ++ else ++#endif ++ + if (MEMBER (c, charlist)) + break; ++ ++ ADVANCE_CHAR (string, slen, i); + } + ++#if defined (HANDLE_MULTIBYTE) ++ if (wcharlist) ++ free (wcharlist); ++#endif ++ + temp = substring (string, *sindex, i); + *sindex = i; + +@@ -1456,11 +1514,36 @@ + d2 = 0; + if (delims) + { +- d2 = (char *)xmalloc (strlen (delims) + 1); +- for (i = ts = 0; delims[i]; i++) ++ size_t slength = strlen (delims); ++#if defined (HANDLE_MULTIBYTE) ++ size_t mblength = 1; ++ DECLARE_MBSTATE; ++#endif ++ ++ d2 = (char *)xmalloc (slength + 1); ++ i = ts = 0; ++ while (delims[i]) + { ++#if defined (HANDLE_MULTIBYTE) ++ mbstate_t state_bak = state; ++ mblength = mbrlen (delims + i, slength, &state); ++ ++ if (MB_INVALIDCH (mblength)) ++ state = state_bak; ++ else if (mblength != 1) ++ { ++ memcpy (d2 + ts, delims + i, mblength); ++ ts += mblength; ++ i += mblength; ++ slength -= mblength; ++ continue; ++ } ++#endif ++ + if (whitespace(delims[i]) == 0) + d2[ts++] = delims[i]; ++ i++; ++ slength--; + } + d2[ts] = '\0'; + } +@@ -1654,10 +1737,19 @@ + string_list_dollar_star (list) + WORD_LIST *list; + { ++#if defined (HANDLE_MULTIBYTE) ++ char sep[MB_CUR_MAX + 1]; ++#else + char sep[2]; ++#endif + ++#if defined (HANDLE_MULTIBYTE) ++ memcpy (sep, ifs_firstc, ifs_firstc_len); ++ sep[ifs_firstc_len] = '\0'; ++#else + sep[0] = ifs_firstc; + sep[1] = '\0'; ++#endif + + return (string_list_internal (list, sep)); + } +@@ -1676,14 +1768,41 @@ + WORD_LIST *list; + int quoted; + { +- char *ifs, sep[2]; ++ char *ifs; ++#if defined (HANDLE_MULTIBYTE) ++ char sep[MB_CUR_MAX + 1]; ++#else ++ char sep[2]; ++#endif + WORD_LIST *tlist; + + /* XXX this could just be ifs = ifs_value; */ + ifs = ifs_var ? value_cell (ifs_var) : (char *)0; + ++#if defined (HANDLE_MULTIBYTE) ++ if (ifs && *ifs) ++ { ++ size_t mblength = mblen (ifs, strnlen (ifs, MB_CUR_MAX)); ++ if (MB_INVALIDCH (mblength)) ++ { ++ sep[0] = *ifs; ++ sep[1] = '\0'; ++ } ++ else ++ { ++ memcpy (sep, ifs, mblength); ++ sep[mblength] = '\0'; ++ } ++ } ++ else ++ { ++ sep[0] = ' '; ++ sep[1] = '\0'; ++ } ++#else + sep[0] = (ifs == 0 || *ifs == 0) ? ' ' : *ifs; + sep[1] = '\0'; ++#endif + + tlist = ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (ifs && *ifs == 0)) + ? quote_list (list) +@@ -1732,6 +1851,7 @@ + WORD_DESC *t; + char *current_word, *s; + int sindex, sh_style_split, whitesep; ++ size_t slen = 0; + + if (!string || !*string) + return ((WORD_LIST *)NULL); +@@ -1805,7 +1925,12 @@ + + /* Move past the current separator character. */ + if (string[sindex]) +- sindex++; ++ { ++ DECLARE_MBSTATE; ++ if (!slen) ++ slen = strlen (string); ++ ADVANCE_CHAR (string, slen, sindex); ++ } + + /* Now skip sequences of space, tab, or newline characters if they are + in the list of separators. */ +@@ -6796,7 +6921,27 @@ + ifs_cmap[uc] = 1; + } + ++#if defined (HANDLE_MULTIBYTE) ++ if (!ifs_value) ++ { ++ ifs_firstc[0] = '\0'; ++ ifs_firstc_len = 1; ++ } ++ else ++ { ++ size_t ifs_len = strnlen (ifs_value, MB_CUR_MAX); ++ ifs_firstc_len = mblen (ifs_value, ifs_len); ++ if (MB_INVALIDCH (ifs_firstc_len)) ++ { ++ ifs_firstc[0] = '\0'; ++ ifs_firstc_len = 1; ++ } ++ else ++ memcpy (ifs_firstc, ifs_value, ifs_firstc_len); ++ } ++#else + ifs_firstc = ifs_value ? *ifs_value : 0; ++#endif + } + + char * +--- bash-3.0/subst.h.multibyteifs 2004-08-20 15:51:08.301074583 +0100 ++++ bash-3.0/subst.h 2004-08-20 15:51:39.070206473 +0100 +@@ -231,7 +231,12 @@ + extern SHELL_VAR *ifs_var; + extern char *ifs_value; + extern unsigned char ifs_cmap[]; ++#if defined (HANDLE_MULTIBYTE) ++extern unsigned char ifs_firstc[]; ++extern size_t ifs_firstc_len; ++#else + extern unsigned char ifs_firstc; ++#endif + + /* Evaluates to 1 if C is a character in $IFS. */ + #define isifs(c) (ifs_cmap[(unsigned char)(c)] != 0) diff --git a/app-shells/bash/files/bash-3.0-parallel.patch b/app-shells/bash/files/bash-3.0-parallel.patch new file mode 100644 index 0000000..9ca8236 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-parallel.patch @@ -0,0 +1,13 @@ +--- bash-3.0/lib/readline/Makefile.in.old 2003-12-10 12:01:39.000000000 -0500 ++++ bash-3.0/lib/readline/Makefile.in 2005-06-27 17:43:57.859826148 -0400 +@@ -115,7 +115,9 @@ + + ########################################################################## + +-all: libreadline.a libhistory.a ++all: ++ $(MAKE) libreadline.a ++ $(MAKE) libhistory.a + + libreadline.a: $(OBJECTS) + $(RM) $@ diff --git a/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch b/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch new file mode 100644 index 0000000..35b0b7d --- /dev/null +++ b/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch @@ -0,0 +1,20 @@ +Fix an error when using pipes and PGRP_PIPE is enabled. +( exec 3>&1; : `echo >&3` ) +bash: 3: Bad file descriptor + +http://bugs.gentoo.org/92349 + +Patch from upstream + +*** jobs.c Wed Sep 8 11:08:16 2004 +--- jobs.c Thu Jun 30 17:21:26 2005 +*************** +*** 3456,3459 **** +--- 3901,3907 ---- + stop_making_children (); + start_pipeline (); ++ #if defined (PGRP_PIPE) ++ pipe_close (pgrp_pipe); ++ #endif + delete_all_jobs (0); + set_job_control (0); diff --git a/app-shells/bash/files/bash-3.0-posixtrap.patch b/app-shells/bash/files/bash-3.0-posixtrap.patch new file mode 100644 index 0000000..eaa4879 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-posixtrap.patch @@ -0,0 +1,30 @@ +Revert trap behavior for the sake of autoconf-generated configure scripts. +The problem here is that bash -c 'trap 0' works, but sh -c 'trap 0' doesn't +work because the bash developers are trying to adhere to POSIX in that case. +Since all the configure scripts are #!/bin/sh, this breaks them... That's bad +news and will need some time to fix, so it's easier to fix here for the +moment. + +http://bugs.gentoo.org/58703 + +--- bash-3.0/builtins/trap.def.noposix 2004-07-28 22:38:38.000000000 -0400 ++++ bash-3.0/builtins/trap.def 2004-07-28 22:39:01.948314454 -0400 +@@ -122,12 +122,18 @@ + + operation = SET; + first_arg = list->word->word; ++#if 0 + /* When in posix mode, the historical behavior of looking for a + missing first argument is disabled. To revert to the original + signal handling disposition, use `-' as the first argument. */ + if (posixly_correct == 0 && first_arg && *first_arg && + (*first_arg != '-' || first_arg[1]) && + signal_object_p (first_arg, opt) && list->next == 0) ++#else ++ if (first_arg && *first_arg && ++ (*first_arg != '-' || first_arg[1]) && ++ signal_object_p (first_arg, opt) && list->next == 0) ++#endif + operation = REVERT; + else + { diff --git a/app-shells/bash/files/bash-3.0-prompt.patch b/app-shells/bash/files/bash-3.0-prompt.patch new file mode 100644 index 0000000..11ec1c0 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-prompt.patch @@ -0,0 +1,28 @@ +Hack around this bug: + +http://lists.gnu.org/archive/html/bug-bash/2004-10/msg00419.html + +not suitable for upstream; need a proper fix + +http://bugs.gentoo.org/108936 +http://bugs.gentoo.org/69407 + +--- lib/readline/display.c ++++ lib/readline/display.c +@@ -941,6 +941,7 @@ + /* nleft == number of characters in the line buffer between the + start of the line and the cursor position. */ + nleft = c_pos - pos; ++#if 0 + + /* Since _rl_backspace() doesn't know about invisible characters in the + prompt, and there's no good way to tell it, we compensate for +@@ -954,6 +955,8 @@ + _rl_last_c_pos = nleft; + } + ++#endif ++ + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + _rl_move_cursor_relative (nleft, &invisible_line[pos]); + else if (nleft != _rl_last_c_pos) diff --git a/app-shells/bash/files/bash-3.0-pwd.patch b/app-shells/bash/files/bash-3.0-pwd.patch new file mode 100644 index 0000000..77f0918 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-pwd.patch @@ -0,0 +1,16 @@ +Ripped from Fedora + +* Tue Mar 15 2005 Tim Waugh <twaugh@redhat.com> 3.0-30 +- Fix PS1 expansion crash when PWD is unset (bg #151116). + +--- bash-3.0/parse.y.pwd 2005-03-15 14:22:36.000000000 +0000 ++++ bash-3.0/parse.y 2005-03-15 14:22:37.000000000 +0000 +@@ -4103,7 +4103,7 @@ + #define ROOT_PATH(x) ((x)[0] == '/' && (x)[1] == 0) + #define DOUBLE_SLASH_ROOT(x) ((x)[0] == '/' && (x)[1] == '/' && (x)[2] == 0) + /* Abbreviate \W as ~ if $PWD == $HOME */ +- if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || STREQ (t, temp) == 0)) ++ if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || STREQ (t, t_string) == 0)) + { + if (ROOT_PATH (t_string) == 0 && DOUBLE_SLASH_ROOT (t_string) == 0) + { diff --git a/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch b/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch new file mode 100644 index 0000000..466e45a --- /dev/null +++ b/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch @@ -0,0 +1,20 @@ +Description: +When using 'read -u 3' or the like, and the pipe-buf already contains +more than one line, the first line is returned, and bytes up to the next +multiple of 128 are skipped. + +http://lists.gnu.org/archive/html/bug-bash/2005-03/msg00168.html +http://lists.gnu.org/archive/html/bug-bash/2005-03/msg00173.html +http://bugs.gentoo.org/show_bug.cgi?id=87093 + +--- builtins/read.def ++++ builtins/read.def +@@ -276,7 +276,7 @@ + input_is_tty = isatty (fd); + if (input_is_tty == 0) + #ifndef __CYGWIN__ +- input_is_pipe = (lseek (0, 0L, SEEK_CUR) < 0) && (errno == ESPIPE); ++ input_is_pipe = (lseek (fd, 0L, SEEK_CUR) < 0) && (errno == ESPIPE); + #else + input_is_pipe = 1; + #endif diff --git a/app-shells/bash/files/bash-3.0-read-e-segfault.patch b/app-shells/bash/files/bash-3.0-read-e-segfault.patch new file mode 100644 index 0000000..e578631 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-read-e-segfault.patch @@ -0,0 +1,26 @@ +> Hmm, a better patch for this seems to be: + +I installed this patch a while back: + +*** ../bash-3.0-patched/lib/readline/display.c Wed Sep 8 11:07:51 2004 +--- lib/readline/display.c Fri Nov 12 13:31:42 2004 +*************** +*** 336,340 **** + + local_prompt = local_prompt_prefix = (char *)0; +! prompt_last_invisible = prompt_visible_length = 0; + + if (prompt == 0 || *prompt == 0) +--- 341,346 ---- + + local_prompt = local_prompt_prefix = (char *)0; +! prompt_last_invisible = prompt_invis_chars_first_line = 0; +! prompt_visible_length = prompt_physical_chars = 0; + + if (prompt == 0 || *prompt == 0) + +-- +``The lyf so short, the craft so long to lerne.'' - Chaucer +( ``Discere est Dolere'' -- chet ) + Live...Laugh...Love +Chet Ramey, ITS, CWRU chet@po.cwru.edu http://tiswww.tis.cwru.edu/~chet/ diff --git a/app-shells/bash/files/bash-3.0-read-memleak.patch b/app-shells/bash/files/bash-3.0-read-memleak.patch new file mode 100644 index 0000000..6cb769f --- /dev/null +++ b/app-shells/bash/files/bash-3.0-read-memleak.patch @@ -0,0 +1,15 @@ +Ripped from Fedora + +http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00013.html +https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=173283 + +--- bash-3.0/builtins/read.def ++++ bash-3.0/builtins/read.def +@@ -461,6 +461,7 @@ + if (retval < 0) + { + builtin_error (_("read error: %d: %s"), fd, strerror (errno)); ++ run_unwind_frame ("read_builtin"); + return (EXECUTION_FAILURE); + } + #endif diff --git a/app-shells/bash/files/bash-3.0-rl-display.patch b/app-shells/bash/files/bash-3.0-rl-display.patch new file mode 100644 index 0000000..77e0f33 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-rl-display.patch @@ -0,0 +1,185 @@ +Ripped from Debian + +# DP: Fix bug utilising the ``reverse-search-history'' feature of the readline +# DP: library, if the search string matches a previously entered command (ie +# DP: history) and must overflow the current screen width. + +From: Chet Ramey <chet@caleb.ins.cwru.edu> +To: doko@cs.tu-berlin.de +Cc: chet@po.cwru.edu +Subject: Re: Bug#288940: bash-3.0 segfault in readline when Control-R'ing long lines (forwarded from epl@unimelb.edu.au) +Date: Tue, 11 Jan 2005 15:25:15 -0500 + +> Chet Ramey writes: +> > > Package: bash +> > > Version: 3.0-12 +> > > Severity: normal +> > > Tags: sid +> > > +> > > I have found a bug where Debian unstable's bash-3.0 will segfault when +> > > utilising the ``reverse-search-history'' feature of the readline library. +> > > In particular, the search string must match a previously entered command +> > > (ie history) and must overflow the current screen width. +> > +> > Thanks, I fixed this one. +> +> as this is a segfault, could you provide the patch? + +The changes in display.c are extensive enough that it is a fairly large patch. +Here are the essentials. I will more than likely not be releasing this as an +official patch. + +Chet + +*** ../bash-3.0-patched/lib/readline/display.c Wed Sep 8 11:07:51 2004 +--- lib/readline/display.c Sat Jan 8 21:51:40 2005 +*************** +*** 181,184 **** +--- 186,201 ---- + static int prompt_physical_chars; + ++ /* Variables to save and restore prompt and display information. */ ++ ++ /* These are getting numerous enough that it's time to create a struct. */ ++ ++ static char *saved_local_prompt; ++ static char *saved_local_prefix; ++ static int saved_last_invisible; ++ static int saved_visible_length; ++ static int saved_prefix_length; ++ static int saved_invis_chars_first_line; ++ static int saved_physical_chars; ++ + /* Expand the prompt string S and return the number of visible + characters in *LP, if LP is not null. This is currently more-or-less +*************** +*** 1797,1803 **** + return ((ISPRINT (uc)) ? 1 : 2); + } +- + /* How to print things in the "echo-area". The prompt is treated as a + mini-modeline. */ + + #if defined (USE_VARARGS) +--- 1825,1831 ---- + return ((ISPRINT (uc)) ? 1 : 2); + } + /* How to print things in the "echo-area". The prompt is treated as a + mini-modeline. */ ++ static int msg_saved_prompt = 0; + + #if defined (USE_VARARGS) +*************** +*** 1830,1835 **** +--- 1858,1874 ---- + va_end (args); + ++ if (saved_local_prompt == 0) ++ { ++ rl_save_prompt (); ++ msg_saved_prompt = 1; ++ } + rl_display_prompt = msg_buf; ++ local_prompt = expand_prompt (msg_buf, &prompt_visible_length, ++ &prompt_last_invisible, ++ &prompt_invis_chars_first_line, ++ &prompt_physical_chars); ++ local_prompt_prefix = (char *)NULL; + (*rl_redisplay_function) (); ++ + return 0; + } +*************** +*** 1841,1846 **** +--- 1880,1897 ---- + sprintf (msg_buf, format, arg1, arg2); + msg_buf[sizeof(msg_buf) - 1] = '\0'; /* overflow? */ ++ + rl_display_prompt = msg_buf; ++ if (saved_local_prompt == 0) ++ { ++ rl_save_prompt (); ++ msg_saved_prompt = 1; ++ } ++ local_prompt = expand_prompt (msg_buf, &prompt_visible_length, ++ &prompt_last_invisible, ++ &prompt_invis_chars_first_line, ++ &prompt_physical_chars); ++ local_prompt_prefix = (char *)NULL; + (*rl_redisplay_function) (); ++ + return 0; + } +*************** +*** 1852,1855 **** +--- 1903,1911 ---- + { + rl_display_prompt = rl_prompt; ++ if (msg_saved_prompt) ++ { ++ rl_restore_prompt (); ++ msg_saved_prompt = 0; ++ } + (*rl_redisplay_function) (); + return 0; +*************** +*** 1866,1878 **** + } + +- /* These are getting numerous enough that it's time to create a struct. */ +- +- static char *saved_local_prompt; +- static char *saved_local_prefix; +- static int saved_last_invisible; +- static int saved_visible_length; +- static int saved_invis_chars_first_line; +- static int saved_physical_chars; +- + void + rl_save_prompt () +--- 1922,1925 ---- +*************** +*** 1880,1883 **** +--- 1927,1931 ---- + saved_local_prompt = local_prompt; + saved_local_prefix = local_prompt_prefix; ++ saved_prefix_length = prompt_prefix_length; + saved_last_invisible = prompt_last_invisible; + saved_visible_length = prompt_visible_length; +*************** +*** 1886,1890 **** + + local_prompt = local_prompt_prefix = (char *)0; +! prompt_last_invisible = prompt_visible_length = 0; + prompt_invis_chars_first_line = prompt_physical_chars = 0; + } +--- 1934,1938 ---- + + local_prompt = local_prompt_prefix = (char *)0; +! prompt_last_invisible = prompt_visible_length = prompt_prefix_length = 0; + prompt_invis_chars_first_line = prompt_physical_chars = 0; + } +*************** +*** 1898,1905 **** +--- 1946,1959 ---- + local_prompt = saved_local_prompt; + local_prompt_prefix = saved_local_prefix; ++ prompt_prefix_length = saved_prefix_length; + prompt_last_invisible = saved_last_invisible; + prompt_visible_length = saved_visible_length; + prompt_invis_chars_first_line = saved_invis_chars_first_line; + prompt_physical_chars = saved_physical_chars; ++ ++ /* can test saved_local_prompt to see if prompt info has been saved. */ ++ saved_local_prompt = saved_local_prefix = (char *)0; ++ saved_last_invisible = saved_visible_length = saved_prefix_length = 0; ++ saved_invis_chars_first_line = saved_physical_chars = 0; + } + + + +-- +``The lyf so short, the craft so long to lerne.'' - Chaucer +( ``Discere est Dolere'' -- chet ) + Live...Laugh...Love +Chet Ramey, ITS, CWRU chet@po.cwru.edu http://tiswww.tis.cwru.edu/~chet/ diff --git a/app-shells/bash/files/bash-3.0-rl-self-insert.patch b/app-shells/bash/files/bash-3.0-rl-self-insert.patch new file mode 100644 index 0000000..778935e --- /dev/null +++ b/app-shells/bash/files/bash-3.0-rl-self-insert.patch @@ -0,0 +1,79 @@ +Ripped from Debian + +# DP: Fix readline self-insert command + +From: Thomas Glanzmann <sithglan@stud.uni-erlangen.de> +To: Debian Bug Tracking System <submit@bugs.debian.org> +Subject: Bug#290103: readline provided with bash: self-insert doesn't work correctly +Date: Wed, 12 Jan 2005 20:35:17 +0100 + +Package: bash3 +Version: 3.0-10 +Severity: normal +Tags: patch + +Hello, +having the following in .inputrc: + +$if Bash + ",2": " 2>&1" + ",n": " 2>/dev/null" + ",t": "/var/tmp/sithglan/" + ",b": "/opt/build/thomas/" + ",": self-insert +$endif + +should expand ,2 to " 2>&1" but , still to ','. This isn't the case and +I asked bash maintainer Chet Ramey to fix it and he did it. :-) The +following patch will ship with the next version of bash. + +> > That is a bug in the released version of readline-5.0. Shadow keymaps +> > are implemented by using an extra character. When a `shadowed' key +> > (the `,' in your case) is bound to self-insert, the 5.0 code was +> > trying to insert the extra character (256) rather than the `,'. + +*** bash-20050106.orig/lib/readline/readline.c Fri Oct 15 14:36:55 2004 +--- bash/lib/readline/readline.c Sat Jan 8 23:51:44 2005 +*************** +*** 657,665 **** + the input queue with _rl_unget_char. */ + { +- #if 0 +- r = _rl_dispatch (ANYOTHERKEY, FUNCTION_TO_KEYMAP (map, key)); +- #else +- /* XXX - experimental code -- might never be executed. Save +- for later. */ + Keymap m = FUNCTION_TO_KEYMAP (map, key); + int type = m[ANYOTHERKEY].type; +--- 657,660 ---- +*************** +*** 667,673 **** + if (type == ISFUNC && func == rl_do_lowercase_version) + r = _rl_dispatch (_rl_to_lower (key), map); + else + r = _rl_dispatch (ANYOTHERKEY, m); +- #endif + } + else if (r && map[ANYOTHERKEY].function) +--- 662,681 ---- + if (type == ISFUNC && func == rl_do_lowercase_version) + r = _rl_dispatch (_rl_to_lower (key), map); ++ else if (type == ISFUNC && func == rl_insert) ++ { ++ /* If the function that was shadowed was self-insert, we ++ somehow need a keymap with map[key].func == self-insert. ++ Let's use this one. */ ++ int nt = m[key].type; ++ rl_command_func_t *nf = m[key].function; ++ ++ m[key].type = type; ++ m[key].function = func; ++ r = _rl_dispatch (key, m); ++ m[key].type = nt; ++ m[key].function = nf; ++ } + else + r = _rl_dispatch (ANYOTHERKEY, m); + } + else if (r && map[ANYOTHERKEY].function) + diff --git a/app-shells/bash/files/bash-3.0-strnlen.patch b/app-shells/bash/files/bash-3.0-strnlen.patch new file mode 100644 index 0000000..afe9728 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-strnlen.patch @@ -0,0 +1,179 @@ +Index: bash-3.0/configure.in +=================================================================== +--- bash-3.0.orig/configure.in ++++ bash-3.0/configure.in +@@ -613,6 +613,9 @@ if test "$ac_cv_func_vprintf" = no && te + AC_LIBOBJ(vprint) + fi + ++AC_CHECK_FUNCS([strnlen]) ++AC_LIBOBJ(strnlen) ++ + dnl signal stuff + AC_TYPE_SIGNAL + +Index: bash-3.0/lib/sh/strnlen.c +=================================================================== +--- /dev/null ++++ bash-3.0/lib/sh/strnlen.c +@@ -0,0 +1,27 @@ ++/* ++ Copyright (C) 2005 Gentoo Foundation ++ ++ This program is free software; you can redistribute it and/or ++ modify it under the terms of the GNU General Public License ++ as published by the Free Software Foundation; either version 2 ++ of the License, or (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, US ++*/ ++ ++#include <stdlib.h> ++ ++size_t strnlen(const char *s, size_t n) ++{ ++ int i; ++ for (i=0; s[i] && i<n; i++) ++ /* noop */ ; ++ return i; ++} +Index: bash-3.0/configure +=================================================================== +--- bash-3.0.orig/configure ++++ bash-3.0/configure +@@ -10696,9 +10696,127 @@ _ACEOF + fi + + if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then +- LIBOBJS="$LIBOBJS vprint.$ac_objext" ++ case $LIBOBJS in ++ "vprint.$ac_objext" | \ ++ *" vprint.$ac_objext" | \ ++ "vprint.$ac_objext "* | \ ++ *" vprint.$ac_objext "* ) ;; ++ *) LIBOBJS="$LIBOBJS vprint.$ac_objext" ;; ++esac ++ + fi + ++ ++for ac_func in strnlen ++do ++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ++echo "$as_me:$LINENO: checking for $ac_func" >&5 ++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_var+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. ++ For example, HP-UX 11i <limits.h> declares gettimeofday. */ ++#define $ac_func innocuous_$ac_func ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char $ac_func (); below. ++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ <limits.h> exists even on freestanding compilers. */ ++ ++#ifdef __STDC__ ++# include <limits.h> ++#else ++# include <assert.h> ++#endif ++ ++#undef $ac_func ++ ++/* Override any gcc2 internal prototype to avoid an error. */ ++#ifdef __cplusplus ++extern "C" ++{ ++#endif ++/* We use char because int might match the return type of a gcc2 ++ builtin and then its argument prototype would still apply. */ ++char $ac_func (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined (__stub_$ac_func) || defined (__stub___$ac_func) ++choke me ++#else ++char (*f) () = $ac_func; ++#endif ++#ifdef __cplusplus ++} ++#endif ++ ++int ++main () ++{ ++return f != $ac_func; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -z "$ac_c_werror_flag" ++ || test ! -s conftest.err' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ eval "$as_ac_var=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++eval "$as_ac_var=no" ++fi ++rm -f conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ++if test `eval echo '${'$as_ac_var'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++done ++ ++case $LIBOBJS in ++ "strnlen.$ac_objext" | \ ++ *" strnlen.$ac_objext" | \ ++ "strnlen.$ac_objext "* | \ ++ *" strnlen.$ac_objext "* ) ;; ++ *) LIBOBJS="$LIBOBJS strnlen.$ac_objext" ;; ++esac ++ ++ + echo "$as_me:$LINENO: checking return type of signal handlers" >&5 + echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 + if test "${ac_cv_type_signal+set}" = set; then diff --git a/app-shells/bash/files/bash-3.0-subshell.patch b/app-shells/bash/files/bash-3.0-subshell.patch new file mode 100644 index 0000000..a1d7dfe --- /dev/null +++ b/app-shells/bash/files/bash-3.0-subshell.patch @@ -0,0 +1,39 @@ +Ripped from Fedora which took this from upstream + +* Tue Nov 22 2005 Tim Waugh <twaugh@redhat.com> 3.0-37 +- Applied patch from upstream to fix parsing problem (bug #146638). + +http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=146638 + +--- bash-3.0/parse.y.subshell 2005-11-22 13:19:11.000000000 +0000 ++++ bash-3.0/parse.y 2005-11-22 13:19:24.000000000 +0000 +@@ -2055,14 +2055,6 @@ + if (uc) + shell_input_line_index++; + +- if MBTEST(uc == '\\' && remove_quoted_newline && shell_input_line[shell_input_line_index] == '\n') +- { +- if (SHOULD_PROMPT ()) +- prompt_again (); +- line_number++; +- goto restart_read; +- } +- + #if defined (ALIAS) || defined (DPAREN_ARITHMETIC) + /* If UC is NULL, we have reached the end of the current input string. If + pushed_string_list is non-empty, it's time to pop to the previous string +@@ -2078,6 +2070,14 @@ + } + #endif /* ALIAS || DPAREN_ARITHMETIC */ + ++ if MBTEST(uc == '\\' && remove_quoted_newline && shell_input_line[shell_input_line_index] == '\n') ++ { ++ if (SHOULD_PROMPT ()) ++ prompt_again (); ++ line_number++; ++ goto restart_read; ++ } ++ + if (!uc && shell_input_line_terminator == EOF) + return ((shell_input_line_index != 0) ? '\n' : EOF); + diff --git a/app-shells/bash/files/bash-3.0-trap-fg-signals.patch b/app-shells/bash/files/bash-3.0-trap-fg-signals.patch new file mode 100644 index 0000000..cde1832 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-trap-fg-signals.patch @@ -0,0 +1,23 @@ +Don't barf on handled signals inside of scripts. Makes for nicer output. + +patch by Martin Schlemmer <azarah@gentoo.org> + +--- jobs.c ++++ jobs.c +@@ -2893,11 +2893,11 @@ + } + else if (IS_FOREGROUND (job)) + { +-#if !defined (DONT_REPORT_SIGPIPE) +- if (termsig && WIFSIGNALED (s) && termsig != SIGINT) +-#else +- if (termsig && WIFSIGNALED (s) && termsig != SIGINT && termsig != SIGPIPE) +-#endif ++ if (termsig && WIFSIGNALED (s) && termsig != SIGINT && ++#if defined (DONT_REPORT_SIGPIPE) ++ termsig != SIGPIPE && ++#endif ++ signal_is_trapped (termsig) == 0) + { + fprintf (stderr, "%s", j_strsignal (termsig)); + diff --git a/app-shells/bash/files/bash-3.0-ulimit.patch b/app-shells/bash/files/bash-3.0-ulimit.patch new file mode 100644 index 0000000..8202b95 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-ulimit.patch @@ -0,0 +1,186 @@ +Ripped from Fedora + +--- bash-3.0/builtins/ulimit.def ++++ bash-3.0/builtins/ulimit.def +@@ -34,15 +34,20 @@ + -a all current limits are reported + -c the maximum size of core files created + -d the maximum size of a process's data segment ++ -e the maximum scheduling priority (`nice') + -f the maximum size of files created by the shell ++ -i the maximum number of pending signals + -l the maximum size a process may lock into memory + -m the maximum resident set size + -n the maximum number of open file descriptors + -p the pipe buffer size ++ -q the maximum number of bytes in POSIX message queues ++ -r the maximum rt priority + -s the maximum stack size + -t the maximum amount of cpu time in seconds + -u the maximum number of user processes + -v the size of virtual memory ++ -x the maximum number of file locks + + If LIMIT is given, it is the new value of the specified resource; + the special LIMIT values `soft', `hard', and `unlimited' stand for +@@ -199,7 +204,13 @@ + #ifdef RLIMIT_DATA + { 'd', RLIMIT_DATA, 1024, "data seg size", "kbytes" }, + #endif ++#ifdef RLIMIT_NICE ++ { 'e', RLIMIT_NICE, 1, "max nice", (char *)NULL}, ++#endif /* RLIMIT_NICE */ + { 'f', RLIMIT_FILESIZE, 1024, "file size", "blocks" }, ++#ifdef RLIMIT_SIGPENDING ++ { 'i', RLIMIT_SIGPENDING, 1, "pending signals", (char *)NULL}, ++#endif + #ifdef RLIMIT_MEMLOCK + { 'l', RLIMIT_MEMLOCK, 1024, "max locked memory", "kbytes" }, + #endif +@@ -208,6 +219,12 @@ + #endif /* RLIMIT_RSS */ + { 'n', RLIMIT_OPENFILES, 1, "open files", (char *)NULL}, + { 'p', RLIMIT_PIPESIZE, 512, "pipe size", "512 bytes" }, ++#ifdef RLIMIT_MSGQUEUE ++ { 'q', RLIMIT_MSGQUEUE, 1, "POSIX message queues", "bytes" }, ++#endif ++#ifdef RLIMIT_RTPRIO ++ { 'r', RLIMIT_RTPRIO, 1, "max rt priority", (char *)NULL}, ++#endif /* RLIMIT_RTPRIO */ + #ifdef RLIMIT_STACK + { 's', RLIMIT_STACK, 1024, "stack size", "kbytes" }, + #endif +@@ -221,6 +238,9 @@ + #ifdef RLIMIT_SWAP + { 'w', RLIMIT_SWAP, 1024, "swap size", "kbytes" }, + #endif ++#ifdef RLIMIT_LOCKS ++ { 'x', RLIMIT_LOCKS, 1, "file locks", (char *)NULL}, ++#endif + { -1, -1, -1, (char *)NULL, (char *)NULL } + }; + #define NCMDS (sizeof(limits) / sizeof(limits[0])) +@@ -647,11 +667,11 @@ + + for (i = 0; limits[i].option > 0; i++) + { +- if (get_limit (i, &softlim, &hardlim) < 0) ++ if (get_limit (i, &softlim, &hardlim) == 0) ++ printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1); ++ else if (errno != EINVAL) + builtin_error ("%s: cannot get limit: %s", limits[i].description, + strerror (errno)); +- else +- printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1); + } + } + +@@ -670,7 +690,7 @@ + else + sprintf (unitstr, "(-%c) ", limits[limind].option); + +- printf ("%-18s %16s", limits[limind].description, unitstr); ++ printf ("%-20s %16s", limits[limind].description, unitstr); + } + if (curlim == RLIM_INFINITY) + puts ("unlimited"); +--- bash-3.0/doc/bashref.texi ++++ bash-3.0/doc/bashref.texi +@@ -3793,7 +3793,7 @@ + @item ulimit + @btindex ulimit + @example +-ulimit [-acdflmnpstuvSH] [@var{limit}] ++ulimit [-acdeflmnpqrstuvxSH] [@var{limit}] + @end example + @code{ulimit} provides control over the resources available to processes + started by the shell, on systems that allow such control. If an +@@ -3814,9 +3814,15 @@ + @item -d + The maximum size of a process's data segment. + ++@item -e ++The maximum scheduling priority. ++ + @item -f + The maximum size of files created by the shell. + ++@item -i ++The maximum number of pending signals. ++ + @item -l + The maximum size that may be locked into memory. + +@@ -3829,6 +3835,12 @@ + @item -p + The pipe buffer size. + ++@item -q ++The maximum number of bytes in POSIX message queues. ++ ++@item -r ++The maximum RT priority. ++ + @item -s + The maximum stack size. + +@@ -3841,6 +3853,9 @@ + @item -v + The maximum amount of virtual memory available to the process. + ++@item -x ++The maximum amount of file locks. ++ + @end table + + If @var{limit} is given, it is the new value of the specified resource; +--- bash-3.0/doc/bash.1 ++++ bash-3.0/doc/bash.1 +@@ -8362,7 +8362,7 @@ + returns true if any of the arguments are found, false if + none are found. + .TP +-\fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]] ++\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]] + Provides control over the resources available to the shell and to + processes started by it, on systems that allow such control. + The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is +@@ -8398,9 +8398,15 @@ + .B \-d + The maximum size of a process's data segment + .TP ++.B \-e ++The maximum scheduling priority (`nice') ++.TP + .B \-f + The maximum size of files created by the shell + .TP ++.B \-i ++The maximum number of pending signals ++.TP + .B \-l + The maximum size that may be locked into memory + .TP +@@ -8414,6 +8420,12 @@ + .B \-p + The pipe size in 512-byte blocks (this may not be set) + .TP ++.B \-q ++The maximum number of bytes in POSIX message queues ++.TP ++.B \-r ++The maximum rt priority ++.TP + .B \-s + The maximum stack size + .TP +@@ -8425,6 +8437,9 @@ + .TP + .B \-v + The maximum amount of virtual memory available to the shell ++.TP ++.B \-x ++The maximum number of file locks + .PD + .PP + If diff --git a/app-shells/bash/files/bash-3.0-utf8.patch b/app-shells/bash/files/bash-3.0-utf8.patch new file mode 100644 index 0000000..8f10db9 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-utf8.patch @@ -0,0 +1,47 @@ +Hack around this bug: + +http://lists.gnu.org/archive/html/bug-bash/2004-10/msg00419.html + +not suitable for upstream; need a proper fix + +http://bugs.gentoo.org/108936 +http://bugs.gentoo.org/69407 + +--- bash-3.0/lib/readline/display.c ++++ bash-3.0/lib/readline/display.c +@@ -1414,7 +1414,7 @@ + insert_some_chars (nfd, lendiff, col_lendiff); + _rl_last_c_pos += col_lendiff; + } +- else if (*ols == 0 && lendiff > 0) ++ else if ((MB_CUR_MAX == 1 || rl_byte_oriented != 0) && *ols == 0 && col_lendiff > 0) + { + /* At the end of a line the characters do not have to + be "inserted". They can just be placed on the screen. */ +--- bash-3.0/lib/readline/histexpand.c ++++ bash-3.0/lib/readline/histexpand.c +@@ -206,6 +206,7 @@ + + /* Only a closing `?' or a newline delimit a substring search string. */ + for (local_index = i; c = string[i]; i++) ++ { + #if defined (HANDLE_MULTIBYTE) + if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) + { +@@ -222,7 +223,6 @@ + continue; + } + } +- else + #endif /* HANDLE_MULTIBYTE */ + if ((!substring_okay && (whitespace (c) || c == ':' || + (history_search_delimiter_chars && member (c, history_search_delimiter_chars)) || +@@ -230,7 +230,7 @@ + string[i] == '\n' || + (substring_okay && string[i] == '?')) + break; +- ++ } + which = i - local_index; + temp = (char *)xmalloc (1 + which); + if (which) diff --git a/app-shells/bash/files/bash-3.0-volatile-command.patch b/app-shells/bash/files/bash-3.0-volatile-command.patch new file mode 100644 index 0000000..8b89b35 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-volatile-command.patch @@ -0,0 +1,16 @@ +Ripped from Debian + +# DP: current_command must be declared volatile to prevent assignments from +# being optimized away as dead code. In reality, the use of setjmp/longjmp +# makes it not dead code at all. + +--- eval.old 2003-12-18 23:44:15.000000000 -0500 ++++ eval.c 2005-10-03 01:59:31.000000000 -0400 +@@ -63,7 +63,7 @@ + reader_loop () + { + int our_indirection_level; +- COMMAND *current_command = (COMMAND *)NULL; ++ COMMAND * volatile current_command = (COMMAND *)NULL; + + USE_VAR(current_command); diff --git a/app-shells/bash/files/bash-3.1-bash-logger.patch b/app-shells/bash/files/bash-3.1-bash-logger.patch new file mode 100644 index 0000000..3bc29da --- /dev/null +++ b/app-shells/bash/files/bash-3.1-bash-logger.patch @@ -0,0 +1,90 @@ +Add support for logging bash commands via syslog(). +Useful for deploying in honeypot environments. + +http://bugs.gentoo.org/show_bug.cgi?id=91327 +http://www.nardware.co.uk/Security/html/bashlogger.htm + +--- bashhist.c ++++ bashhist.c +@@ -705,7 +705,7 @@ + { + hist_last_line_added = 1; + hist_last_line_pushed = 0; +- add_history (line); ++ add_history (line, 1); + history_lines_this_session++; + } + +--- lib/readline/histexpand.c ++++ lib/readline/histexpand.c +@@ -1222,9 +1222,7 @@ + + if (only_printing) + { +-#if 0 +- add_history (result); +-#endif ++ add_history (result, 1); + return (2); + } + +--- lib/readline/histfile.c ++++ lib/readline/histfile.c +@@ -262,7 +262,7 @@ + { + if (HIST_TIMESTAMP_START(line_start) == 0) + { +- add_history (line_start); ++ add_history (line_start,0); + if (last_ts) + { + add_history_time (last_ts); +--- lib/readline/history.c ++++ lib/readline/history.c +@@ -31,6 +31,8 @@ + + #include <stdio.h> + ++#include <syslog.h> ++ + #if defined (HAVE_STDLIB_H) + # include <stdlib.h> + #else +@@ -246,10 +250,24 @@ + /* Place STRING at the end of the history list. The data field + is set to NULL. */ + void +-add_history (string) +- const char *string; ++add_history (string, logme) ++ const char *string; ++ int logme; /* 0 means no sending history to syslog */ + { + HIST_ENTRY *temp; ++ if (logme) { ++ if (strlen(string)<600) { ++ syslog(LOG_LOCAL5 | LOG_INFO, "HISTORY: PID=%d UID=%d %s", ++ getpid(), getuid(), string); ++ } ++ else { ++ char trunc[600]; ++ strncpy(trunc,string,sizeof(trunc)); ++ trunc[sizeof(trunc)-1]='\0'; ++ syslog(LOG_LOCAL5 | LOG_INFO, "HISTORY: PID=%d UID=%d %s(++TRUNC)", ++ getpid(), getuid(), trunc); ++ } ++ } + + if (history_stifled && (history_length == history_max_entries)) + { +--- lib/readline/history.h ++++ lib/readline/history.h +@@ -80,7 +80,7 @@ + + /* Place STRING at the end of the history list. + The associated data field (if any) is set to NULL. */ +-extern void add_history PARAMS((const char *)); ++extern void add_history PARAMS((const char *, int )); + + /* Change the timestamp associated with the most recent history entry to + STRING. */ diff --git a/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch b/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch new file mode 100644 index 0000000..80a4b0a --- /dev/null +++ b/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch @@ -0,0 +1,14 @@ +Fix the /dev/fd test when running as a non root user +after logging in as a root user #131875 + +--- bash-3.1/configure ++++ bash-3.1/configure +@@ -23098,7 +23098,7 @@ + if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then + # check for systems like FreeBSD 5 that only provide /dev/fd/[012] + exec 3<&0 +- if test -r /dev/fd/3; then ++ if test -e /dev/fd/3; then + bash_cv_dev_fd=standard + else + bash_cv_dev_fd=absent diff --git a/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch b/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch new file mode 100644 index 0000000..3ca7518 --- /dev/null +++ b/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch @@ -0,0 +1,52 @@ +http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00054.html +http://bugs.gentoo.org/118257 + +Date: Fri, 13 Jan 2006 17:11:10 +0000 +From: Tim Waugh <twaugh@redhat.com> +To: bug-bash@gnu.org +Subject: [patch] fix 'exec -l /bin/bash' + +Configuration Information [Automatically generated, do not change]: +Machine: i386 +OS: linux-gnu +Compiler: i386-redhat-linux-gcc +Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i386' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i386-redhat-linux-gnu' -DCONF_VENDOR='redhat' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables +uname output: Linux gene.surrey.redhat.com 2.6.13-1.1597_FC5 #1 Thu Oct 6 02:13:06 EDT 2005 i686 i686 i386 GNU/Linux +Machine Type: i386-redhat-linux-gnu + +Bash Version: 3.1 +Patch Level: 1 +Release Status: release + +Description: + If bash has argv[0] as '-/bin/bash' it does not become a login + shell. + +Repeat-By: + exec -l /bin/bash + shopt + +Fix: + +--- bash-3.1/shell.c.login 2006-01-13 16:52:14.000000000 +0000 ++++ bash-3.1/shell.c 2006-01-13 16:52:15.000000000 +0000 +@@ -1543,9 +1543,10 @@ + any startup files; just try to be more like /bin/sh. */ + shell_name = argv0 ? base_pathname (argv0) : PROGRAM; + +- if (*shell_name == '-') ++ if (argv0 && *argv0 == '-') + { +- shell_name++; ++ if (*shell_name == '-') ++ shell_name++; + login_shell++; + } + + + +_______________________________________________ +Bug-bash mailing list +Bug-bash@gnu.org +http://lists.gnu.org/mailman/listinfo/bug-bash + diff --git a/app-shells/bash/files/bash-3.1-gentoo.patch b/app-shells/bash/files/bash-3.1-gentoo.patch new file mode 100644 index 0000000..481bc58 --- /dev/null +++ b/app-shells/bash/files/bash-3.1-gentoo.patch @@ -0,0 +1,68 @@ +Collection of fixes from mandrake + +--- bash-3.1/doc/builtins.1 ++++ bash-3.1/doc/builtins.1 +@@ -8,8 +8,5 @@ + let, local, logout, popd, printf, pushd, pwd, read, readonly, return, set, + shift, shopt, source, suspend, test, times, trap, type, typeset, + ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1) +-.SH BASH BUILTIN COMMANDS +-.nr zZ 1 +-.so bash.1 + .SH SEE ALSO + bash(1), sh(1) +--- bash-3.1/lib/readline/complete.c ++++ bash-3.1/lib/readline/complete.c +@@ -1544,9 +1544,7 @@ + if (rl_filename_completion_desired) + { + filename = tilde_expand (text); +- s = (nontrivial_match && rl_completion_mark_symlink_dirs == 0) +- ? LSTAT (filename, &finfo) +- : stat (filename, &finfo); ++ s = stat (filename, &finfo); + if (s == 0 && S_ISDIR (finfo.st_mode)) + { + if (_rl_complete_mark_directories /* && rl_completion_suppress_append == 0 */) +--- bash-3.1/Makefile.in ++++ bash-3.1/Makefile.in +@@ -658,7 +658,7 @@ + + config.h: stamp-h + +-stamp-h: config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h ++stamp-h: version.h config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h + CONFIG_FILES= CONFIG_HEADERS=config.h $(SHELL) ./config.status + + config.status: $(srcdir)/configure +@@ -666,7 +666,7 @@ + + # comment out for distribution + $(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in +- cd $(srcdir) && autoconf ++ cd $(srcdir) + + # for chet + reconfig: force +--- bash-3.1/parse.y ++++ bash-3.1/parse.y +@@ -389,7 +389,9 @@ + } + ; + +-word_list: WORD ++word_list: ++ { $$ = (WORD_LIST *)NULL; } ++ | WORD + { $$ = make_word_list ($1, (WORD_LIST *)NULL); } + | word_list WORD + { $$ = make_word_list ($2, $1); } +@@ -1186,7 +1186,7 @@ + + #if defined (READLINE) + char *current_readline_prompt = (char *)NULL; +-char *current_readline_line = (char *)NULL; ++unsigned char *current_readline_line = (unsigned char *)NULL; + int current_readline_line_index = 0; + + static int diff --git a/app-shells/bash/files/bash-3.1-ulimit.patch b/app-shells/bash/files/bash-3.1-ulimit.patch new file mode 100644 index 0000000..432fb54 --- /dev/null +++ b/app-shells/bash/files/bash-3.1-ulimit.patch @@ -0,0 +1,122 @@ +Ripped from Fedora + +Add support for RLIMIT_NICE/RLIMIT_RTPRIO and add missing documentation +for many other options + +--- builtins/ulimit.def ++++ builtins/ulimit.def +@@ -24,7 +24,7 @@ + $BUILTIN ulimit + $FUNCTION ulimit_builtin + $DEPENDS_ON !_MINIX +-$SHORT_DOC ulimit [-SHacdfilmnpqstuvx] [limit] ++$SHORT_DOC ulimit [-SHacdefilmnpqrstuvx] [limit] + Ulimit provides control over the resources available to processes + started by the shell, on systems that allow such control. If an + option is given, it is interpreted as follows: +@@ -34,18 +34,20 @@ + -a all current limits are reported + -c the maximum size of core files created + -d the maximum size of a process's data segment ++ -e the maximum scheduling priority (`nice') + -f the maximum size of files created by the shell +- -i the maximum number of pending signals ++ -i the maximum number of pending signals + -l the maximum size a process may lock into memory + -m the maximum resident set size + -n the maximum number of open file descriptors + -p the pipe buffer size +- -q the maximum number of bytes in POSIX message queues ++ -q the maximum number of bytes in POSIX message queues ++ -r the maximum rt priority + -s the maximum stack size + -t the maximum amount of cpu time in seconds + -u the maximum number of user processes + -v the size of virtual memory +- -x the maximum number of file locks ++ -x the maximum number of file locks + + If LIMIT is given, it is the new value of the specified resource; + the special LIMIT values `soft', `hard', and `unlimited' stand for +@@ -202,6 +204,9 @@ + #ifdef RLIMIT_DATA + { 'd', RLIMIT_DATA, 1024, "data seg size", "kbytes" }, + #endif ++#ifdef RLIMIT_NICE ++ { 'e', RLIMIT_NICE, 1, "max nice", (char *)NULL}, ++#endif + { 'f', RLIMIT_FILESIZE, 1024, "file size", "blocks" }, + #ifdef RLIMIT_SIGPENDING + { 'i', RLIMIT_SIGPENDING, 1, "pending signals", (char *)NULL }, +@@ -217,6 +222,9 @@ + #ifdef RLIMIT_MSGQUEUE + { 'q', RLIMIT_MSGQUEUE, 1, "POSIX message queues", "bytes" }, + #endif ++#ifdef RLIMIT_RTPRIO ++ { 'r', RLIMIT_RTPRIO, 1, "max rt priority", (char *)NULL}, ++#endif + #ifdef RLIMIT_STACK + { 's', RLIMIT_STACK, 1024, "stack size", "kbytes" }, + #endif +--- doc/bashref.texi ++++ doc/bashref.texi +@@ -3833,7 +3833,7 @@ + @item ulimit + @btindex ulimit + @example +-ulimit [-acdfilmnpqstuvxSH] [@var{limit}] ++ulimit [-acdefilmnpqrstuvxSH] [@var{limit}] + @end example + @code{ulimit} provides control over the resources available to processes + started by the shell, on systems that allow such control. If an +@@ -3854,6 +3854,9 @@ + @item -d + The maximum size of a process's data segment. + ++@item -e ++The maximum scheduling priority. ++ + @item -f + The maximum size of files created by the shell. + +@@ -3875,6 +3878,9 @@ + @item -q + The maximum number of bytes in POSIX message queues. + ++@item -r ++The maximum RT priority. ++ + @item -s + The maximum stack size. + +--- doc/bash.1 ++++ doc/bash.1 +@@ -8490,7 +8490,7 @@ + returns true if any of the arguments are found, false if + none are found. + .TP +-\fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]] ++\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]] + Provides control over the resources available to the shell and to + processes started by it, on systems that allow such control. + The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is +@@ -8526,6 +8526,9 @@ + .B \-d + The maximum size of a process's data segment + .TP ++.B \-e ++The maximum scheduling priority (`nice') ++.TP + .B \-f + The maximum size of files created by the shell + .TP +@@ -8548,6 +8551,9 @@ + .B \-q + The maximum number of bytes in POSIX message queues + .TP ++.B \-r ++The maximum rt priority ++.TP + .B \-s + The maximum stack size + .TP diff --git a/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch b/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch new file mode 100644 index 0000000..8aca776 --- /dev/null +++ b/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch @@ -0,0 +1,26 @@ +diff -ur bash-3.2.orig/aclocal.m4 bash-3.2/aclocal.m4 +--- bash-3.2.orig/aclocal.m4 2006-12-30 20:00:31 +0000 ++++ bash-3.2/aclocal.m4 2006-12-30 20:02:02 +0000 +@@ -1544,7 +1544,8 @@ + if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then + # check for systems like FreeBSD 5 that only provide /dev/fd/[012] + exec 3</dev/null +- if test -r /dev/fd/3; then ++ # bash test builtin always works here, so we use the test binary ++ if `which test || echo test` -e /dev/fd/3; then + bash_cv_dev_fd=standard + else + bash_cv_dev_fd=absent +diff -ur bash-3.2.orig/configure bash-3.2/configure +--- bash-3.2.orig/configure 2006-12-30 20:03:24 +0000 ++++ bash-3.2/configure 2006-12-30 20:01:50 +0000 +@@ -27179,7 +27179,8 @@ + if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then + # check for systems like FreeBSD 5 that only provide /dev/fd/[012] + exec 3</dev/null +- if test -r /dev/fd/3; then ++ # bash test builtin always works here, so we use the test binary ++ if `which test || echo test` -e /dev/fd/3; then + bash_cv_dev_fd=standard + else + bash_cv_dev_fd=absent diff --git a/app-shells/bash/files/bash-3.2-ldflags-for-build.patch b/app-shells/bash/files/bash-3.2-ldflags-for-build.patch new file mode 100644 index 0000000..2dc1dd6 --- /dev/null +++ b/app-shells/bash/files/bash-3.2-ldflags-for-build.patch @@ -0,0 +1,37 @@ +http://bugs.gentoo.org/211947 + +fix from Takashi YOSHII: dont use target ldflags for build apps + +--- bash/builtins/Makefile.in ++++ bash/builtins/Makefile.in +@@ -63,7 +63,7 @@ + + LIBS = @LIBS@ + LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS) +-LDFLAGS_FOR_BUILD = $(LDFLAGS) ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD) + LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ + #LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ + LIBS_FOR_BUILD = $(LIBS) +--- bash/support/Makefile.in ++++ bash/support/Makefile.in +@@ -58,7 +58,7 @@ + + LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ + LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS) +-LDFLAGS_FOR_BUILD = $(LDFLAGS) ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD) + + INCLUDES = -I${BUILD_DIR} -I${topdir} + +--- bash/Makefile.in ++++ bash/Makefile.in +@@ -143,7 +143,7 @@ + CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) + + LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS) +-LDFLAGS_FOR_BUILD = $(LDFLAGS) ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD) + + INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) $(INTL_INC) + diff --git a/app-shells/bash/files/bash-3.2-loadables.patch b/app-shells/bash/files/bash-3.2-loadables.patch new file mode 100644 index 0000000..cd0e1e1 --- /dev/null +++ b/app-shells/bash/files/bash-3.2-loadables.patch @@ -0,0 +1,239 @@ +--- bash-3.2/examples/loadables/basename.c ++++ bash-3.2/examples/loadables/basename.c +@@ -11,6 +11,7 @@ + #include <stdio.h> + #include "builtins.h" + #include "shell.h" ++#include "common.h" + + basename_builtin (list) + WORD_LIST *list; +--- bash-3.2/examples/loadables/cut.c ++++ bash-3.2/examples/loadables/cut.c +@@ -63,6 +63,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/dirname.c ++++ bash-3.2/examples/loadables/dirname.c +@@ -11,6 +11,7 @@ + #include <stdio.h> + #include "builtins.h" + #include "shell.h" ++#include "common.h" + + dirname_builtin (list) + WORD_LIST *list; +--- bash-3.2/examples/loadables/finfo.c ++++ bash-3.2/examples/loadables/finfo.c +@@ -12,6 +12,7 @@ + #include <pwd.h> + #include <grp.h> + #include <errno.h> ++#include <time.h> + + #include "bashansi.h" + #include "shell.h" +--- bash-3.2/examples/loadables/head.c ++++ bash-3.2/examples/loadables/head.c +@@ -21,6 +21,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/ln.c ++++ bash-3.2/examples/loadables/ln.c +@@ -18,6 +18,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/logname.c ++++ bash-3.2/examples/loadables/logname.c +@@ -11,6 +11,7 @@ + + #include "builtins.h" + #include "shell.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/mkdir.c ++++ bash-3.2/examples/loadables/mkdir.c +@@ -16,6 +16,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/pathchk.c ++++ bash-3.2/examples/loadables/pathchk.c +@@ -45,6 +45,7 @@ + #include "stdc.h" + #include "bashgetopt.h" + #include "maxpath.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/print.c ++++ bash-3.2/examples/loadables/print.c +@@ -17,6 +17,8 @@ + #include "builtins.h" + #include "stdc.h" + #include "bashgetopt.h" ++#include "builtext.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/printenv.c ++++ bash-3.2/examples/loadables/printenv.c +@@ -11,6 +11,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + extern char **export_env; + +--- bash-3.2/examples/loadables/push.c ++++ bash-3.2/examples/loadables/push.c +@@ -11,6 +11,7 @@ + #include "shell.h" + #include "jobs.h" + #include "bashgetopt.h" ++#include "common.h" + + #ifndef errno + extern int errno; +--- bash-3.2/examples/loadables/realpath.c ++++ bash-3.2/examples/loadables/realpath.c +@@ -34,6 +34,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + #ifndef errno + extern int errno; +@@ -67,14 +68,14 @@ + vflag = 1; + break; + default: +- usage(); ++ builtin_usage(); + } + } + + list = loptend; + + if (list == 0) +- usage(); ++ builtin_usage(); + + for (es = EXECUTION_SUCCESS; list; list = list->next) { + p = list->word->word; +--- bash-3.2/examples/loadables/rmdir.c ++++ bash-3.2/examples/loadables/rmdir.c +@@ -8,6 +8,7 @@ + #include <errno.h> + #include "builtins.h" + #include "shell.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/sleep.c ++++ bash-3.2/examples/loadables/sleep.c +@@ -27,6 +27,7 @@ + + #include "shell.h" + #include "builtins.h" ++#include "common.h" + + #define RETURN(x) \ + do { \ +--- bash-3.2/examples/loadables/tee.c ++++ bash-3.2/examples/loadables/tee.c +@@ -22,6 +22,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + #if !defined (errno) + extern int errno; +--- bash-3.2/examples/loadables/truefalse.c ++++ bash-3.2/examples/loadables/truefalse.c +@@ -1,5 +1,7 @@ + /* true and false builtins */ + ++#include <config.h> ++ + #include "bashtypes.h" + #include "shell.h" + #include "builtins.h" +--- bash-3.2/examples/loadables/tty.c ++++ bash-3.2/examples/loadables/tty.c +@@ -8,6 +8,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + extern char *ttyname (); + +--- bash-3.2/examples/loadables/uname.c ++++ bash-3.2/examples/loadables/uname.c +@@ -27,6 +27,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + #define FLAG_SYSNAME 0x01 /* -s */ + #define FLAG_NODENAME 0x02 /* -n */ +--- bash-3.2/examples/loadables/unlink.c ++++ bash-3.2/examples/loadables/unlink.c +@@ -14,6 +14,7 @@ + + #include "builtins.h" + #include "shell.h" ++#include "common.h" + + #ifndef errno + extern int errno; +--- bash-3.2/examples/loadables/whoami.c ++++ bash-3.2/examples/loadables/whoami.c +@@ -8,6 +8,7 @@ + #include "builtins.h" + #include "shell.h" + #include "bashgetopt.h" ++#include "common.h" + + whoami_builtin (list) + WORD_LIST *list; +--- bash-3.2/examples/loadables/Makefile.in ++++ bash-3.2/examples/loadables/Makefile.in +@@ -68,7 +68,7 @@ + SHOBJ_CC = @SHOBJ_CC@ + SHOBJ_CFLAGS = @SHOBJ_CFLAGS@ + SHOBJ_LD = @SHOBJ_LD@ +-SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ ++SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ @LDFLAGS@ + SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@ + SHOBJ_LIBS = @SHOBJ_LIBS@ + SHOBJ_STATUS = @SHOBJ_STATUS@ diff --git a/app-shells/bash/files/bash-3.2-parallel-build.patch b/app-shells/bash/files/bash-3.2-parallel-build.patch new file mode 100644 index 0000000..0ee0491 --- /dev/null +++ b/app-shells/bash/files/bash-3.2-parallel-build.patch @@ -0,0 +1,16 @@ +http://bugs.gentoo.org/189671 +http://lists.gnu.org/archive/html/bug-bash/2007-08/msg00081.html + +--- bash-3.2/Makefile.in ++++ bash-3.2/Makefile.in +@@ -584,7 +584,9 @@ + @( { test "${RL_LIBDIR}" = "${libdir}" && exit 0; } || \ + cd ${RL_LIBDIR} && $(MAKE) $(MFLAGS) libreadline.a) || exit 1 + +-$(HISTORY_LIBRARY): config.h $(HISTORY_SOURCE) ++# prevent parallel build race conditions in the lib/readline/ subdir ++# by depending on libreadline.a when applicable ++$(HISTORY_LIBRARY): config.h $(HISTORY_SOURCE) $(READLINE_DEP) + @echo making $@ in ${HIST_LIBDIR} + @( { test "${HIST_LIBDIR}" = "${libdir}" && exit 0; } || \ + cd ${HIST_LIBDIR} && $(MAKE) $(MFLAGS) libhistory.a) || exit 1 diff --git a/app-shells/bash/files/bash-3.2-process-subst.patch b/app-shells/bash/files/bash-3.2-process-subst.patch new file mode 100644 index 0000000..cdc50fb --- /dev/null +++ b/app-shells/bash/files/bash-3.2-process-subst.patch @@ -0,0 +1,10 @@ +--- execute_cmd.c 2006-11-01 18:32:36 +0000 ++++ execute_cmd.c 2006-11-01 18:32:42 +0000 +@@ -2672,6 +2672,7 @@ + + do_piping (pipe_in, pipe_out); + ++ subshell_environment = 0; + if (async) + subshell_environment |= SUBSHELL_ASYNC; + if (pipe_in != NO_PIPE || pipe_out != NO_PIPE) diff --git a/app-shells/bash/files/bash-3.2-redisplay-cursor.patch b/app-shells/bash/files/bash-3.2-redisplay-cursor.patch new file mode 100644 index 0000000..b9713bc --- /dev/null +++ b/app-shells/bash/files/bash-3.2-redisplay-cursor.patch @@ -0,0 +1,20 @@ +http://bugs.gentoo.org/155369 + +*** ../bash-3.2.10/lib/readline/display.c Fri Jan 19 13:34:50 2007 +--- lib/readline/display.c Sat Mar 10 17:25:44 2007 +*************** +*** 1733,1737 **** + { + dpos = _rl_col_width (data, 0, new); +! if (dpos > prompt_last_invisible) /* XXX - don't use woff here */ + { + dpos -= woff; +--- 1765,1772 ---- + { + dpos = _rl_col_width (data, 0, new); +! /* Use NEW when comparing against the last invisible character in the +! prompt string, since they're both buffer indices and DPOS is a +! desired display position. */ +! if (new > prompt_last_invisible) /* XXX - don't use woff here */ + { + dpos -= woff; diff --git a/app-shells/bash/files/bash-3.2-ulimit.patch b/app-shells/bash/files/bash-3.2-ulimit.patch new file mode 100644 index 0000000..a0975cb --- /dev/null +++ b/app-shells/bash/files/bash-3.2-ulimit.patch @@ -0,0 +1,13 @@ +add missing docs for -e and -r options + +--- builtins/ulimit.def ++++ builtins/ulimit.def +@@ -24,7 +24,7 @@ + $BUILTIN ulimit + $FUNCTION ulimit_builtin + $DEPENDS_ON !_MINIX +-$SHORT_DOC ulimit [-SHacdfilmnpqstuvx] [limit] ++$SHORT_DOC ulimit [-SHacdefilmnpqrstuvx] [limit] + Ulimit provides control over the resources available to processes + started by the shell, on systems that allow such control. If an + option is given, it is interpreted as follows: diff --git a/app-shells/bash/files/bash_logout b/app-shells/bash/files/bash_logout new file mode 100644 index 0000000..50a7933 --- /dev/null +++ b/app-shells/bash/files/bash_logout @@ -0,0 +1,9 @@ +# /etc/bash/bash_logout + +# This file is sourced when a login shell terminates. + +# You may wish to clear everyone's screen when they logout. +#clear + +# Or maybe you want to leave a thoughtful note. +#fortune diff --git a/app-shells/bash/files/bashrc b/app-shells/bash/files/bashrc new file mode 100644 index 0000000..1fa3149 --- /dev/null +++ b/app-shells/bash/files/bashrc @@ -0,0 +1,86 @@ +# /etc/bash/bashrc +# +# This file is sourced by all *interactive* bash shells on startup, +# including some apparently interactive shells such as scp and rcp +# that can't tolerate any output. So make sure this doesn't display +# anything or bad things will happen ! + + +# Test for an interactive shell. There is no need to set anything +# past this point for scp and rcp, and it's important to refrain from +# outputting anything in those cases. +if [[ $- != *i* ]] ; then + # Shell is non-interactive. Be done now! + return +fi + +# Bash won't get SIGWINCH if another process is in the foreground. +# Enable checkwinsize so that bash will check the terminal size when +# it regains control. #65623 +# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11) +shopt -s checkwinsize + +# Enable history appending instead of overwriting. #139609 +shopt -s histappend + +# Change the window title of X terminals +case ${TERM} in + xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix) + PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"' + ;; + screen) + PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"' + ;; +esac + +use_color=false +#BSD#@# BSD doesn't typically come with dircolors so we need +#BSD#@# to hardcode some terminals in here. +#BSD#@case ${TERM} in +#BSD#@ xterm*|rxvt*|Eterm|aterm|kterm|gnome*|screen|cons25) use_color=true;; +#BSD#@esac + +# Set colorful PS1 only on colorful terminals. +# dircolors --print-database uses its own built-in database +# instead of using /etc/DIR_COLORS. Try to use the external file +# first to take advantage of user additions. Use internal bash +# globbing instead of external grep binary. +safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM +match_lhs="" +[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" +[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)" +[[ -z ${match_lhs} ]] \ + && type -P dircolors >/dev/null \ + && match_lhs=$(dircolors --print-database) +[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true + +if ${use_color} ; then + # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 + if type -P dircolors >/dev/null ; then + if [[ -f ~/.dir_colors ]] ; then + eval $(dircolors -b ~/.dir_colors) + elif [[ -f /etc/DIR_COLORS ]] ; then + eval $(dircolors -b /etc/DIR_COLORS) + fi + fi + + if [[ ${EUID} == 0 ]] ; then + PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] ' + else + PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] ' + fi + + #BSD#@export CLICOLOR=1 + #GNU#@alias ls='ls --color=auto' + alias grep='grep --colour=auto' +else + if [[ ${EUID} == 0 ]] ; then + # show root@ when we don't have colors + PS1='\u@\h \W \$ ' + else + PS1='\u@\h \w \$ ' + fi +fi + +# Try to keep environment pollution down, EPA loves us. +unset use_color safe_term match_lhs diff --git a/app-shells/bash/files/dot-bash_logout b/app-shells/bash/files/dot-bash_logout new file mode 100644 index 0000000..44b6f79 --- /dev/null +++ b/app-shells/bash/files/dot-bash_logout @@ -0,0 +1,6 @@ +# /etc/skel/.bash_logout + +# This file is sourced when a login shell terminates. + +# Clear the screen for security's sake. +clear diff --git a/app-shells/bash/files/dot-bash_profile b/app-shells/bash/files/dot-bash_profile new file mode 100644 index 0000000..94a6622 --- /dev/null +++ b/app-shells/bash/files/dot-bash_profile @@ -0,0 +1,5 @@ +# /etc/skel/.bash_profile + +# This file is sourced by bash for login shells. The following line +# runs your .bashrc and is recommended by the bash info pages. +[[ -f ~/.bashrc ]] && . ~/.bashrc diff --git a/app-shells/bash/files/dot-bashrc b/app-shells/bash/files/dot-bashrc new file mode 100644 index 0000000..34dbd8c --- /dev/null +++ b/app-shells/bash/files/dot-bashrc @@ -0,0 +1,18 @@ +# /etc/skel/.bashrc +# +# This file is sourced by all *interactive* bash shells on startup, +# including some apparently interactive shells such as scp and rcp +# that can't tolerate any output. So make sure this doesn't display +# anything or bad things will happen ! + + +# Test for an interactive shell. There is no need to set anything +# past this point for scp and rcp, and it's important to refrain from +# outputting anything in those cases. +if [[ $- != *i* ]] ; then + # Shell is non-interactive. Be done now! + return +fi + + +# Put your fun stuff here. diff --git a/app-shells/bash/metadata.xml b/app-shells/bash/metadata.xml new file mode 100644 index 0000000..224ab67 --- /dev/null +++ b/app-shells/bash/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>base-system</herd> +<use> + <flag name='bashlogger'>Log ALL commands typed into bash; should ONLY be + used in restricted environments such as honeypots</flag> + <flag name='plugins'>Add support for loading builtins at runtime via + 'enable'</flag> +</use> +</pkgmetadata> |