Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Mar 2014 08:55:45 +0000 (UTC)
From:      Emanuel Haupt <ehaupt@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r346866 - in head: . shells/bash shells/bash-devel shells/bash-static-devel shells/bash/files
Message-ID:  <201403030855.s238tjDi014498@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ehaupt
Date: Mon Mar  3 08:55:45 2014
New Revision: 346866
URL: http://svnweb.freebsd.org/changeset/ports/346866
QAT: https://qat.redports.org/buildarchive/r346866/

Log:
  - Reset maintainer of shells/bash, shells/bash-static
  - Takeover maintainership
  - Merge changes from shells/bash-devel this updates the port to 4.3
  - Remove the now useless -devel ports
  - Document change in ports/MOVED
  
  Approved by:    portmgr (bapt)

Added:
  head/shells/bash/files/extrapatch-colonbreakswords   (contents, props changed)
  head/shells/bash/files/extrapatch-implicitcd   (contents, props changed)
  head/shells/bash/files/patch-doc_Makefile.in   (contents, props changed)
  head/shells/bash/files/patch-doc_bash.1   (contents, props changed)
  head/shells/bash/files/patch-doc_bashref.texi   (contents, props changed)
  head/shells/bash/files/patch-lib_readline_display.c   (contents, props changed)
Deleted:
  head/shells/bash-devel/
  head/shells/bash-static-devel/
  head/shells/bash/files/patch-doc::Makefile.in
  head/shells/bash/files/patch-doc::bash.1
  head/shells/bash/files/patch-doc::bashref.texi
  head/shells/bash/files/patch-lib::readline::display.c
  head/shells/bash/files/xpatch-colonbreakswords
  head/shells/bash/files/xpatch-implicitcd
  head/shells/bash/pkg-deinstall
  head/shells/bash/pkg-install
Modified:
  head/MOVED
  head/shells/bash/Makefile
  head/shells/bash/distinfo
  head/shells/bash/files/patch-config-top.h
  head/shells/bash/pkg-plist

Modified: head/MOVED
==============================================================================
--- head/MOVED	Mon Mar  3 08:53:57 2014	(r346865)
+++ head/MOVED	Mon Mar  3 08:55:45 2014	(r346866)
@@ -5579,3 +5579,5 @@ www/php52-session||2014-03-01|PHP 5.2 is
 www/php52-tidy||2014-03-01|PHP 5.2 is end-of-life
 lang/clang31||2014-03-01|Has expired: No remaining dependencies
 devel/llvm31||2014-03-01|Has expired: No remaining dependencies (except clang31)
+shells/bash-devel|shells/bash|2014-03-03|Maintainer reset, main port now properly maintained
+shells/bash-static-devel|shells/bash-static|2014-03-03|Maintainer reset, main port now properly maintained

Modified: head/shells/bash/Makefile
==============================================================================
--- head/shells/bash/Makefile	Mon Mar  3 08:53:57 2014	(r346865)
+++ head/shells/bash/Makefile	Mon Mar  3 08:55:45 2014	(r346866)
@@ -1,99 +1,65 @@
-# Created by: Oliver Eikemeier
+# Created by: Emanuel Haupt <ehaupt@FreeBSD.org>
 # $FreeBSD$
 
 PORTNAME=		bash
-PATCHLEVEL=		45
-PORTVERSION=		4.2.${PATCHLEVEL:S/^0//g}
-PORTREVISION?=		1
+PATCHLEVEL=		0
+PORTVERSION=		4.3.${PATCHLEVEL:S/^0//g}
+PORTREVISION?=		0
 CATEGORIES=		shells
-MASTER_SITES=		${MASTER_SITE_GNU:S/$/:bash/} \
-			ftp://ftp.cwru.edu/pub/%SUBDIR%/:faq
-MASTER_SITE_SUBDIR=	${PORTNAME}/:bash,faq
-DISTNAME=		${PORTNAME}-${PORTVERSION:R}
-DISTFILES=		${DISTNAME}${EXTRACT_SUFX}:bash
+MASTER_SITES=		GNU
+MASTER_SITE_SUBDIR=	${PORTNAME}
+DISTNAME=			${PORTNAME}-${PORTVERSION:R}
 DIST_SUBDIR=		${PORTNAME}
 EXTRACT_ONLY=		${DISTNAME}${EXTRACT_SUFX}
 
 PATCH_SITES=		${MASTER_SITE_GNU} \
 			ftp://ftp.cwru.edu/pub/%SUBDIR%/
 PATCH_SITE_SUBDIR=	${PORTNAME}/${DISTNAME}-patches/
-PATCHFILES!=		/usr/bin/jot -s " " -w \
-			${PORTNAME}${PORTVERSION:R:S/.//g}-%03d \
-			${PATCHLEVEL} 1 ${PATCHLEVEL}
 
-MAINTAINER=		obrien@FreeBSD.org
+MAINTAINER=		ehaupt@FreeBSD.org
 COMMENT=		The GNU Project's Bourne Again SHell
 
-IGNOREFILES=		FAQ
+LICENSE=		GPLv3
 
-OPTIONS_DEFINE=	IMPLICITCD COLONBREAKSWORDS HELP NLS STATIC SYSLOG
-OPTIONS_DEFAULT=	IMPLICITCD COLONBREAKSWORDS HELP
-IMPLICITCD_DESC=	Use directory name alone to cd into it
+OPTIONS_DEFINE=	IMPLICITCD COLONBREAKSWORDS HELP NLS STATIC SYSLOG DOCS
+OPTIONS_DEFAULT=IMPLICITCD COLONBREAKSWORDS HELP NLS
+IMPLICITCD_DESC=Use directory name alone to cd into it
 COLONBREAKSWORDS_DESC=	Colons break words
-HELP_DESC=		Install the help files
+HELP_DESC=		Enable builtin help
 
-USES+=			bison
+USES=			bison
+OPTIONS_SUB=		yes
 
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MIMPLICITCD}
-EXTRA_PATCHES+=		${PATCHDIR}/xpatch-implicitcd
-.endif
+IMPLICITCD_EXTRA_PATCHES=	${PATCHDIR}/extrapatch-implicitcd
+COLONBREAKSWORDS_EXTRA_PATCHES=	${PATCHDIR}/extrapatch-colonbreakswords
 
-.if ${PORT_OPTIONS:MCOLONBREAKSWORDS}
-EXTRA_PATCHES+=		${PATCHDIR}/xpatch-colonbreakswords
-.endif
+HELP_CONFIGURE_ENABLE=	help-builtin
+NLS_CONFIGURE_ENABLE=	nls
+NLS_USES=		gettext iconv
 
-INFO=			bash
+INFO=	bash
 
 MAKE_JOBS_UNSAFE=	yes
 GNU_CONFIGURE=		yes
 
-.if ${PORT_OPTIONS:MDOCS}
-.if !defined(WITH_INCLUDED_FAQ)
-DISTFILES+=		FAQ:faq
-.endif
-PORTDOCS=		FAQ INTRO CHANGES COMPAT NEWS POSIX RBASH
-.endif
+PORTDOCS=		FAQ INTRO CHANGES COMPAT NEWS POSIX RBASH README \
+			bash.html bashref.html
 
-CONFIGURE_ARGS=		--without-bash-malloc \
+CONFIGURE_ARGS+=	--without-bash-malloc \
 			--disable-rpath \
 			--enable-disabled-builtins
 
+.include <bsd.port.options.mk>
+
 .if ${PORT_OPTIONS:MSTATIC} || defined(NO_DYNAMICROOT) || (defined(NOSHARED) && ${NOSHARED:L} != "no")
 CONFIGURE_ARGS+=	--enable-static-link
-PKGNAMESUFFIX=	-static
-CONFLICTS+=	bash-[0-9]* bash-devel-[0-9]* bash-static-devel-[0-9]*
-.else
-CONFIGURE_ARGS+=	--enable-static-link=no
-CONFLICTS+=	bash-static-[0-9]* bash-devel-[0-9]* bash-static-devel-[0-9]*
-.endif
-
-.if ! ${PORT_OPTIONS:MHELP}
-CONFIGURE_ARGS+=	--disable-help-builtin
-PLIST_SUB+=		HELP="@comment "
-.elif defined(WITH_INTEGRATED_HELPFILES)
-PLIST_SUB+=		HELP="@comment "
+PKGNAMESUFFIX=		-static
+CONFLICTS+=		bash-[0-9]*
 .else
-CONFIGURE_ARGS+=	--enable-separate-helpfiles
-PLIST_SUB+=		HELP=""
+CONFIGURE_ARGS+=	--disable-static-link
+CONFLICTS+=		bash-static-[0-9]*
 .endif
 
-.if ${PORT_OPTIONS:MNLS}
-USES+=			gettext iconv
-PLIST_SUB+=		NLS=""
-.else
-CONFIGURE_ARGS+=	--disable-nls
-PLIST_SUB+=		NLS="@comment "
-.endif
-
-CPPFLAGS+=		${PTHREAD_CFLAGS} \
-			-I${LOCALBASE}/include
-LDFLAGS+=		-L${LOCALBASE}/lib
-
-CONFIGURE_ENV=		YACC="bison -y" \
-			bash_cv_dev_fd=absent
-
 post-patch:
 	@${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/doc/bash.1
 .if ${PORT_OPTIONS:MSYSLOG}
@@ -101,39 +67,29 @@ post-patch:
 	    -e "s|/\*.*#define SYSLOG_HISTORY .*\*/|#define SYSLOG_HISTORY|g" \
 	    ${WRKSRC}/config-top.h
 .endif
-.if ! ${PORT_OPTIONS:MNLS}
+.if empty(PORT_OPTIONS:MNLS)
 	@${REINPLACE_CMD} -e "s|@LIBICONV@||g" ${WRKSRC}/Makefile.in
 .endif
 
 post-configure:
 	@${FIND} ${WRKSRC} -name Makefile -print0 | ${XARGS} -0 \
 		${REINPLACE_CMD} -e "s|^DESTDIR *=|& ${DESTDIR}|"
-.if ! ${PORT_OPTIONS:MNLS}
-	@${REINPLACE_CMD} -e "s|#define HAVE_ICONV 1|#undef HAVE_ICONV|g" ${WRKSRC}/config.h
+.if empty(PORT_OPTIONS:MNLS)
+	@${REINPLACE_CMD} -e "s|#define HAVE_ICONV 1|#undef HAVE_ICONV|g" \
+		${WRKSRC}/config.h
 .endif
 
 pre-build:
 	@${ECHO_CMD} $$((${PORTREVISION}-1)) > ${WRKSRC}/.build
 
-pre-install:
-	@${SETENV} PKG_PREFIX="${STAGEDIR}${PREFIX}" \
-		${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
-
 post-install:
-	@cd ${STAGEDIR}${PREFIX}/bin ; ${LN} -sf bash rbash
-.if ${PORT_OPTIONS:MDOCS}
+	${LN} -sf bash ${STAGEDIR}${PREFIX}/bin/rbash
 	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-.if !defined(WITH_INCLUDED_FAQ)
-	@${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/FAQ \
-		${WRKSRC}/doc/INTRO ${STAGEDIR}${DOCSDIR}
-.else
-	@${INSTALL_DATA} ${WRKSRC}/doc/FAQ \
+	${INSTALL_DATA} ${WRKSRC}/doc/FAQ \
 		${WRKSRC}/doc/INTRO ${STAGEDIR}${DOCSDIR}
-.endif
-	@for d in ${PORTDOCS:NFAQ:NINTRO}; do \
+	for d in ${PORTDOCS:NFAQ:NINTRO:N*html}; do \
 		${INSTALL_DATA} ${WRKSRC}/$${d} ${STAGEDIR}${DOCSDIR}; \
 	done
-.endif
 
 regress: build
 	cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} test
@@ -141,6 +97,7 @@ regress: build
 ckp:
 	${MAKE} -DPATCH_DEBUG clean patch
 
+# requires ftp/ncftp3
 cklatest:
 	@${ECHO} -n "Currently at: "
 	@${MAKE} -V PATCHLEVEL

Modified: head/shells/bash/distinfo
==============================================================================
--- head/shells/bash/distinfo	Mon Mar  3 08:53:57 2014	(r346865)
+++ head/shells/bash/distinfo	Mon Mar  3 08:55:45 2014	(r346866)
@@ -1,93 +1,2 @@
-SHA256 (bash/bash-4.2.tar.gz) = a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8
-SIZE (bash/bash-4.2.tar.gz) = 7009201
-SHA256 (bash/bash42-001) = 8d6ca028576c4af23e660a2fbc2112221a11c8a785c0b37f033967e5cd12b47a
-SIZE (bash/bash42-001) = 2944
-SHA256 (bash/bash42-002) = febac927e199aceeba2004908d971d4afb49b521796c3f42d1166f9fbbfbcef9
-SIZE (bash/bash42-002) = 1780
-SHA256 (bash/bash42-003) = 5a0a7c15018c87348ea87cb0beea14345faf878dbb0e25c17fa70677194cb4cd
-SIZE (bash/bash42-003) = 6896
-SHA256 (bash/bash42-004) = 4e34b0f830d2583d56e14225a66937abc81f45bbafcd2eb49daf61c9462140c1
-SIZE (bash/bash42-004) = 1686
-SHA256 (bash/bash42-005) = a81749e73004b81cfdf0fe075bec365dc1fef756ee5e3fd142821e317d1459a0
-SIZE (bash/bash42-005) = 3424
-SHA256 (bash/bash42-006) = c91148945a2ddafa792682d7c8668c59e7e645eae1334b15b0d5d9ad22634bd1
-SIZE (bash/bash42-006) = 1187
-SHA256 (bash/bash42-007) = 405826acf443dd1084f236a15cb76d7f0ee2dbe5edff45c5fb836db571fb7e95
-SIZE (bash/bash42-007) = 1394
-SHA256 (bash/bash42-008) = 23080d11a60a78941210e2477f6bca066b45db03defa60da86fd765107ba2437
-SIZE (bash/bash42-008) = 2164
-SHA256 (bash/bash42-009) = e7ed5440b4c19765786e90e4f1ded43195d38b3e4d1c4b39fcc23de9a74ccb20
-SIZE (bash/bash42-009) = 2384
-SHA256 (bash/bash42-010) = acfc5482c25e6923116fcf4b4f7f6345b80f75ad7299749db4b736ad67aa43dc
-SIZE (bash/bash42-010) = 1818
-SHA256 (bash/bash42-011) = a491ae359a7ebbd7321aede561728289d71e1fc84777f402766a8afd4d261532
-SIZE (bash/bash42-011) = 1426
-SHA256 (bash/bash42-012) = 354433f1d2da02f1b9652cd20a5b85bbfb5bc2aaf79c42461ebd929d89b9b7b8
-SIZE (bash/bash42-012) = 4247
-SHA256 (bash/bash42-013) = 3412c5c6cbbce6c88592604aec054d8182ce64410038b5ecea69fc3968cf85ea
-SIZE (bash/bash42-013) = 1340
-SHA256 (bash/bash42-014) = b5a678e609858532735f94faedb5fabce00dfd6577a4e9ec5eec85fe682c8b33
-SIZE (bash/bash42-014) = 1434
-SHA256 (bash/bash42-015) = 2d876a8304bdf3d664e87e0a8d73bc4ccc100a9dd8c0d054e8649472d8748a98
-SIZE (bash/bash42-015) = 1991
-SHA256 (bash/bash42-016) = 2895ccbcf7fc98da73a8fa3ba7440aaf2bfaef6c0af8bdd3a9c39403cf03e2a6
-SIZE (bash/bash42-016) = 1410
-SHA256 (bash/bash42-017) = 73552444498c761d6073dd67ccfe043b36ef24bb418c266d91d9750884daee7f
-SIZE (bash/bash42-017) = 1399
-SHA256 (bash/bash42-018) = e2a9457172370d454d31b84bbcba758ee6394316dbe755374553b52aadbb494d
-SIZE (bash/bash42-018) = 1929
-SHA256 (bash/bash42-019) = a8b7cd02207656976016d93cab48e073cb5da002ceb27b7a63fc5ea62007eb56
-SIZE (bash/bash42-019) = 1415
-SHA256 (bash/bash42-020) = 494773f0d0078cb35372d24caa523b00d8fdbbaed71e41dc14c9e47579da3c6f
-SIZE (bash/bash42-020) = 1825
-SHA256 (bash/bash42-021) = a887a97be226575ecf483be2c76655bd6d1edde1cdfe199c27bd2e6baf32badc
-SIZE (bash/bash42-021) = 1532
-SHA256 (bash/bash42-022) = 9dcdf69df7f8cd2ba88d18c45a0d8f55fbe4f0e273411179db94dd6198b85c6b
-SIZE (bash/bash42-022) = 1395
-SHA256 (bash/bash42-023) = 5dc11394f1a6c887373c081396efd4f4cc04492696722c57a4811c207965f0bf
-SIZE (bash/bash42-023) = 1699
-SHA256 (bash/bash42-024) = 99c826bdd33bee281d0a9191550d62a24d0b256cd41c90afd10abd63a66b99e6
-SIZE (bash/bash42-024) = 1363
-SHA256 (bash/bash42-025) = 0db0646fd7a559d5702911192bdd387acbbc61cf3c29a34007c3ec840e275515
-SIZE (bash/bash42-025) = 3969
-SHA256 (bash/bash42-026) = e7e90cfaabbce3b4b9c699994e9d9ea4a2f084fd9f37788a80b0b70b47d323d2
-SIZE (bash/bash42-026) = 1577
-SHA256 (bash/bash42-027) = 0c1f6b7256fcc17f42c05f9bbb4138f8e8bb67e79c622c3485711b6f37f7ed42
-SIZE (bash/bash42-027) = 1461
-SHA256 (bash/bash42-028) = 204226de39ba81aaf3dd5a29cd59de052ec9f648538bb9e7f1c8150852b1ed7a
-SIZE (bash/bash42-028) = 1834
-SHA256 (bash/bash42-029) = d0b08c0817bc5acdb28b466727622a8422ca4d61188313cf162443b7f338f581
-SIZE (bash/bash42-029) = 16812
-SHA256 (bash/bash42-030) = 12594366591a136d8ccdcb8e218010f2ddab6be28a7f96d0ed32ca927e44afae
-SIZE (bash/bash42-030) = 5046
-SHA256 (bash/bash42-031) = 55f38c4d34775fbb063510c4222b195d998dd86f88288b64a6103e3812f8d9f9
-SIZE (bash/bash42-031) = 2047
-SHA256 (bash/bash42-032) = e3a8b563dbb1e5cb7ca85a53515da8b2941213973496d48c4cc5a11c604791ed
-SIZE (bash/bash42-032) = 2416
-SHA256 (bash/bash42-033) = f5d12790d69fdfb2f47ac86fa1ea1ecc088880141570273f38dfd3fa4a46434b
-SIZE (bash/bash42-033) = 1634
-SHA256 (bash/bash42-034) = 01c1f332101389cedf347c7736102966722a3b213900954e5d625bbc2f1e41b8
-SIZE (bash/bash42-034) = 1345
-SHA256 (bash/bash42-035) = cecde463b038b4849635ff0993d9b264fc92403e7ae0accb52c7877aeaed78df
-SIZE (bash/bash42-035) = 1920
-SHA256 (bash/bash42-036) = fe293a1bc92ac4d272ae9b9a0de3afef7c06145a2b52337a09cacccc5305aafa
-SIZE (bash/bash42-036) = 3123
-SHA256 (bash/bash42-037) = c7578cddd3bb2430689c740f58a03403800726dcd1268b28f91bf37f368e1674
-SIZE (bash/bash42-037) = 3483
-SHA256 (bash/bash42-038) = b8c9a81bdf206be58ba491dfad80373b3348af769e80aaf72f7611ddbbbe6d57
-SIZE (bash/bash42-038) = 1290
-SHA256 (bash/bash42-039) = f4f9300a60321a5088ae9e54052a64c4d3e876f9a3a17ca104d58fa38b9c1791
-SIZE (bash/bash42-039) = 1603
-SHA256 (bash/bash42-040) = b265f9caf3c7321f95bc8e0b9e2c46bd86c226f00f05e823699aafb83c4aaa6c
-SIZE (bash/bash42-040) = 1710
-SHA256 (bash/bash42-041) = 05cc1951bd9f6624088dd6067486ff47f1825e333273d7df5f1b06b23baaf5eb
-SIZE (bash/bash42-041) = 1463
-SHA256 (bash/bash42-042) = faaa5c1f456517b258b2a65eaa664dd6a01eeff73c8ca4447c3a6de371bbf304
-SIZE (bash/bash42-042) = 1571
-SHA256 (bash/bash42-043) = dc2683840f3e890a9c5f85338366ff6cd923285e558eb46aa818a03fa67c5c57
-SIZE (bash/bash42-043) = 2110
-SHA256 (bash/bash42-044) = 10d32d6c9ccdedb1d826f46468631d475f9dcf983fac087766e16df7b99766e6
-SIZE (bash/bash42-044) = 1871
-SHA256 (bash/bash42-045) = ddb7eff0f59d394a483b09feec3771d9026f81ba90afac32846a19b172b2986d
-SIZE (bash/bash42-045) = 1572
-SHA256 (bash/FAQ) = IGNORE
+SHA256 (bash/bash-4.3.tar.gz) = afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4
+SIZE (bash/bash-4.3.tar.gz) = 7955839

Added: head/shells/bash/files/extrapatch-colonbreakswords
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/shells/bash/files/extrapatch-colonbreakswords	Mon Mar  3 08:55:45 2014	(r346866)
@@ -0,0 +1,176 @@
+--- bashline.c.orig	2014-03-02 13:26:23.000000000 -0500
++++ bashline.c	2014-03-02 13:30:09.000000000 -0500
+@@ -255,6 +255,11 @@
+    host list. */
+ int perform_hostname_completion = 1;
+ 
++/* If non-zero, we do hostname completion, breaking words at `@' and
++   trying to complete the stuff after the `@' from our own internal
++   host list. */
++int colon_is_wordbreak = 1;
++
+ /* If non-zero, we don't do command completion on an empty line. */
+ int no_empty_command_completion;
+ 
+@@ -284,7 +289,8 @@
+ 
+ static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:";
+ static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:";
+-/* )) */
++static char *bash_nocolon_word_break_characters = " \t\n\"'@><=;|&(";
++/* ))) */
+ 
+ static const char *default_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~";	/*}*/
+ static char *custom_filename_quote_characters = 0;
+@@ -403,6 +409,80 @@
+   return (old_value);
+ }
+ 
++/* When this function returns, rl_completer_word_break_characters points to
++   dynamically allocated memory. */
++int
++enable_colon_wordbreak (on_or_off)
++     int on_or_off;
++{
++  int old_value;
++  char *at, *nv, *nval;
++
++  old_value = colon_is_wordbreak;
++
++  if (on_or_off)
++    {
++      colon_is_wordbreak = 1;
++      rl_filename_quote_characters = default_filename_quote_characters;
++    }
++  else
++    {
++      colon_is_wordbreak = 0;
++      rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!{~";   /*}*/
++    }
++
++  /* Now we need to figure out how to appropriately modify and assign
++     rl_completer_word_break_characters depending on whether we want
++     the colon to be a word break or not. */
++
++  /* If this is the first time this has been called
++     (bash_readline_initialized == 0), use the sames values as before, but
++     allocate new memory for rl_completer_word_break_characters. */
++
++  if (bash_readline_initialized == 0 &&
++      (rl_completer_word_break_characters == 0 ||
++       rl_completer_word_break_characters == rl_basic_word_break_characters))
++    {
++      if (on_or_off)
++       rl_completer_word_break_characters = savestring (bash_completer_word_break_characters);
++      else
++       rl_completer_word_break_characters = savestring (bash_nocolon_word_break_characters);
++    }
++  else
++    {
++      /* See if we have anything to do. */
++      at = strchr (rl_completer_word_break_characters, ':');
++      if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0))
++        return old_value;
++
++      /* We have something to do.  Do it. */
++      nval = (char *)xmalloc (strlen (rl_completer_word_break_characters) + 1 + on_or_off);
++
++      if (on_or_off == 0)
++       {
++         /* Turn it off -- just remove `:' from word break chars.  We want
++            to remove all occurrences of `:' from the char list, so we loop
++            rather than just copy the rest of the list over AT. */
++         for (nv = nval, at = rl_completer_word_break_characters; *at; )
++           if (*at != ':')
++             *nv++ = *at++;
++           else
++             at++;
++         *nv = '\0';
++       }
++      else
++       {
++         nval[0] = ':';
++         strcpy (nval + 1, rl_completer_word_break_characters);
++        }
++
++      free (rl_completer_word_break_characters);
++      rl_completer_word_break_characters = nval;
++    }
++
++  return (old_value);
++}
++
+ /* Called once from parse.y if we are going to use readline. */
+ void
+ initialize_readline ()
+@@ -573,8 +653,13 @@
+      completion is enabled. */
+   enable_hostname_completion (perform_hostname_completion);
+ 
++  /* This sets rl_completer_word_break_characters and rl_filename_quote_characters
++     to the appropriate values, depending on whether or not a colon
++     should break completion words or not. */
++  enable_colon_wordbreak (colon_is_wordbreak);
++
+   /* characters that need to be quoted when appearing in filenames. */
+-  rl_filename_quote_characters = default_filename_quote_characters;
++//  rl_filename_quote_characters = default_filename_quote_characters;
+   set_filename_bstab (rl_filename_quote_characters);
+ 
+   rl_filename_quoting_function = bash_quote_filename;
+--- builtins/shopt.def.orig	2014-03-02 13:30:44.000000000 -0500
++++ builtins/shopt.def	2014-03-02 13:31:38.000000000 -0500
+@@ -103,6 +103,8 @@
+ extern int complete_fullquote;
+ 
+ extern int enable_hostname_completion __P((int));
++extern int colon_is_wordbreak;
++extern int enable_colon_wordbreak __P((int));
+ #endif
+ 
+ #if defined (PROGRAMMABLE_COMPLETION)
+@@ -166,6 +168,9 @@
+   { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand },
+   { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL },
+ #endif
++#if defined (READLINE)
++  { "colonbreakswords", &colon_is_wordbreak, enable_colon_wordbreak },
++#endif
+   { "dotglob", &glob_dot_filenames, (shopt_set_func_t *)NULL },
+   { "execfail", &no_exit_on_failed_exec, (shopt_set_func_t *)NULL },
+   { "expand_aliases", &expand_aliases, (shopt_set_func_t *)NULL },
+--- doc/bash.1.orig	2014-03-02 13:32:14.000000000 -0500
++++ doc/bash.1	2014-03-02 13:32:40.000000000 -0500
+@@ -9252,6 +9252,18 @@
+ command in the same history entry.  This allows
+ easy re-editing of multi-line commands.
+ .TP 8
++.B colonbreakswords
++If set, and
++.B readline
++is being used, \fBbash\fP will treat \fB:\fP as
++separating word being completed (see
++.B Completing
++under
++.SM
++.B READLINE
++above).
++This is enabled by default.
++.TP 8
+ .B compat31
+ If set,
+ .B bash
+--- doc/bashref.texi.orig	2014-03-02 13:33:17.000000000 -0500
++++ doc/bashref.texi	2014-03-02 13:33:44.000000000 -0500
+@@ -4937,6 +4937,11 @@
+ command in the same history entry.  This allows
+ easy re-editing of multi-line commands.
+ 
++@item colonbreakswords
++If set, and Readline is being used, Bash will treat @samp{:} as
++separating word being completed (@pxref{Commands For Completion}).
++This option is enabled by default.
++
+ @item compat31
+ If set, Bash
+ changes its behavior to that of version 3.1 with respect to quoted

Added: head/shells/bash/files/extrapatch-implicitcd
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/shells/bash/files/extrapatch-implicitcd	Mon Mar  3 08:55:45 2014	(r346866)
@@ -0,0 +1,95 @@
+--- execute_cmd.c.orig	2014-03-02 13:15:12.000000000 -0500
++++ execute_cmd.c	2014-03-02 13:17:14.000000000 -0500
+@@ -199,6 +199,9 @@
+ 
+ static int execute_intern_function __P((WORD_DESC *, FUNCTION_DEF *));
+ 
++/* add an implicit `cd' if the command is the name of a directory */
++int implicitcd = 0;
++
+ /* Set to 1 if fd 0 was the subject of redirection to a subshell.  Global
+    so that reader_loop can set it to zero before executing a command. */
+ int stdin_redir;
+@@ -4111,6 +4114,20 @@
+ 
+   QUIT;
+ 
++  if (implicitcd && interactive_shell && words->next == NULL && func == 0 && builtin == 0)
++    {
++      struct stat finfo;
++
++      if ((stat (words->word->word, &finfo) == 0) && (S_ISDIR (finfo.st_mode)))
++       {
++         this_command_name = "cd";
++         last_shell_builtin = this_shell_builtin;
++         this_shell_builtin = builtin_address (this_command_name);
++         result = (*this_shell_builtin) (words);
++         goto return_result;
++       }
++    }
++
+   /* This command could be a shell builtin or a user-defined function.
+      We have already found special builtins by this time, so we do not
+      set builtin_is_special.  If this is a function or builtin, and we
+--- builtins/shopt.def.orig	2014-03-02 13:18:07.000000000 -0500
++++ builtins/shopt.def	2014-03-02 13:19:22.000000000 -0500
+@@ -83,6 +83,7 @@
+ extern int check_window_size;
+ extern int glob_ignore_case, match_ignore_case;
+ extern int hup_on_exit;
++extern int implicitcd;
+ extern int xpg_echo;
+ extern int gnu_error_format;
+ extern int check_jobs_at_exit;
+@@ -192,6 +193,7 @@
+   { "hostcomplete", &perform_hostname_completion, shopt_enable_hostname_completion },
+ #endif
+   { "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL },
++  { "implicitcd", &implicitcd, (shopt_set_func_t *)NULL },
+   { "interactive_comments", &interactive_comments, set_shellopts_after_change },
+   { "lastpipe", &lastpipe_opt, (shopt_set_func_t *)NULL },
+ #if defined (HISTORY)
+@@ -305,6 +307,7 @@
+   cdable_vars = mail_warning = 0;
+   no_exit_on_failed_exec = print_shift_error = 0;
+   check_hashed_filenames = cdspelling = expand_aliases = 0;
++  implicitcd = 0;
+ 
+   source_uses_path = promptvars = 1;
+ 
+--- doc/bash.1.orig	2014-03-02 13:19:59.000000000 -0500
++++ doc/bash.1	2014-03-02 13:21:10.000000000 -0500
+@@ -9480,6 +9480,15 @@
+ .B SIGHUP
+ to all jobs when an interactive login shell exits.
+ .TP 8
++.B implicitcd
++If this is set, a directory name typed as a command is treated as a
++request to change to that directory.
++This behavior is inhibited in non-interactive mode or for command
++strings with more than one word.
++Changing directory takes precedence over executing a like-named
++command, but it is done after alias substitutions.
++Tilde and variable expansions work as expected.
++.TP 8
+ .B interactive_comments
+ If set, allow a word beginning with
+ .B #
+--- doc/bashref.texi.orig	2014-03-02 13:21:54.000000000 -0500
++++ doc/bashref.texi	2014-03-02 13:22:31.000000000 -0500
+@@ -5118,6 +5118,15 @@
+ If set, Bash will send @code{SIGHUP} to all jobs when an interactive
+ login shell exits (@pxref{Signals}).
+ 
++@item implicitcd
++If this is set, a directory name typed as a command is treated as a
++request to change to that directory.
++This behavior is inhibited in non-interactive mode or for command
++strings with more than one word.
++Changing directory takes precedence over executing a like-named
++command, but it is done after alias substitutions.
++Tilde and variable expansions work as expected.
++
+ @item interactive_comments
+ Allow a word beginning with @samp{#}
+ to cause that word and all remaining characters on that

Modified: head/shells/bash/files/patch-config-top.h
==============================================================================
--- head/shells/bash/files/patch-config-top.h	Mon Mar  3 08:53:57 2014	(r346865)
+++ head/shells/bash/files/patch-config-top.h	Mon Mar  3 08:55:45 2014	(r346866)
@@ -1,10 +1,10 @@
---- config-top.h.orig	Wed Dec 28 19:52:23 2005
-+++ config-top.h	Wed Dec 28 19:54:12 2005
-@@ -52,18 +52,18 @@
+--- config-top.h.orig	2014-03-02 13:36:24.000000000 -0500
++++ config-top.h	2014-03-02 13:38:13.000000000 -0500
+@@ -59,18 +59,18 @@
  /* The default value of the PATH variable. */
  #ifndef DEFAULT_PATH_VALUE
  #define DEFAULT_PATH_VALUE \
--  "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:."
+-  "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:."
 +  "/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin"
  #endif
  

Added: head/shells/bash/files/patch-doc_Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/shells/bash/files/patch-doc_Makefile.in	Mon Mar  3 08:55:45 2014	(r346866)
@@ -0,0 +1,21 @@
+--- doc/Makefile.in.orig	2014-03-02 13:39:04.000000000 -0500
++++ doc/Makefile.in	2014-03-02 13:39:56.000000000 -0500
+@@ -167,7 +167,7 @@
+ bashref.dvi: $(BASHREF_FILES) $(HSUSER) $(RLUSER)
+ 	${SET_TEXINPUTS} $(TEXI2DVI) $(srcdir)/bashref.texi || { ${RM} $@ ; exit 1; }
+ 
+-bashref.info: $(BASHREF_FILES) $(HSUSER) $(RLUSER)
++bash.info: $(BASHREF_FILES) $(HSUSER) $(RLUSER)
+ 	$(MAKEINFO) --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi
+ 
+ # can also use:
+@@ -175,9 +175,6 @@
+ bashref.html: $(BASHREF_FILES) $(HSUSER) $(RLUSER)
+ 	$(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/bashref.texi
+ 
+-bash.info: bashref.info
+-	${SHELL} ${INFOPOST} < $(srcdir)/bashref.info > $@ ; \
+-
+ bash.txt: bash.1
+ bash.ps: bash.1
+ bash.html: bash.1 $(MAN2HTML)

Added: head/shells/bash/files/patch-doc_bash.1
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/shells/bash/files/patch-doc_bash.1	Mon Mar  3 08:55:45 2014	(r346866)
@@ -0,0 +1,20 @@
+--- doc/bash.1.orig	Wed Dec 28 19:44:28 2005
++++ doc/bash.1	Wed Dec 28 20:03:12 2005
+@@ -1897,7 +1897,7 @@
+ .SM
+ .B PROMPTING
+ below) and used as the primary prompt string.  The default value is
+-``\fB\es\-\ev\e$ \fP''.
++``\fB\eu\@\eh\e$ \fP''.
+ .TP
+ .B PS2
+ The value of this parameter is expanded as with
+@@ -8784,7 +8784,7 @@
+ .SH FILES
+ .PD 0
+ .TP
+-.FN /bin/bash
++.FN %%PREFIX%%/bin/bash
+ The \fBbash\fP executable
+ .TP
+ .FN /etc/profile

Added: head/shells/bash/files/patch-doc_bashref.texi
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/shells/bash/files/patch-doc_bashref.texi	Mon Mar  3 08:55:45 2014	(r346866)
@@ -0,0 +1,28 @@
+--- doc/bashref.texi.orig	2014-03-02 13:40:51.000000000 -0500
++++ doc/bashref.texi	2014-03-02 13:42:04.000000000 -0500
+@@ -1,6 +1,6 @@
+ \input texinfo.tex @c -*- texinfo -*-
+ @c %**start of header
+-@setfilename bashref.info
++@setfilename bash.info
+ @settitle Bash Reference Manual
+ 
+ @include version.texi
+@@ -8,7 +8,7 @@
+ 
+ @copying
+ This text is a brief description of the features that are present in
+-the Bash shell (version @value{VERSION}, @value{UPDATED}).
++the Bash shell (version @value{VERSION}, @value{UPDATED})
+ 
+ This is Edition @value{EDITION}, last updated @value{UPDATED},
+ of @cite{The GNU Bash Reference Manual},
+@@ -5299,7 +5299,7 @@
+ 
+ 
+ @item PS1
+-The primary prompt string.  The default value is @samp{\s-\v\$ }.
++The primary prompt string.  The default value is @samp{[\u@@\h \w]\$ }.
+ @xref{Controlling the Prompt}, for the complete list of escape
+ sequences that are expanded before @env{PS1} is displayed.
+ 

Added: head/shells/bash/files/patch-lib_readline_display.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/shells/bash/files/patch-lib_readline_display.c	Mon Mar  3 08:55:45 2014	(r346866)
@@ -0,0 +1,11 @@
+--- lib/readline/display.c.orig	2009-01-04 11:32:32.000000000 -0800
++++ lib/readline/display.c	2009-03-08 00:51:31.000000000 -0800
+@@ -654,5 +654,8 @@ rl_redisplay ()
+   /* inv_lbreaks[i] is where line i starts in the buffer. */
+   inv_lbreaks[newlines = 0] = 0;
++  if (local_prompt)
+   lpos = prompt_physical_chars + modmark;
++  else
++    lpos = 0;
+ 
+ #if defined (HANDLE_MULTIBYTE)

Modified: head/shells/bash/pkg-plist
==============================================================================
--- head/shells/bash/pkg-plist	Mon Mar  3 08:53:57 2014	(r346865)
+++ head/shells/bash/pkg-plist	Mon Mar  3 08:55:45 2014	(r346866)
@@ -1,90 +1,19 @@
 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; rm -f /etc/shells.bak
+@unexec echo "Updating /etc/shells"; cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak) >/etc/shells; rm -f /etc/shells.bak
 bin/rbash
+@exec cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak; echo %D/%F) >/etc/shells; rm -f /etc/shells.bak
+@unexec cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak) >/etc/shells; rm -f /etc/shells.bak
 bin/bashbug
 man/man1/bash.1.gz
 man/man1/bashbug.1.gz
-%%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%%/compopt
-%%HELP%%%%DATADIR%%/conditional
-%%HELP%%%%DATADIR%%/continue
-%%HELP%%%%DATADIR%%/coproc
-%%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%%/mapfile
-%%HELP%%%%DATADIR%%/popd
-%%HELP%%%%DATADIR%%/printf
-%%HELP%%%%DATADIR%%/pushd
-%%HELP%%%%DATADIR%%/pwd
-%%HELP%%%%DATADIR%%/read
-%%HELP%%%%DATADIR%%/readarray
-%%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%%
 %%NLS%%share/locale/af/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/bg/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/ca/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/cs/LC_MESSAGES/bash.mo
+%%NLS%%share/locale/da/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/de/LC_MESSAGES/bash.mo
+%%NLS%%share/locale/el/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/en@boldquot/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/en@quot/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/eo/LC_MESSAGES/bash.mo
@@ -93,8 +22,11 @@ man/man1/bashbug.1.gz
 %%NLS%%share/locale/fi/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/fr/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/ga/LC_MESSAGES/bash.mo
+%%NLS%%share/locale/gl/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/hu/LC_MESSAGES/bash.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/id/LC_MESSAGES/bash.mo
+%%NLS%%share/locale/it/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/ja/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/lt/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/nl/LC_MESSAGES/bash.mo
@@ -103,6 +35,8 @@ man/man1/bashbug.1.gz
 %%NLS%%share/locale/ro/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/ru/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/sk/LC_MESSAGES/bash.mo
+%%NLS%%share/locale/sl/LC_MESSAGES/bash.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/sv/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/tr/LC_MESSAGES/bash.mo
 %%NLS%%share/locale/uk/LC_MESSAGES/bash.mo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403030855.s238tjDi014498>