diff options
author | eik <eik@FreeBSD.org> | 2004-07-30 22:01:13 +0000 |
---|---|---|
committer | eik <eik@FreeBSD.org> | 2004-07-30 22:01:13 +0000 |
commit | 8dfdc2d30351da9eaa652d57165ada2eafc3f9f3 (patch) | |
tree | 34eb297fe05ffb828703355ab9abcce6b0019cbc /shells | |
parent | a67fcd1679851996d433ab6662309142d4f844a3 (diff) | |
download | FreeBSD-ports-8dfdc2d30351da9eaa652d57165ada2eafc3f9f3.zip FreeBSD-ports-8dfdc2d30351da9eaa652d57165ada2eafc3f9f3.tar.gz |
Add bash3, The GNU Bourne-Again SHell version 3.00
http://cnswww.cns.cwru.edu/~chet/bash/NEWS
Diffstat (limited to 'shells')
43 files changed, 355 insertions, 958 deletions
diff --git a/shells/Makefile b/shells/Makefile index 067d584..c2f3f16 100644 --- a/shells/Makefile +++ b/shells/Makefile @@ -7,6 +7,7 @@ SUBDIR += bash-completion SUBDIR += bash1 SUBDIR += bash2 + SUBDIR += bash3 SUBDIR += es SUBDIR += esh SUBDIR += fd diff --git a/shells/bash/Makefile b/shells/bash/Makefile index 0f3fe1d..cf82560 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 4229981..a2436bd 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 40f7df4..0000000 --- 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 73c7e79..0000000 --- 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 24b7430..0000000 --- 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 4a896b3..0000000 --- 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 34ad179..0000000 --- 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 a109a5e..0000000 --- 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 457c442..0000000 --- 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 fc26ea1..0000000 --- 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 b4fc6ac..0000000 --- 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 ea8c49c..0000000 --- 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 4af39ca..0000000 --- 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 8ef29a8..0000000 --- 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 6f8b017..0000000 --- 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 fbbd9a8..0000000 --- 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 ad2eac3..0000000 --- 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 0000000..11ee3af --- /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 ad734fb..03f1dc8 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 0000000..b234a4d --- /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 6dab7e7..153c903 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%% diff --git a/shells/bash3/Makefile b/shells/bash3/Makefile index 0f3fe1d..cf82560 100644 --- a/shells/bash3/Makefile +++ b/shells/bash3/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/bash3/distinfo b/shells/bash3/distinfo index 4229981..a2436bd 100644 --- a/shells/bash3/distinfo +++ b/shells/bash3/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/bash3/files/patch-ac b/shells/bash3/files/patch-ac deleted file mode 100644 index 40f7df4..0000000 --- a/shells/bash3/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/bash3/files/patch-af b/shells/bash3/files/patch-af deleted file mode 100644 index 73c7e79..0000000 --- a/shells/bash3/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/bash3/files/patch-bashline.c b/shells/bash3/files/patch-bashline.c deleted file mode 100644 index 24b7430..0000000 --- a/shells/bash3/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/bash3/files/patch-builtins_shopt.def b/shells/bash3/files/patch-builtins_shopt.def deleted file mode 100644 index 4a896b3..0000000 --- a/shells/bash3/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/bash3/files/patch-config-bot.h b/shells/bash3/files/patch-config-bot.h deleted file mode 100644 index 34ad179..0000000 --- a/shells/bash3/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/bash3/files/patch-config.guess b/shells/bash3/files/patch-config.guess deleted file mode 100644 index a109a5e..0000000 --- a/shells/bash3/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/bash3/files/patch-config.sub b/shells/bash3/files/patch-config.sub deleted file mode 100644 index 457c442..0000000 --- a/shells/bash3/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/bash3/files/patch-doc_bash.1 b/shells/bash3/files/patch-doc_bash.1 deleted file mode 100644 index fc26ea1..0000000 --- a/shells/bash3/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/bash3/files/patch-doc_bashref.texi b/shells/bash3/files/patch-doc_bashref.texi deleted file mode 100644 index b4fc6ac..0000000 --- a/shells/bash3/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/bash3/files/patch-redir.c b/shells/bash3/files/patch-redir.c deleted file mode 100644 index ea8c49c..0000000 --- a/shells/bash3/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/bash3/files/patch-shmbutil.h b/shells/bash3/files/patch-shmbutil.h deleted file mode 100644 index 4af39ca..0000000 --- a/shells/bash3/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/bash3/files/patch-subst.c b/shells/bash3/files/patch-subst.c deleted file mode 100644 index 8ef29a8..0000000 --- a/shells/bash3/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/bash3/files/patch-terminal.c b/shells/bash3/files/patch-terminal.c deleted file mode 100644 index 6f8b017..0000000 --- a/shells/bash3/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/bash3/files/patch-tests_shopt.right b/shells/bash3/files/patch-tests_shopt.right deleted file mode 100644 index fbbd9a8..0000000 --- a/shells/bash3/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/bash3/files/patch-tests_shopt.tests b/shells/bash3/files/patch-tests_shopt.tests deleted file mode 100644 index ad2eac3..0000000 --- a/shells/bash3/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/bash3/pkg-deinstall b/shells/bash3/pkg-deinstall new file mode 100644 index 0000000..11ee3af --- /dev/null +++ b/shells/bash3/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/bash3/pkg-descr b/shells/bash3/pkg-descr index ad734fb..03f1dc8 100644 --- a/shells/bash3/pkg-descr +++ b/shells/bash3/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/bash3/pkg-install b/shells/bash3/pkg-install new file mode 100644 index 0000000..b234a4d --- /dev/null +++ b/shells/bash3/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/bash3/pkg-plist b/shells/bash3/pkg-plist index 6dab7e7..153c903 100644 --- a/shells/bash3/pkg-plist +++ b/shells/bash3/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%% |