The attached patch updates to bash-4.3, and cleans up the Makefile. A number of obrien-isms are removed, OPTIONS helpers are used, unnecessary additions have been removed, and spacing is evened to assuage my OCD. I'm not really sure what is going on with the STATIC section. Do we still need the defined(NO_DYNAMICROOT) || (defined(NOSHARED) && ${NOSHARED:L} != "no") stuff? If not, you can replace it all with STATIC_CONFIGURE_ENABLE. Also, do we still need a separate -static port? It seems unnecessary.
Responsible Changed From-To: freebsd-ports-bugs->ehaupt Over to maintainer (via the GNATS Auto Assign Tool)
Author: ehaupt Date: Mon Mar 3 07:26:37 2014 New Revision: 346860 URL: http://svnweb.freebsd.org/changeset/ports/346860 QAT: https://qat.redports.org/buildarchive/r346860/ Log: Update to 4.3 and also do a major Makefile cleanup by using new OPTIONS helper. PR: 187206 Submitted by: adamw Modified: head/shells/bash-devel/Makefile head/shells/bash-devel/distinfo head/shells/bash-devel/files/extrapatch-colonbreakswords head/shells/bash-devel/files/extrapatch-implicitcd head/shells/bash-devel/files/patch-config-top.h head/shells/bash-devel/files/patch-doc_Makefile.in head/shells/bash-devel/files/patch-doc_bashref.texi head/shells/bash-devel/pkg-plist Modified: head/shells/bash-devel/Makefile ============================================================================== --- head/shells/bash-devel/Makefile Mon Mar 3 07:16:11 2014 (r346859) +++ head/shells/bash-devel/Makefile Mon Mar 3 07:26:37 2014 (r346860) @@ -2,23 +2,19 @@ # $FreeBSD$ PORTNAME= bash -PATCHLEVEL= 45 -PORTVERSION= 4.2.${PATCHLEVEL:S/^0//g} -PORTREVISION?= 2 +PATCHLEVEL= 0 +PORTVERSION= 4.3.${PATCHLEVEL:S/^0//g} +PORTREVISION?= 0 CATEGORIES= shells MASTER_SITES= GNU MASTER_SITE_SUBDIR= ${PORTNAME} -DISTNAME= ${PORTNAME}-${PORTVERSION:R} -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} +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= ehaupt@FreeBSD.org COMMENT= The GNU Project's Bourne Again SHell @@ -27,63 +23,43 @@ LICENSE= GPLv3 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 +IMPLICITCD_DESC=Use directory name alone to cd into it COLONBREAKSWORDS_DESC= Colons break words HELP_DESC= Enable builtin help USES= bison +OPTIONS_SUB= yes -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MIMPLICITCD} -EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-implicitcd -.endif +IMPLICITCD_EXTRA_PATCHES= ${PATCHDIR}/extrapatch-implicitcd +COLONBREAKSWORDS_EXTRA_PATCHES= ${PATCHDIR}/extrapatch-colonbreakswords -.if ${PORT_OPTIONS:MCOLONBREAKSWORDS} -EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-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 -PORTDOCS= FAQ INTRO CHANGES COMPAT NEWS POSIX RBASH +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-devel CONFLICTS+= bash-[0-9]* bash-static-[0-9]* bash-devel-[0-9]* .else -CONFIGURE_ARGS+= --enable-static-link=no +CONFIGURE_ARGS+= --disable-static-link PKGNAMESUFFIX= -devel CONFLICTS+= bash-static-[0-9]* bash-[0-9]* bash-static-devel-[0-9]* .endif -.if empty(PORT_OPTIONS:MHELP) -CONFIGURE_ARGS+= --disable-help-builtin -.endif - -.if empty(PORT_OPTIONS:MNLS) -CONFIGURE_ARGS+= --disable-nls -PLIST_SUB+= NLS="@comment " -.else -USES+= gettext iconv -PLIST_SUB+= NLS="" -.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} @@ -106,11 +82,11 @@ pre-build: @${ECHO_CMD} $$((${PORTREVISION}-1)) > ${WRKSRC}/.build post-install: - @cd ${STAGEDIR}${PREFIX}/bin ; ${LN} -sf bash rbash + ${LN} -sf bash ${STAGEDIR}${PREFIX}/bin/rbash @${MKDIR} ${STAGEDIR}${DOCSDIR} - @${INSTALL_DATA} ${WRKSRC}/doc/FAQ \ + ${INSTALL_DATA} ${WRKSRC}/doc/FAQ \ ${WRKSRC}/doc/INTRO ${STAGEDIR}${DOCSDIR} - @for d in ${PORTDOCS:NFAQ:NINTRO}; do \ + for d in ${PORTDOCS:NFAQ:NINTRO:N*html}; do \ ${INSTALL_DATA} ${WRKSRC}/$${d} ${STAGEDIR}${DOCSDIR}; \ done Modified: head/shells/bash-devel/distinfo ============================================================================== --- head/shells/bash-devel/distinfo Mon Mar 3 07:16:11 2014 (r346859) +++ head/shells/bash-devel/distinfo Mon Mar 3 07:26:37 2014 (r346860) @@ -1,92 +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/bash-4.3.tar.gz) = afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4 +SIZE (bash/bash-4.3.tar.gz) = 7955839 Modified: head/shells/bash-devel/files/extrapatch-colonbreakswords ============================================================================== --- head/shells/bash-devel/files/extrapatch-colonbreakswords Mon Mar 3 07:16:11 2014 (r346859) +++ head/shells/bash-devel/files/extrapatch-colonbreakswords Mon Mar 3 07:26:37 2014 (r346860) @@ -1,6 +1,6 @@ ---- bashline.c.orig 2009-01-08 06:29:24.000000000 -0800 -+++ bashline.c 2012-07-30 15:07:10.000000000 -0500 -@@ -235,6 +235,11 @@ int bash_readline_initialized = 0; +--- 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; @@ -12,7 +12,7 @@ /* If non-zero, we don't do command completion on an empty line. */ int no_empty_command_completion; -@@ -252,7 +257,8 @@ int dircomplete_expand_relpath = 0; +@@ -284,7 +289,8 @@ static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:"; static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:"; @@ -22,7 +22,7 @@ static const char *default_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/ static char *custom_filename_quote_characters = 0; -@@ -370,6 +376,80 @@ enable_hostname_completion (on_or_off) +@@ -403,6 +409,80 @@ return (old_value); } @@ -45,7 +45,7 @@ + else + { + colon_is_wordbreak = 0; -+ rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!{~"; /*}*/ ++ rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!{~"; /*}*/ + } + + /* Now we need to figure out how to appropriately modify and assign @@ -57,13 +57,13 @@ + 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 == 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); ++ rl_completer_word_break_characters = savestring (bash_completer_word_break_characters); + else -+ rl_completer_word_break_characters = savestring (bash_nocolon_word_break_characters); ++ rl_completer_word_break_characters = savestring (bash_nocolon_word_break_characters); + } + else + { @@ -76,21 +76,21 @@ + 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'; -+ } ++ { ++ /* 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); ++ { ++ nval[0] = ':'; ++ strcpy (nval + 1, rl_completer_word_break_characters); + } + + free (rl_completer_word_break_characters); @@ -103,7 +103,7 @@ /* Called once from parse.y if we are going to use readline. */ void initialize_readline () -@@ -538,8 +618,13 @@ initialize_readline () +@@ -573,8 +653,13 @@ completion is enabled. */ enable_hostname_completion (perform_hostname_completion); @@ -115,13 +115,13 @@ /* 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; - rl_filename_dequoting_function = bash_dequote_filename; ---- builtins/shopt.def.orig 2009-01-13 05:43:16.000000000 -0800 -+++ builtins/shopt.def 2009-03-08 01:03:39.000000000 -0800 -@@ -96,6 +97,8 @@ extern int force_fignore; - extern int dircomplete_spelling; +--- 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; @@ -129,8 +129,8 @@ #endif #if defined (PROGRAMMABLE_COMPLETION) -@@ -147,6 +150,9 @@ static struct { - #if defined (READLINE) +@@ -166,6 +168,9 @@ + { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand }, { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL }, #endif +#if defined (READLINE) @@ -139,9 +139,9 @@ { "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 2009-03-08 00:53:01.000000000 -0800 -+++ doc/bash.1 2009-03-08 01:05:32.000000000 -0800 -@@ -8473,6 +8473,18 @@ attempts to save all lines of a multiple +--- 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 @@ -160,9 +160,9 @@ .B compat31 If set, .B bash ---- doc/bashref.texi.orig 2009-03-08 00:53:01.000000000 -0800 -+++ doc/bashref.texi 2009-03-08 01:07:00.000000000 -0800 -@@ -4321,6 +4321,11 @@ attempts to save all lines of a multiple +--- 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. @@ -171,3 +171,6 @@ +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 Modified: head/shells/bash-devel/files/extrapatch-implicitcd ============================================================================== --- head/shells/bash-devel/files/extrapatch-implicitcd Mon Mar 3 07:16:11 2014 (r346859) +++ head/shells/bash-devel/files/extrapatch-implicitcd Mon Mar 3 07:26:37 2014 (r346860) @@ -1,12 +1,8 @@ -# -# new shopt `implicitcd' -# http://lists.gnu.org/archive/html/bug-bash/2004-09/msg00024.html -# ---- execute_cmd.c.orig Sat Nov 5 17:37:21 2005 -+++ execute_cmd.c Wed Dec 28 19:38:09 2005 -@@ -190,6 +190,9 @@ - /* The line number that the currently executing function starts on. */ - static int function_line_number; +--- 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; @@ -14,56 +10,56 @@ /* 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; -@@ -2913,6 +2916,20 @@ - this_command_name = words->word->word; +@@ -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_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 ---- builtins/shopt.def.orig Sat Feb 19 19:25:03 2005 -+++ builtins/shopt.def Wed Dec 28 19:38:09 2005 -@@ -66,6 +66,7 @@ + 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; - -@@ -145,6 +146,7 @@ - { "hostcomplete", &perform_hostname_completion, enable_hostname_completion }, + 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) - { "lithist", &literal_history, (shopt_set_func_t *)NULL }, -@@ -253,6 +255,7 @@ +@@ -305,6 +307,7 @@ cdable_vars = mail_warning = 0; no_exit_on_failed_exec = print_shift_error = 0; - check_hashed_filenames = cdspelling = expand_aliases = check_window_size = 0; + check_hashed_filenames = cdspelling = expand_aliases = 0; + implicitcd = 0; source_uses_path = promptvars = 1; ---- doc/bash.1.orig Wed Oct 12 12:40:52 2005 -+++ doc/bash.1 Wed Dec 28 19:38:09 2005 -@@ -8090,6 +8090,15 @@ +--- 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 @@ -79,9 +75,9 @@ .B interactive_comments If set, allow a word beginning with .B # ---- doc/bashref.texi.orig Mon Oct 3 16:07:21 2005 -+++ doc/bashref.texi Wed Dec 28 19:38:09 2005 -@@ -3697,6 +3697,15 @@ +--- 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}). Modified: head/shells/bash-devel/files/patch-config-top.h ============================================================================== --- head/shells/bash-devel/files/patch-config-top.h Mon Mar 3 07:16:11 2014 (r346859) +++ head/shells/bash-devel/files/patch-config-top.h Mon Mar 3 07:26:37 2014 (r346860) @@ -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 Modified: head/shells/bash-devel/files/patch-doc_Makefile.in ============================================================================== --- head/shells/bash-devel/files/patch-doc_Makefile.in Mon Mar 3 07:16:11 2014 (r346859) +++ head/shells/bash-devel/files/patch-doc_Makefile.in Mon Mar 3 07:26:37 2014 (r346860) @@ -1,18 +1,21 @@ ---- doc/Makefile.in.orig Wed Dec 28 20:00:02 2005 -+++ doc/Makefile.in Wed Dec 28 20:00:58 2005 -@@ -161,14 +161,11 @@ +--- 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 + ${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) Modified: head/shells/bash-devel/files/patch-doc_bashref.texi ============================================================================== --- head/shells/bash-devel/files/patch-doc_bashref.texi Mon Mar 3 07:16:11 2014 (r346859) +++ head/shells/bash-devel/files/patch-doc_bashref.texi Mon Mar 3 07:26:37 2014 (r346860) @@ -1,14 +1,14 @@ ---- doc/bashref.texi.orig Wed Dec 28 19:44:28 2005 -+++ doc/bashref.texi Wed Dec 28 20:09:16 2005 +--- 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 - @c %**end of header -@@ -10,7 +10,7 @@ + @include version.texi +@@ -8,7 +8,7 @@ @copying This text is a brief description of the features that are present in @@ -17,12 +17,12 @@ This is Edition @value{EDITION}, last updated @value{UPDATED}, of @cite{The GNU Bash Reference Manual}, -@@ -4277,7 +4277,7 @@ +@@ -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{Printing a Prompt}, for the complete list of escape + @xref{Controlling the Prompt}, for the complete list of escape sequences that are expanded before @env{PS1} is displayed. Modified: head/shells/bash-devel/pkg-plist ============================================================================== --- head/shells/bash-devel/pkg-plist Mon Mar 3 07:16:11 2014 (r346859) +++ head/shells/bash-devel/pkg-plist Mon Mar 3 07:26:37 2014 (r346860) @@ -11,7 +11,9 @@ man/man1/bashbug.1.gz %%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 @@ -20,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 @@ -30,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 _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Thank you very much for this patch. I've created the static slave port in order to have original packages created by the build cluster. We use the static version on small embedded firewall appliances in our company. Until we have sub packages implemented, which I understand will happen some time after pkg_* tools are deprecated. I'd like to keep the slave port.