summaryrefslogtreecommitdiff
path: root/shells/bash
diff options
context:
space:
mode:
authorOliver Eikemeier <eik@FreeBSD.org>2004-07-30 22:01:13 +0000
committerOliver Eikemeier <eik@FreeBSD.org>2004-07-30 22:01:13 +0000
commitf55e7a8694086a36d186a34e07499a12c977bfd7 (patch)
treee69f5f716d2cb0fdac9cdb113b951cda4a4233f1 /shells/bash
parent- Update to 1.4.4 (diff)
Add bash3, The GNU Bourne-Again SHell version 3.00
http://cnswww.cns.cwru.edu/~chet/bash/NEWS
Notes
Notes: svn path=/head/; revision=115119
Diffstat (limited to 'shells/bash')
-rw-r--r--shells/bash/Makefile110
-rw-r--r--shells/bash/distinfo20
-rw-r--r--shells/bash/files/patch-ac14
-rw-r--r--shells/bash/files/patch-af14
-rw-r--r--shells/bash/files/patch-bashline.c118
-rw-r--r--shells/bash/files/patch-builtins_shopt.def22
-rw-r--r--shells/bash/files/patch-config-bot.h13
-rw-r--r--shells/bash/files/patch-config.guess10
-rw-r--r--shells/bash/files/patch-config.sub15
-rw-r--r--shells/bash/files/patch-doc_bash.116
-rw-r--r--shells/bash/files/patch-doc_bashref.texi37
-rw-r--r--shells/bash/files/patch-redir.c20
-rw-r--r--shells/bash/files/patch-shmbutil.h13
-rw-r--r--shells/bash/files/patch-subst.c27
-rw-r--r--shells/bash/files/patch-terminal.c14
-rw-r--r--shells/bash/files/patch-tests_shopt.right35
-rw-r--r--shells/bash/files/patch-tests_shopt.tests25
-rw-r--r--shells/bash/pkg-deinstall17
-rw-r--r--shells/bash/pkg-descr14
-rw-r--r--shells/bash/pkg-install16
-rw-r--r--shells/bash/pkg-plist86
21 files changed, 177 insertions, 479 deletions
diff --git a/shells/bash/Makefile b/shells/bash/Makefile
index 0f3fe1dcbf51..cf82560c341f 100644
--- a/shells/bash/Makefile
+++ b/shells/bash/Makefile
@@ -1,67 +1,77 @@
-# ex:ts=8
-# New ports collection makefile for: bash
-# Date created: 21 August 1994
-# Whom: jkh
+# New ports collection makefile for: bash3
+# Date created: 30 Jul 2004
+# Whom: Oliver Eikemeier
#
# $FreeBSD$
#
-PORTNAME= bash
-PORTVERSION= 2.05b.007
-PORTREVISION?= 1
-CATEGORIES= shells
-MASTER_SITES= ${MASTER_SITE_GNU} \
- ftp://ftp.cwru.edu/pub/bash/
+PORTNAME= bash
+PORTVERSION= 3.0
+CATEGORIES= shells
+MASTER_SITES= ${MASTER_SITE_GNU} \
+ ftp://ftp.cwru.edu/pub/%SUBDIR%/
MASTER_SITE_SUBDIR= bash
-DISTFILES= bash-${PORTVERSION:C/\....$//}.tar.gz
+
+MAINTAINER= eik@FreeBSD.org
+COMMENT= The GNU Project's Bourne Again SHell
+
+CONFLICTS= bash-[0-24-9].*
+LATEST_LINK= ${PKGNAMEPREFIX}bash3${PKGNAMESUFFIX}
+
+USE_REINPLACE= yes
+
+MAN1= bash.1 bashbug.1
+INFO= bash
+
+USE_REINPLACE= yes
+GNU_CONFIGURE= yes
+
.if !defined(NOPORTDOCS)
-DISTFILES+= bash-doc-${PORTVERSION:C/\....$//}.tar.gz
+PORTDOCS= CHANGES COMPAT NEWS POSIX RBASH
.endif
-PATCH_SITES= ${MASTER_SITE_GNU} \
- ftp://ftp.cwru.edu/pub/bash/bash-2.05b-patches/ \
- ${MASTER_SITE_LOCAL}
-PATCH_SITE_SUBDIR= bash/bash-2.05b-patches obrien
-PATCHFILES= bash205b-001 bash205b-002 bash205b-003 bash205b-004 \
- bash205b-005 bash205b-006 bash205b-007
-# msg00029.txt msg00031.txt msg00030.txt
-
-MAINTAINER= obrien@FreeBSD.org
-COMMENT= The GNU Bourne Again Shell
-
-.include <bsd.port.pre.mk>
-
-USE_REINPLACE= yes
-WRKSRC= ${WRKDIR}/bash-${PORTVERSION:C/\....$//}
-GNU_CONFIGURE= Yes
-CONFIGURE_ARGS= --with-installed-readline
-.if defined(WANT_STATIC_BASH) || defined(NO_DYNAMICROOT) || (defined(NOSHARED) && ( ${NOSHARED} != "no" && ${NOSHARED} != "NO" ))
-CONFIGURE_ENV= LDFLAGS=-static
+CONFIGURE_ARGS= --without-bash-malloc
+
+.if defined(WITHOUT_HELP)
+CONFIGURE_ARGS+= --disable-help-builtin
+PLIST_SUB+= HELP="@comment "
+.elif defined(WITH_INTEGRATED_HELPFILES)
+PLIST_SUB+= HELP="@comment "
.else
-CONFIGURE_ARGS+= --enable-static-link=no
+CONFIGURE_ARGS+= --enable-separate-helpfiles
+PLIST_SUB+= HELP=""
.endif
-MAN1= bash.1 bashbug.1
+
+.if defined(WITHOUT_NLS)
+CONFIGURE_ARGS+= --disable-nls
+PLIST_SUB+= NLS="@comment "
+.else
+USE_GETTEXT= yes
+PLIST_SUB+= NLS=""
+.endif
+
+CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+
+CPPFLAGS+= ${PTHREAD_CFLAGS} \
+ -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
post-patch:
- @${REINPLACE_CMD} -e "s,.FN /bin/bash,.FN ${PREFIX}/bin/bash," \
- ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}/doc/bash.1
+ @${REINPLACE_CMD} -e "s| /bin| ${PREFIX}/bin|g" ${WRKSRC}/doc/bash.1
+
+pre-install:
+ @${SETENV} PKG_PREFIX="${PREFIX}" PKG_DESTDIR="${DESTDIR}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL; \
post-install:
- ${CP} /etc/shells /etc/shells.bak
- (${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; ${ECHO_CMD} ${PREFIX}/bin/bash) >/etc/shells
- ${RM} /etc/shells.bak
.if !defined(NOPORTDOCS)
- ${MKDIR} ${DOCSDIR}
- ${INSTALL_MAN} \
- ${WRKDIR}/doc/article.ps \
- ${WRKDIR}/doc/bashref.ps \
- ${DOCSDIR}
- ${INSTALL_MAN} \
- ${WRKDIR}/doc/article.txt \
- ${DOCSDIR}
- ${BZIP2_CMD} -f ${DOCSDIR}/*.ps
+ @${MKDIR} ${DOCSDIR}
+ @for d in ${PORTDOCS}; do \
+ ${INSTALL_DATA} ${WRKSRC}/$${d} ${DESTDIR}${DOCSDIR}; \
+ done
.endif
+ @${SETENV} PKG_PREFIX="${PREFIX}" PKG_DESTDIR="${DESTDIR}" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; \
-.include <bsd.port.post.mk>
-
-CONFIGURE_TARGET:= --build=${CONFIGURE_TARGET}
+.include <bsd.port.mk>
diff --git a/shells/bash/distinfo b/shells/bash/distinfo
index 4229981eaa58..a2436bdddd95 100644
--- a/shells/bash/distinfo
+++ b/shells/bash/distinfo
@@ -1,18 +1,2 @@
-MD5 (bash-2.05b.tar.gz) = 5238251b4926d778dfe162f6ce729733
-SIZE (bash-2.05b.tar.gz) = 1956216
-MD5 (bash-doc-2.05b.tar.gz) = 511b2d07f0f401f686e8edc551a8e47f
-SIZE (bash-doc-2.05b.tar.gz) = 1733577
-MD5 (bash205b-001) = 94e520fa0272b06fb03fc46042095b62
-SIZE (bash205b-001) = 1132
-MD5 (bash205b-002) = 2957bbe5f6db1830d649d1071baba63c
-SIZE (bash205b-002) = 755
-MD5 (bash205b-003) = 2828e78563927b806246e2b4806ee0f5
-SIZE (bash205b-003) = 2356
-MD5 (bash205b-004) = 6bf89831209ba6d208943d2ebaa7fe3a
-SIZE (bash205b-004) = 1110
-MD5 (bash205b-005) = 311b7f0e3dabec51767bfabe6afd4ded
-SIZE (bash205b-005) = 2217
-MD5 (bash205b-006) = f8a86d0a66b51080f3fbc5cc34ef1a06
-SIZE (bash205b-006) = 3155
-MD5 (bash205b-007) = 37d2acecc9146883f9b331c03b274f21
-SIZE (bash205b-007) = 1072
+MD5 (bash-3.0.tar.gz) = 26c4d642e29b3533d8d754995bc277b3
+SIZE (bash-3.0.tar.gz) = 2418293
diff --git a/shells/bash/files/patch-ac b/shells/bash/files/patch-ac
deleted file mode 100644
index 40f7df40b148..000000000000
--- a/shells/bash/files/patch-ac
+++ /dev/null
@@ -1,14 +0,0 @@
-
-$FreeBSD$
-
---- configure.orig Tue Jul 16 22:31:47 2002
-+++ configure Wed Jul 24 23:54:26 2002
-@@ -1132,7 +1132,7 @@
- mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
- m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
- sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
--#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
-+*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
- *-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
- *-aix*) opt_bash_malloc=no ;; # AIX machines
- *-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
diff --git a/shells/bash/files/patch-af b/shells/bash/files/patch-af
deleted file mode 100644
index 73c7e7972ed3..000000000000
--- a/shells/bash/files/patch-af
+++ /dev/null
@@ -1,14 +0,0 @@
---- error.c.old Wed May 24 12:04:50 2000
-+++ error.c Wed May 24 12:05:21 2000
-@@ -465,9 +465,9 @@
- terminal. */
- void
- #if defined (PREFER_STDARG)
--trace (const char *format, ...)
-+bash_trace (const char *format, ...)
- #else
--trace (format, va_alist)
-+bash_trace (format, va_alist)
- const char *format;
- va_dcl
- #endif
diff --git a/shells/bash/files/patch-bashline.c b/shells/bash/files/patch-bashline.c
deleted file mode 100644
index 24b74307d966..000000000000
--- a/shells/bash/files/patch-bashline.c
+++ /dev/null
@@ -1,118 +0,0 @@
---- bashline.c.deo Tue May 7 12:52:42 2002
-+++ bashline.c Sun Sep 8 18:17:30 2002
-@@ -1873,10 +1874,6 @@
- }
- }
-
--/* Define NO_FORCE_FIGNORE if you want to match filenames that would
-- otherwise be ignored if they are the only possible matches. */
--/* #define NO_FORCE_FIGNORE */
--
- /* If FIGNORE is set, then don't match files with the given suffixes when
- completing filenames. If only one of the possibilities has an acceptable
- suffix, delete the others, else just return and let the completer
-@@ -1901,10 +1898,15 @@
- {
- char **newnames;
- int idx, nidx;
--#ifdef NO_FORCE_FIGNORE
- char **oldnames;
- int oidx;
--#endif
-+ char *no_force_fignore;
-+
-+
-+/* Set NO_FORCE_FIGNORE if you want to match filenames that would
-+ otherwise be ignored if they are the only possible matches. */
-+ no_force_fignore = get_string_value ("NO_FORCE_FIGNORE");
-+//fprintf(stderr, ">NO_FORCE_FIGNORE< is [%s]\n", no_force_fignore);
-
- /* If there is only one completion, see if it is acceptable. If it is
- not, free it up. In any case, short-circuit and return. This is a
-@@ -1912,13 +1914,12 @@
- if there is only one completion; it is the completion itself. */
- if (names[1] == (char *)0)
- {
--#ifndef NO_FORCE_FIGNORE
-- if ((*name_func) (names[0]) == 0)
-- {
-- free (names[0]);
-- names[0] = (char *)NULL;
-- }
--#endif
-+ if (!no_force_fignore)
-+ if ((*name_func) (names[0]) == 0)
-+ {
-+ free (names[0]);
-+ names[0] = (char *)NULL;
-+ }
- return;
- }
-
-@@ -1927,10 +1928,11 @@
- for (nidx = 1; names[nidx]; nidx++)
- ;
- newnames = strvec_create (nidx + 1);
--#ifdef NO_FORCE_FIGNORE
-- oldnames = strvec_create (nidx - 1);
-- oidx = 0;
--#endif
-+ if (no_force_fignore)
-+ {
-+ oldnames = strvec_create (nidx - 1);
-+ oidx = 0;
-+ }
-
- newnames[0] = names[0];
- for (idx = nidx = 1; names[idx]; idx++)
-@@ -1938,11 +1940,10 @@
- if ((*name_func) (names[idx]))
- newnames[nidx++] = names[idx];
- else
--#ifndef NO_FORCE_FIGNORE
-- free (names[idx]);
--#else
-- oldnames[oidx++] = names[idx];
--#endif
-+ if (no_force_fignore)
-+ oldnames[oidx++] = names[idx];
-+ else
-+ free (names[idx]);
- }
-
- newnames[nidx] = (char *)NULL;
-@@ -1950,21 +1951,23 @@
- /* If none are acceptable then let the completer handle it. */
- if (nidx == 1)
- {
--#ifndef NO_FORCE_FIGNORE
-- free (names[0]);
-- names[0] = (char *)NULL;
--#else
-- free (oldnames);
--#endif
-+ if (no_force_fignore)
-+ free (oldnames);
-+ else
-+ {
-+ free (names[0]);
-+ names[0] = (char *)NULL;
-+ }
- free (newnames);
- return;
- }
-
--#ifdef NO_FORCE_FIGNORE
-- while (oidx)
-- free (oldnames[--oidx]);
-- free (oldnames);
--#endif
-+ if (no_force_fignore)
-+ {
-+ while (oidx)
-+ free (oldnames[--oidx]);
-+ free (oldnames);
-+ }
-
- /* If only one is acceptable, copy it to names[0] and return. */
- if (nidx == 2)
diff --git a/shells/bash/files/patch-builtins_shopt.def b/shells/bash/files/patch-builtins_shopt.def
deleted file mode 100644
index 4a896b397684..000000000000
--- a/shells/bash/files/patch-builtins_shopt.def
+++ /dev/null
@@ -1,22 +0,0 @@
-
-$FreeBSD$
-
---- builtins/shopt.def.orig Tue Sep 11 21:55:06 2001
-+++ builtins/shopt.def Tue Nov 20 23:52:45 2001
-@@ -56,7 +56,7 @@
-
- #define OPTFMT "%-15s\t%s\n"
-
--extern int allow_null_glob_expansion, glob_dot_filenames;
-+extern int allow_null_glob_expansion, fail_glob_expansion, glob_dot_filenames;
- extern int cdable_vars, mail_warning, source_uses_path;
- extern int no_exit_on_failed_exec, print_shift_error;
- extern int check_hashed_filenames, promptvars, interactive_comments;
-@@ -140,6 +140,7 @@
- #endif
- { "nocaseglob", &glob_ignore_case, (shopt_set_func_t *)NULL },
- { "nullglob", &allow_null_glob_expansion, (shopt_set_func_t *)NULL },
-+ { "failglob", &fail_glob_expansion, (Function *)NULL },
- #if defined (PROGRAMMABLE_COMPLETION)
- { "progcomp", &prog_completion_enabled, (shopt_set_func_t *)NULL },
- #endif
diff --git a/shells/bash/files/patch-config-bot.h b/shells/bash/files/patch-config-bot.h
deleted file mode 100644
index 34ad17925f31..000000000000
--- a/shells/bash/files/patch-config-bot.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- config-bot.h.orig Sun Aug 25 20:34:26 2002
-+++ config-bot.h Sun Aug 25 20:38:07 2002
-@@ -108,7 +108,10 @@
- # include <wchar.h>
- # include <wctype.h>
- # if defined (HAVE_MBSRTOWCS) /* system is supposed to support XPG5 */
-+/*
-+ FreeBSD lies...
- # define HANDLE_MULTIBYTE 1
-+*/
- # endif
- #endif
-
diff --git a/shells/bash/files/patch-config.guess b/shells/bash/files/patch-config.guess
deleted file mode 100644
index a109a5e4f442..000000000000
--- a/shells/bash/files/patch-config.guess
+++ /dev/null
@@ -1,10 +0,0 @@
---- support/config.guess.orig Wed Apr 3 16:47:14 2002
-+++ support/config.guess Fri May 16 19:42:58 2003
-@@ -782,4 +782,7 @@
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
-+ amd64:FreeBSD:*:*)
-+ echo x86_64-unknown-freebsd
-+ exit 0 ;;
- *:FreeBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
diff --git a/shells/bash/files/patch-config.sub b/shells/bash/files/patch-config.sub
deleted file mode 100644
index 457c442391da..000000000000
--- a/shells/bash/files/patch-config.sub
+++ /dev/null
@@ -1,15 +0,0 @@
---- support/config.sub.orig Wed Apr 3 16:47:14 2002
-+++ support/config.sub Fri May 16 19:42:58 2003
-@@ -268,5 +268,5 @@
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
-- i*86 | x86_64)
-+ i*86 | x86_64 | amd64)
- basic_machine=$basic_machine-pc
- ;;
-@@ -282,4 +282,5 @@
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-+ | amd64-* \
- | arm-* | armbe-* | armle-* | armv*-* \
- | avr-* \
diff --git a/shells/bash/files/patch-doc_bash.1 b/shells/bash/files/patch-doc_bash.1
deleted file mode 100644
index fc26ea10be05..000000000000
--- a/shells/bash/files/patch-doc_bash.1
+++ /dev/null
@@ -1,16 +0,0 @@
-
-$FreeBSD$
-
---- doc/bash.1.orig Tue Nov 13 18:55:59 2001
-+++ doc/bash.1 Tue Nov 20 23:52:45 2001
-@@ -2473,6 +2473,10 @@
- .B nullglob
- option is set, and no matches are found,
- the word is removed.
-+If the
-+.B failglob
-+option is set, and no matches are found, an error message is printed
-+and the command is not executed.
- If the shell option
- .B nocaseglob
- is enabled, the match is performed without regard to the case
diff --git a/shells/bash/files/patch-doc_bashref.texi b/shells/bash/files/patch-doc_bashref.texi
deleted file mode 100644
index b4fc6acc6e6e..000000000000
--- a/shells/bash/files/patch-doc_bashref.texi
+++ /dev/null
@@ -1,37 +0,0 @@
-
-$FreeBSD$
-
---- doc/bashref.texi.orig Tue Nov 13 18:55:03 2001
-+++ doc/bashref.texi Tue Nov 20 23:52:45 2001
-@@ -1700,7 +1700,8 @@
- and replaced with an alphabetically sorted list of
- file names matching the pattern. If no matching file names are found,
- and the shell option @code{nullglob} is disabled, the word is left
--unchanged.
-+unchanged. If the @code{failglob} option is set, an error message is
-+printed and the commandline is not executed.
- If the @code{nullglob} option is set, and no matches are found, the word
- is removed.
- If the shell option @code{nocaseglob} is enabled, the match is performed
-@@ -1713,8 +1714,8 @@
- matched explicitly.
- In other cases, the @samp{.} character is not treated specially.
-
--See the description of @code{shopt} in @ref{Bash Builtins},
--for a description of the @code{nocaseglob}, @code{nullglob},
-+See the description of @code{shopt} in @ref{Bash Builtins}, for a
-+description of the @code{nocaseglob}, @code{nullglob}, @code{failglob}
- and @code{dotglob} options.
-
- The @env{GLOBIGNORE}
-@@ -3372,6 +3373,10 @@
- @item extglob
- If set, the extended pattern matching features described above
- (@pxref{Pattern Matching}) are enabled.
-+
-+@item failglob
-+If set, filenames that have globbing characters in them, but don't match
-+anything, will cause an error.
-
- @item histappend
- If set, the history list is appended to the file named by the value
diff --git a/shells/bash/files/patch-redir.c b/shells/bash/files/patch-redir.c
deleted file mode 100644
index ea8c49cb57a0..000000000000
--- a/shells/bash/files/patch-redir.c
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: files/patch-redir.c
-===================================================================
-RCS file: files/patch-redir.c
-diff -N files/patch-redir.c
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ files/patch-redir.c 20 Jun 2004 15:40:43 -0000
-@@ -0,0 +1,11 @@
-+--- redir.c.orig Sun Jun 20 18:00:47 2004
-++++ redir.c Sun Jun 20 18:01:25 2004
-+@@ -263,7 +263,7 @@
-+ int herelen, n, e;
-+
-+ herestr = expand_string_to_string (redirectee->word, 0);
-+- herelen = strlen (herestr);
-++ herelen = (herestr == NULL) ? 0 : strlen (herestr);
-+
-+ n = write (fd, herestr, herelen);
-+ if (n == herelen)
-
-
diff --git a/shells/bash/files/patch-shmbutil.h b/shells/bash/files/patch-shmbutil.h
deleted file mode 100644
index 4af39cae10ae..000000000000
--- a/shells/bash/files/patch-shmbutil.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- include/shmbutil.h.orig Sun Aug 25 20:35:01 2002
-+++ include/shmbutil.h Sun Aug 25 20:37:01 2002
-@@ -34,7 +34,10 @@
- # include <wchar.h>
- # include <wctype.h>
- # if defined (HAVE_MBSRTOWCS) /* system is supposed to support XPG5 */
-+/*
-+ FreeBSD lies...
- # define HANDLE_MULTIBYTE 1
-+*/
- # endif
- #endif /* HAVE_WCTYPE_H && HAVE_WCHAR_H */
-
diff --git a/shells/bash/files/patch-subst.c b/shells/bash/files/patch-subst.c
deleted file mode 100644
index 8ef29a8b5774..000000000000
--- a/shells/bash/files/patch-subst.c
+++ /dev/null
@@ -1,27 +0,0 @@
-
-$FreeBSD$
-
---- subst.c.orig Mon Nov 5 20:19:49 2001
-+++ subst.c Tue Nov 20 23:52:45 2001
-@@ -121,6 +121,9 @@
- a null file. */
- int allow_null_glob_expansion;
-
-+/* Non-zero means to signal an error when globbing fails to match. */
-+int fail_glob_expansion;
-+
- #if 0
- /* Variables to keep track of which words in an expanded word list (the
- output of expand_word_list_internal) are the result of globbing
-@@ -6132,6 +6135,11 @@
- {
- output_list = (WORD_LIST *)list_append (glob_list, output_list);
- PREPEND_LIST (tlist, disposables);
-+ }
-+ else if (fail_glob_expansion != 0)
-+ {
-+ report_error ("no match: %s", tlist->word->word);
-+ jump_to_top_level (DISCARD);
- }
- else if (allow_null_glob_expansion == 0)
- {
diff --git a/shells/bash/files/patch-terminal.c b/shells/bash/files/patch-terminal.c
deleted file mode 100644
index 6f8b017b0a3a..000000000000
--- a/shells/bash/files/patch-terminal.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- lib/readline/terminal.c.orig Tue Mar 5 02:23:09 2002
-+++ lib/readline/terminal.c Wed Jul 24 05:57:59 2002
-@@ -313,7 +313,11 @@
- { "ei", &_rl_term_ei },
- { "ic", &_rl_term_ic },
- { "im", &_rl_term_im },
-+#ifdef __FreeBSD__
-+ { "@7", &_rl_term_kH }, /* home down ?? */
-+#else
- { "kH", &_rl_term_kH }, /* home down ?? */
-+#endif
- { "kI", &_rl_term_kI }, /* insert */
- { "kd", &_rl_term_kd },
- { "ke", &_rl_term_ke }, /* end keypad mode */
diff --git a/shells/bash/files/patch-tests_shopt.right b/shells/bash/files/patch-tests_shopt.right
deleted file mode 100644
index fbbd9a8a27ff..000000000000
--- a/shells/bash/files/patch-tests_shopt.right
+++ /dev/null
@@ -1,35 +0,0 @@
-
-$FreeBSD$
-
---- tests/shopt.right.orig Wed May 9 19:40:39 2001
-+++ tests/shopt.right Tue Nov 20 23:52:45 2001
-@@ -22,6 +22,7 @@
- shopt -u no_empty_cmd_completion
- shopt -u nocaseglob
- shopt -u nullglob
-+shopt -u failglob
- shopt -s progcomp
- shopt -s promptvars
- shopt -u restricted_shell
-@@ -58,6 +59,7 @@
- shopt -u no_empty_cmd_completion
- shopt -u nocaseglob
- shopt -u nullglob
-+shopt -u failglob
- shopt -u restricted_shell
- shopt -u shift_verbose
- shopt -u xpg_echo
-@@ -78,6 +80,7 @@
- no_empty_cmd_completion off
- nocaseglob off
- nullglob off
-+failglob off
- restricted_shell off
- shift_verbose off
- xpg_echo off
-@@ -205,3 +208,5 @@
- --
- ./shopt.tests: shopt: xyz1: unknown shell option name
- ./shopt.tests: shopt: xyz1: unknown option name
-+tmp/l1 tmp/l2 tmp/*4 tmp/l3
-+./shopt.tests: no match: tmp/*4
diff --git a/shells/bash/files/patch-tests_shopt.tests b/shells/bash/files/patch-tests_shopt.tests
deleted file mode 100644
index ad2eac3d811e..000000000000
--- a/shells/bash/files/patch-tests_shopt.tests
+++ /dev/null
@@ -1,25 +0,0 @@
-
-$FreeBSD$
-
---- tests/shopt.tests.orig Tue Sep 21 17:49:32 1999
-+++ tests/shopt.tests Tue Nov 20 23:52:45 2001
-@@ -21,6 +21,7 @@
- shopt -u mailwarn
- shopt -u nocaseglob
- shopt -u nullglob
-+shopt -u failglob
- shopt -s promptvars
- shopt -u shift_verbose
- shopt -s sourcepath
-@@ -92,3 +93,11 @@
- builtin printf -- "--\n"
- shopt -p xyz1
- shopt -o -p xyz1
-+
-+mkdir tmp
-+touch tmp/l1 tmp/l2 tmp/l3
-+builtin echo tmp/l[12] tmp/*4 tmp/*3
-+shopt -s failglob
-+builtin echo tmp/l[12] tmp/*4 tmp/*3
-+rm -r tmp
-+shopt -u failglob
diff --git a/shells/bash/pkg-deinstall b/shells/bash/pkg-deinstall
new file mode 100644
index 000000000000..11ee3aff420d
--- /dev/null
+++ b/shells/bash/pkg-deinstall
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+case $2 in
+DEINSTALL)
+ if [ `id -u` -eq 0 ]; then
+ TMPSHELLS=`mktemp -t shells`
+ grep -v "^${PKG_PREFIX-/usr/local}/bin/bash\$" /etc/shells > "$TMPSHELLS"
+ cat "$TMPSHELLS" > /etc/shells
+ rm "$TMPSHELLS"
+ elif grep -qs "^${PKG_PREFIX-/usr/local}/bin/bash\$" /etc/shells; then
+ echo "Not root, please remove ${PKG_PREFIX-/usr/local}/bin/bash from /etc/shells manually"
+ fi
+ ;;
+esac
diff --git a/shells/bash/pkg-descr b/shells/bash/pkg-descr
index ad734fba0d65..03f1dc88912b 100644
--- a/shells/bash/pkg-descr
+++ b/shells/bash/pkg-descr
@@ -1,11 +1,7 @@
-Bash is the GNU Project's Bourne
-Again SHell, an interactive shell with Bourne shell syntax (/bin/sh);
+This is GNU Bash, version 3.0. Bash is the GNU Project's Bourne
+Again SHell, a complete implementation of the POSIX.2 shell spec,
but also with interactive command line editing, job control on
-architectures that support it, Csh-like history features and brace
-expansion, and a slew of other stuff. For more information on the
-features of Bash that are new to this type of shell, see the file
-`documentation/features.texi'. There is also a processed DVI file
-there, as well as a large man page.
+architectures that support it, csh-like features such as history
+substitution and brace expansion, and a slew of other features.
-WWW: http://www.gnu.org/software/bash/
- http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
+WWW: http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
diff --git a/shells/bash/pkg-install b/shells/bash/pkg-install
new file mode 100644
index 000000000000..b234a4db0e0a
--- /dev/null
+++ b/shells/bash/pkg-install
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+case $2 in
+POST-INSTALL)
+ if ! grep -qs "^${PKG_PREFIX-/usr/local}/bin/bash\$" /etc/shells; then
+ if [ `id -u` -eq 0 ]; then
+ echo "${PKG_PREFIX-/usr/local}/bin/bash" >> /etc/shells
+ else
+ echo "Not root, please add ${PKG_PREFIX-/usr/local}/bin/bash to /etc/shells manually"
+ fi
+ fi
+ ;;
+esac
diff --git a/shells/bash/pkg-plist b/shells/bash/pkg-plist
index 6dab7e763644..153c903a7ad9 100644
--- a/shells/bash/pkg-plist
+++ b/shells/bash/pkg-plist
@@ -1,12 +1,80 @@
@comment $FreeBSD$
bin/bash
-@exec echo "updating /etc/shells"; cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak; echo %D/%F) >/etc/shells
-@unexec echo "updating /etc/shells"; cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak) >/etc/shells
bin/bashbug
-@unexec install-info --delete %D/info/bash.info %D/info/dir
-info/bash.info
-@exec install-info %D/info/bash.info %D/info/dir
-%%PORTDOCS%%%%DOCSDIR%%/article.ps.bz2
-%%PORTDOCS%%%%DOCSDIR%%/bashref.ps.bz2
-%%PORTDOCS%%%%DOCSDIR%%/article.txt
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
+%%NLS%%share/locale/en@boldquot/LC_MESSAGES/bash.mo
+%%NLS%%share/locale/en@quot/LC_MESSAGES/bash.mo
+@comment gettext owns share/locale/en@boldquot/LC_MESSAGES
+@comment gettext owns share/locale/en@quot/LC_MESSAGES
+%%HELP%%%%DATADIR%%/alias
+%%HELP%%%%DATADIR%%/arith
+%%HELP%%%%DATADIR%%/arith_for
+%%HELP%%%%DATADIR%%/bg
+%%HELP%%%%DATADIR%%/bind
+%%HELP%%%%DATADIR%%/break
+%%HELP%%%%DATADIR%%/builtin
+%%HELP%%%%DATADIR%%/caller
+%%HELP%%%%DATADIR%%/case
+%%HELP%%%%DATADIR%%/cd
+%%HELP%%%%DATADIR%%/colon
+%%HELP%%%%DATADIR%%/command
+%%HELP%%%%DATADIR%%/compgen
+%%HELP%%%%DATADIR%%/complete
+%%HELP%%%%DATADIR%%/conditional
+%%HELP%%%%DATADIR%%/continue
+%%HELP%%%%DATADIR%%/declare
+%%HELP%%%%DATADIR%%/dirs
+%%HELP%%%%DATADIR%%/disown
+%%HELP%%%%DATADIR%%/dot
+%%HELP%%%%DATADIR%%/echo
+%%HELP%%%%DATADIR%%/enable
+%%HELP%%%%DATADIR%%/eval
+%%HELP%%%%DATADIR%%/exec
+%%HELP%%%%DATADIR%%/exit
+%%HELP%%%%DATADIR%%/export
+%%HELP%%%%DATADIR%%/false
+%%HELP%%%%DATADIR%%/fc
+%%HELP%%%%DATADIR%%/fg
+%%HELP%%%%DATADIR%%/fg_percent
+%%HELP%%%%DATADIR%%/for
+%%HELP%%%%DATADIR%%/function
+%%HELP%%%%DATADIR%%/getopts
+%%HELP%%%%DATADIR%%/grouping_braces
+%%HELP%%%%DATADIR%%/hash
+%%HELP%%%%DATADIR%%/help
+%%HELP%%%%DATADIR%%/history
+%%HELP%%%%DATADIR%%/if
+%%HELP%%%%DATADIR%%/jobs
+%%HELP%%%%DATADIR%%/kill
+%%HELP%%%%DATADIR%%/let
+%%HELP%%%%DATADIR%%/local
+%%HELP%%%%DATADIR%%/logout
+%%HELP%%%%DATADIR%%/popd
+%%HELP%%%%DATADIR%%/printf
+%%HELP%%%%DATADIR%%/pushd
+%%HELP%%%%DATADIR%%/pwd
+%%HELP%%%%DATADIR%%/read
+%%HELP%%%%DATADIR%%/readonly
+%%HELP%%%%DATADIR%%/return
+%%HELP%%%%DATADIR%%/select
+%%HELP%%%%DATADIR%%/set
+%%HELP%%%%DATADIR%%/shift
+%%HELP%%%%DATADIR%%/shopt
+%%HELP%%%%DATADIR%%/source
+%%HELP%%%%DATADIR%%/suspend
+%%HELP%%%%DATADIR%%/test
+%%HELP%%%%DATADIR%%/test_bracket
+%%HELP%%%%DATADIR%%/time
+%%HELP%%%%DATADIR%%/times
+%%HELP%%%%DATADIR%%/trap
+%%HELP%%%%DATADIR%%/true
+%%HELP%%%%DATADIR%%/type
+%%HELP%%%%DATADIR%%/typeset
+%%HELP%%%%DATADIR%%/ulimit
+%%HELP%%%%DATADIR%%/umask
+%%HELP%%%%DATADIR%%/unalias
+%%HELP%%%%DATADIR%%/unset
+%%HELP%%%%DATADIR%%/until
+%%HELP%%%%DATADIR%%/variable_help
+%%HELP%%%%DATADIR%%/wait
+%%HELP%%%%DATADIR%%/while
+%%HELP%%@dirrm %%DATADIR%%