mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-20 04:02:27 +00:00
Add bash3, The GNU Bourne-Again SHell version 3.00
http://cnswww.cns.cwru.edu/~chet/bash/NEWS
This commit is contained in:
parent
af7ed27f2b
commit
f55e7a8694
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=115119
@ -7,6 +7,7 @@
|
||||
SUBDIR += bash-completion
|
||||
SUBDIR += bash1
|
||||
SUBDIR += bash2
|
||||
SUBDIR += bash3
|
||||
SUBDIR += es
|
||||
SUBDIR += esh
|
||||
SUBDIR += fd
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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
|
@ -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)
|
@ -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
|
@ -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
|
||||
|
@ -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/[-(].*//'`
|
@ -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-* \
|
@ -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
|
@ -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
|
@ -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)
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
{
|
@ -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 */
|
@ -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
|
@ -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
17
shells/bash/pkg-deinstall
Normal 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
|
@ -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
16
shells/bash/pkg-install
Normal 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
|
@ -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%%
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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
|
@ -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)
|
@ -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
|
@ -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
|
||||
|
@ -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/[-(].*//'`
|
@ -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-* \
|
@ -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
|
@ -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
|
@ -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)
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
{
|
@ -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 */
|
@ -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
|
@ -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/bash3/pkg-deinstall
Normal file
17
shells/bash3/pkg-deinstall
Normal 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
|
@ -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
16
shells/bash3/pkg-install
Normal 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
|
@ -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%%
|
||||
|
Loading…
Reference in New Issue
Block a user