Add bash3, The GNU Bourne-Again SHell version 3.00

http://cnswww.cns.cwru.edu/~chet/bash/NEWS
This commit is contained in:
Oliver Eikemeier 2004-07-30 22:01:13 +00:00
parent af7ed27f2b
commit f55e7a8694
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=115119
43 changed files with 353 additions and 956 deletions

View File

@ -7,6 +7,7 @@
SUBDIR += bash-completion
SUBDIR += bash1
SUBDIR += bash2
SUBDIR += bash3
SUBDIR += es
SUBDIR += esh
SUBDIR += fd

View File

@ -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
CONFIGURE_ARGS= --without-bash-malloc
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
.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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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/[-(].*//'`

View File

@ -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-* \

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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 */

View File

@ -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)
{

View File

@ -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 */

View File

@ -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

View File

@ -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

17
shells/bash/pkg-deinstall Normal file
View File

@ -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

View File

@ -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

16
shells/bash/pkg-install Normal file
View File

@ -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

View File

@ -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%%

View File

@ -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
CONFIGURE_ARGS= --without-bash-malloc
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
.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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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/[-(].*//'`

View File

@ -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-* \

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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 */

View File

@ -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)
{

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

16
shells/bash3/pkg-install Normal file
View File

@ -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

View File

@ -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%%