summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-04-29 04:16:38 +0000
committerMike Frysinger <vapier@gentoo.org>2005-04-29 04:16:38 +0000
commit98f6536e87d8493ff18c5ac56e2673842b6209fc (patch)
tree7e256174540d957514f41e43349743ff7bdb9732 /app-shells
parentremove einfo message in epatch telling us how many patches we will apply (diff)
downloadhistorical-98f6536e87d8493ff18c5ac56e2673842b6209fc.tar.gz
historical-98f6536e87d8493ff18c5ac56e2673842b6209fc.tar.bz2
historical-98f6536e87d8493ff18c5ac56e2673842b6209fc.zip
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.
Package-Manager: portage-2.0.51.20-r5
Diffstat (limited to 'app-shells')
-rw-r--r--app-shells/bash/ChangeLog17
-rw-r--r--app-shells/bash/Manifest14
-rw-r--r--app-shells/bash/bash-3.0-r10.ebuild148
-rw-r--r--app-shells/bash/files/bash-3.0-afs.patch13
-rw-r--r--app-shells/bash/files/bash-3.0-crash.patch46
-rw-r--r--app-shells/bash/files/bash-3.0-darwin-conn.patch19
-rw-r--r--app-shells/bash/files/bash-3.0-manpage.patch11
-rw-r--r--app-shells/bash/files/bash-3.0-pwd.patch11
-rw-r--r--app-shells/bash/files/bash-3.0-read-e-segfault.patch26
-rw-r--r--app-shells/bash/files/bash-3.0-ulimit.patch74
-rw-r--r--app-shells/bash/files/bash_logout4
-rw-r--r--app-shells/bash/files/digest-bash-3.0-r1019
12 files changed, 398 insertions, 4 deletions
diff --git a/app-shells/bash/ChangeLog b/app-shells/bash/ChangeLog
index 588416d498bd..a7afe0772b76 100644
--- a/app-shells/bash/ChangeLog
+++ b/app-shells/bash/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for app-shells/bash
-# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.59 2005/03/30 05:11:37 vapier Exp $
+# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/ChangeLog,v 1.60 2005/04/29 04:16:38 vapier Exp $
+
+*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)
diff --git a/app-shells/bash/Manifest b/app-shells/bash/Manifest
index b29a364ae658..7f17aac5ce44 100644
--- a/app-shells/bash/Manifest
+++ b/app-shells/bash/Manifest
@@ -1,10 +1,11 @@
-MD5 1c4ba48f99e8e73bf0143e2d019c2f88 ChangeLog 12208
+MD5 4ec7eea4b79f8e6f54e825c530ff78c8 ChangeLog 12931
MD5 1c3d1b503b35b4719b1435d83b12a73e bash-2.05b-r11.ebuild 3742
MD5 017417fc2c09cbaecfe3837baa3e0227 bash-2.05b-r9.ebuild 3531
MD5 7f7feb247c305544c899366672599232 bash-3.0-r7.ebuild 4060
MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
MD5 ded385d3c69da943b2f408c18b4c6c21 bash-3.0-r8.ebuild 3949
MD5 761160a21f9a69be631b044d0be387e5 bash-3.0-r9.ebuild 4267
+MD5 6762f3043ebe0ff1026425928553488a bash-3.0-r10.ebuild 4713
MD5 edf95b873162f4548435c379e4998b4e files/bash-2.05b-empty-herestring.patch 836
MD5 90ba92c981c1d26e45d88ecd23a1fbf5 files/bash-2.05b-multibyte-locale.patch 1897
MD5 3b905c7c9341c9009bd68f14c047815e files/bash-2.05b-rbash.patch 804
@@ -15,8 +16,9 @@ MD5 4a3ebcb995491c2730d156b314cbab0b files/bash-3.0-etc-inputrc.patch 1223
MD5 28c9d7407d5332c29dddb656a4a1f1ce files/bash-3.0-invisible.patch 705
MD5 0392b634a7a02302d24ccc4a4b349423 files/bash-3.0-local-array.patch 275
MD5 1894aaae72806c410d851d046d13dd32 files/digest-bash-2.05b-r9 461
+MD5 09faf4bbe7fd8abc594b7f7225199cf7 files/digest-bash-3.0-r10 1049
MD5 694b8b1e47e4743e78ee5f7515f76542 files/bash-3.0-posixtrap.patch 789
-MD5 13a88fae79fed8f76999ec8fdca2f085 files/digest-bash-3.0-r9 976
+MD5 c8362f29e2f8e6cdfd3306c7bcce0439 files/bash-3.0-pwd.patch 583
MD5 96238e7d942d091ca71574ba7392e847 files/bash-3.0-array-stripping.patch 294
MD5 a2845a2a194bba75c1875f4a1ad49344 files/bash30-014 698
MD5 ca64aff9caa582e07e0b34ed87d60d80 files/bash-2.05b-jobs.patch 876
@@ -26,3 +28,11 @@ MD5 3d73159ab671b57a3f488c044e1a1f47 files/bash-2.05b-setlocale.patch 694
MD5 1894aaae72806c410d851d046d13dd32 files/digest-bash-2.05b-r11 461
MD5 13a88fae79fed8f76999ec8fdca2f085 files/digest-bash-3.0-r8 976
MD5 6bc03ea9b1de46a4789e8223f2224658 files/bash-3.0-read-builtin-pipe.patch 689
+MD5 ccc195288edb06eb44f4d5e2a9c1da62 files/bash-3.0-crash.patch 1191
+MD5 edac0c7e2accd7f60d64d6361913db6e files/bash-3.0-darwin-conn.patch 983
+MD5 b3345c5274b7b08ce50dc5ec0aa11197 files/bash-3.0-read-e-segfault.patch 825
+MD5 00cd6ee276de4810e2209dc426b133e4 files/bash-3.0-ulimit.patch 2659
+MD5 eea55a33e84dc42b1683592dc8113400 files/bash-3.0-afs.patch 428
+MD5 46c2816ee5909e997477063cdc050620 files/bash-3.0-manpage.patch 533
+MD5 4af330b479f27337b6e77fff11d6c468 files/bash_logout 132
+MD5 13a88fae79fed8f76999ec8fdca2f085 files/digest-bash-3.0-r9 976
diff --git a/app-shells/bash/bash-3.0-r10.ebuild b/app-shells/bash/bash-3.0-r10.ebuild
new file mode 100644
index 000000000000..cb2c2809e537
--- /dev/null
+++ b/app-shells/bash/bash-3.0-r10.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-3.0-r10.ebuild,v 1.1 2005/04/29 04:16:38 vapier Exp $
+
+inherit eutils flag-o-matic toolchain-funcs
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/
+PLEVEL=16
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html"
+# Hit the GNU mirrors before hitting Chet's site
+SRC_URI="mirror://gnu/bash/${P}.tar.gz
+ ftp://ftp.cwru.edu/pub/bash/${P}.tar.gz
+ mirror://gentoo/${P}-gentoo.diff.bz2
+ ftp://progn.org/pub/software/tools/bash-2.05b-preexec-0.3.diff.gz
+ $(for ((i=1; i<=PLEVEL; i++)); do
+ printf 'ftp://ftp.cwru.edu/pub/bash/bash-%s-patches/bash%s-%03d\n' \
+ ${PV} ${PV/\.} ${i}
+ printf 'mirror://gnu/bash/bash-%s-patches/bash%s-%03d\n' \
+ ${PV} ${PV/\.} ${i}
+ done)"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="nls build"
+
+# we link statically with ncurses
+DEPEND=">=sys-libs/ncurses-5.2-r2"
+RDEPEND=""
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd "${S}"
+ epatch "${DISTDIR}"/${P}-gentoo.diff.bz2
+
+ # Remove autoconf dependency
+ sed -i -e "/&& autoconf/d" Makefile.in
+
+ # Include official patches
+ local i
+ for ((i=1; i<=PLEVEL; i++)); do
+ epatch "${DISTDIR}"/${PN}${PV/\.}-$(printf '%03d' ${i})
+ done
+
+ # 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
+ epatch "${FILESDIR}"/${P}-etc-inputrc.patch
+ # Add preexec support #31414
+ epatch "${DISTDIR}"/bash-2.05b-preexec-0.3.diff.gz
+ # Fix network tests on Darwin #79124
+ epatch "${FILESDIR}"/${P}-darwin-conn.patch
+ # A bunch of fixes from fedora
+ epatch "${FILESDIR}"/${P}-{afs,crash,jobs,manpage,pwd,read-e-segfault,ulimit}.patch
+ # Fix read-builtin and the -u pipe option #87093
+ epatch "${FILESDIR}"/${P}-read-builtin-pipe.patch
+
+ # Enable SSH_SOURCE_BASHRC (#24762)
+ echo '#define SSH_SOURCE_BASHRC' >> config-top.h
+ # Enable system-wide bashrc (#26952)
+ echo '#define SYS_BASHRC "/etc/bash/bashrc"' >> config-top.h
+ # Enable system-wide logout (#90488)
+ echo '#define SYS_BASH_LOGOUT "/etc/bash/bash_logout"' >> config-top.h
+
+ # 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.
+ echo '#define PGRP_PIPE 1' >> config-bot.h
+
+ sed -i 's:-lcurses:-lncurses:' configure || die "sed configure"
+}
+
+src_compile() {
+ filter-flags -malign-double
+
+ 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.
+ #
+ # Martin Schlemmer <azarah@gentoo.org> (1 Sep 2002)
+ #use readline && myconf="--with-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"
+
+ echo 'int main(){}' > "${T}"/term-test.c
+ if ! $(tc-getCC) -static -lncurses "${T}"/term-test.c 2> /dev/null ; then
+ export bash_cv_termcap_lib=gnutermcap
+ else
+ export bash_cv_termcap_lib=libcurses
+ myconf="${myconf} --with-ncurses"
+ fi
+
+ econf \
+ --disable-profiling \
+ --without-gnu-malloc \
+ ${myconf} || die
+ # Make sure we always link statically with ncurses
+ sed -i "/^TERMCAP_LIB/s:-lncurses:-Wl,-Bstatic -lncurses -Wl,-Bdynamic:" Makefile || die "sed failed"
+ emake || die "make failed"
+}
+
+src_install() {
+ einstall || die
+
+ dodir /bin
+ mv "${D}"/usr/bin/bash "${D}"/bin/
+ [[ ${USERLAND} != "BSD" ]] && dosym bash /bin/sh
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/{bashrc,bash_logout}
+
+ if use build ; then
+ rm -rf "${D}"/usr
+ else
+ doman doc/*.1
+ dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
+ dosym bash.info.gz /usr/share/info/bashref.info.gz
+ fi
+}
+
+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
+}
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 000000000000..c7429cfe2f63
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-afs.patch
@@ -0,0 +1,13 @@
+--- 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-crash.patch b/app-shells/bash/files/bash-3.0-crash.patch
new file mode 100644
index 000000000000..984e85d82ed3
--- /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-darwin-conn.patch b/app-shells/bash/files/bash-3.0-darwin-conn.patch
new file mode 100644
index 000000000000..ef21eebf2094
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-darwin-conn.patch
@@ -0,0 +1,19 @@
+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/show_bug.cgi?id=79124
+
+--- /lib/sh/netconn.c
++++ /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-manpage.patch b/app-shells/bash/files/bash-3.0-manpage.patch
new file mode 100644
index 000000000000..070160323c7b
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-manpage.patch
@@ -0,0 +1,11 @@
+--- bash-3.0/doc/bash.1.manpage 2004-11-30 09:33:54.727381784 +0000
++++ bash-3.0/doc/bash.1 2004-11-30 09:34:06.799075585 +0000
+@@ -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-pwd.patch b/app-shells/bash/files/bash-3.0-pwd.patch
new file mode 100644
index 000000000000..09c62e64d333
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-pwd.patch
@@ -0,0 +1,11 @@
+--- 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-e-segfault.patch b/app-shells/bash/files/bash-3.0-read-e-segfault.patch
new file mode 100644
index 000000000000..e578631c424e
--- /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-ulimit.patch b/app-shells/bash/files/bash-3.0-ulimit.patch
new file mode 100644
index 000000000000..8fcffc8c479e
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-ulimit.patch
@@ -0,0 +1,74 @@
+--- bash-3.0/builtins/ulimit.def 2004-08-27 17:29:19.662577512 +0100
++++ bash-3.0/builtins/ulimit.def 2004-08-31 12:56:27.693244884 +0100
+@@ -35,14 +35,17 @@
+ -c the maximum size of core files created
+ -d the maximum size of a process's data segment
+ -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
+ -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
+@@ -200,6 +203,9 @@
+ { 'd', RLIMIT_DATA, 1024, "data seg size", "kbytes" },
+ #endif
+ { '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 +214,9 @@
+ #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_STACK
+ { 's', RLIMIT_STACK, 1024, "stack size", "kbytes" },
+ #endif
+@@ -221,6 +230,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 +659,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 +682,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");
diff --git a/app-shells/bash/files/bash_logout b/app-shells/bash/files/bash_logout
new file mode 100644
index 000000000000..2290669ff99e
--- /dev/null
+++ b/app-shells/bash/files/bash_logout
@@ -0,0 +1,4 @@
+# /etc/bash/bash_logout
+# $Id: bash_logout,v 1.1 2005/04/29 04:16:38 vapier Exp $
+
+# this file is executed when a login shell exits
diff --git a/app-shells/bash/files/digest-bash-3.0-r10 b/app-shells/bash/files/digest-bash-3.0-r10
new file mode 100644
index 000000000000..826f0877fd8c
--- /dev/null
+++ b/app-shells/bash/files/digest-bash-3.0-r10
@@ -0,0 +1,19 @@
+MD5 26c4d642e29b3533d8d754995bc277b3 bash-3.0.tar.gz 2418293
+MD5 220cdd45dc060fd41c2bd7c46e8a9064 bash-3.0-gentoo.diff.bz2 2423
+MD5 8ed4ddcddc35ed518a79cd448fca8d93 bash-2.05b-preexec-0.3.diff.gz 1774
+MD5 24a83f78a44a6029024371f02da174dd bash30-001 4999
+MD5 6f4cf2aa975a1fcc0cb43a406bd47ca5 bash30-002 2119
+MD5 c8bf41e78cda16d391b9099eeba01386 bash30-003 4669
+MD5 c069dffbb3f442aac3660b883ddd97f5 bash30-004 3372
+MD5 ad06309c623ff8e1b9f039d3b7eb97c2 bash30-005 1776
+MD5 f162bf93a76759bab37b29509a4a6e20 bash30-006 4258
+MD5 89903d92ca620921aecb3f1f30c05ebe bash30-007 1808
+MD5 9a295c02f46bc867fc096862c7380a88 bash30-008 1220
+MD5 786c7e2af1dca5104af92bbdc60f7474 bash30-009 2828
+MD5 f2d90d06ed445a285c8406016e9d9c13 bash30-010 3193
+MD5 9506c56968c58332489986633319a186 bash30-011 2635
+MD5 2753d4de0b57fc8890488463c5e86d3f bash30-012 1395
+MD5 5de5be8289764c11a3206b06351d81a6 bash30-013 1963
+MD5 d4b531e02b6a0287cffdbf527134ca29 bash30-014 1165
+MD5 adc1ab952b42ed0c0f53d1c308a32101 bash30-015 1480
+MD5 a3bb09a185e4c6a813227f3e84e4f6e5 bash30-016 2453