summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Alfredsen <loki_val@gentoo.org>2009-01-15 15:57:23 +0100
committerPeter Alfredsen <loki_val@gentoo.org>2009-01-15 15:57:23 +0100
commit2816badf9c3e457daa69b61ff8254bd5c16aa151 (patch)
tree09c1cf0557b81362ee8f897714db70d7bb393928
parentLose old ebuild. (diff)
downloadloki_val-2816badf9c3e457daa69b61ff8254bd5c16aa151.tar.gz
loki_val-2816badf9c3e457daa69b61ff8254bd5c16aa151.tar.bz2
loki_val-2816badf9c3e457daa69b61ff8254bd5c16aa151.zip
Add version of bash-4.0-rc1 that compiles
-rw-r--r--app-shells/bash/1.e392
-rw-r--r--app-shells/bash/ChangeLog865
-rw-r--r--app-shells/bash/Manifest62
-rw-r--r--app-shells/bash/bash-4.0_rc1.ebuild166
-rw-r--r--app-shells/bash/files/autoconf-mktime-2.59.patch197
-rw-r--r--app-shells/bash/files/bash-2.05b-empty-herestring.patch27
-rw-r--r--app-shells/bash/files/bash-2.05b-jobs.patch27
-rw-r--r--app-shells/bash/files/bash-2.05b-multibyte-locale.patch50
-rw-r--r--app-shells/bash/files/bash-2.05b-parallel-build.patch11
-rw-r--r--app-shells/bash/files/bash-2.05b-rbash.patch21
-rw-r--r--app-shells/bash/files/bash-2.05b-setlocale.patch17
-rw-r--r--app-shells/bash/files/bash-3.0-afs.patch20
-rw-r--r--app-shells/bash/files/bash-3.0-array-stripping.patch18
-rw-r--r--app-shells/bash/files/bash-3.0-bash-logger.patch90
-rw-r--r--app-shells/bash/files/bash-3.0-configs.patch71
-rw-r--r--app-shells/bash/files/bash-3.0-crash.patch46
-rw-r--r--app-shells/bash/files/bash-3.0-cross-signals.patch91
-rw-r--r--app-shells/bash/files/bash-3.0-darwin-conn.patch20
-rw-r--r--app-shells/bash/files/bash-3.0-etc-inputrc.patch44
-rw-r--r--app-shells/bash/files/bash-3.0-force-static-linking.patch42
-rw-r--r--app-shells/bash/files/bash-3.0-gentoo.patch102
-rw-r--r--app-shells/bash/files/bash-3.0-histtimeformat.patch56
-rw-r--r--app-shells/bash/files/bash-3.0-invisible.patch39
-rw-r--r--app-shells/bash/files/bash-3.0-jobs.patch56
-rw-r--r--app-shells/bash/files/bash-3.0-local-array.patch19
-rw-r--r--app-shells/bash/files/bash-3.0-locale.patch112
-rw-r--r--app-shells/bash/files/bash-3.0-manpage.patch15
-rw-r--r--app-shells/bash/files/bash-3.0-multibyteifs.patch281
-rw-r--r--app-shells/bash/files/bash-3.0-parallel.patch13
-rw-r--r--app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch20
-rw-r--r--app-shells/bash/files/bash-3.0-posixtrap.patch30
-rw-r--r--app-shells/bash/files/bash-3.0-prompt.patch28
-rw-r--r--app-shells/bash/files/bash-3.0-pwd.patch16
-rw-r--r--app-shells/bash/files/bash-3.0-read-builtin-pipe.patch20
-rw-r--r--app-shells/bash/files/bash-3.0-read-e-segfault.patch26
-rw-r--r--app-shells/bash/files/bash-3.0-read-memleak.patch15
-rw-r--r--app-shells/bash/files/bash-3.0-rl-display.patch185
-rw-r--r--app-shells/bash/files/bash-3.0-rl-self-insert.patch79
-rw-r--r--app-shells/bash/files/bash-3.0-strnlen.patch179
-rw-r--r--app-shells/bash/files/bash-3.0-subshell.patch39
-rw-r--r--app-shells/bash/files/bash-3.0-trap-fg-signals.patch23
-rw-r--r--app-shells/bash/files/bash-3.0-ulimit.patch186
-rw-r--r--app-shells/bash/files/bash-3.0-utf8.patch47
-rw-r--r--app-shells/bash/files/bash-3.0-volatile-command.patch16
-rw-r--r--app-shells/bash/files/bash-3.1-bash-logger.patch90
-rw-r--r--app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch14
-rw-r--r--app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch52
-rw-r--r--app-shells/bash/files/bash-3.1-gentoo.patch68
-rw-r--r--app-shells/bash/files/bash-3.1-ulimit.patch122
-rw-r--r--app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch26
-rw-r--r--app-shells/bash/files/bash-3.2-ldflags-for-build.patch37
-rw-r--r--app-shells/bash/files/bash-3.2-loadables.patch239
-rw-r--r--app-shells/bash/files/bash-3.2-parallel-build.patch16
-rw-r--r--app-shells/bash/files/bash-3.2-process-subst.patch10
-rw-r--r--app-shells/bash/files/bash-3.2-redisplay-cursor.patch20
-rw-r--r--app-shells/bash/files/bash-3.2-ulimit.patch13
-rw-r--r--app-shells/bash/files/bash_logout9
-rw-r--r--app-shells/bash/files/bashrc86
-rw-r--r--app-shells/bash/files/dot-bash_logout6
-rw-r--r--app-shells/bash/files/dot-bash_profile5
-rw-r--r--app-shells/bash/files/dot-bashrc18
-rw-r--r--app-shells/bash/metadata.xml11
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>