Index: head/devel/gmake/Makefile =================================================================== --- head/devel/gmake/Makefile (revision 538385) +++ head/devel/gmake/Makefile (revision 538386) @@ -1,35 +1,35 @@ # Created by: jkh # $FreeBSD$ PORTNAME= gmake PORTVERSION= 4.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel MASTER_SITES= GNU/make DISTNAME= make-${PORTVERSION} # note: before committing to this port, contact portmgr to arrange for an # experimental ports run. Untested commits may be backed out at portmgr's # discretion. MAINTAINER= tijl@FreeBSD.org COMMENT= GNU version of 'make' utility LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING GNU_CONFIGURE= yes CONFIGURE_ARGS= --program-prefix=g \ --without-guile USES= cpe tar:lz CPE_VENDOR= gnu OPTIONS_DEFINE= NLS OPTIONS_SUB= yes NLS_USES= gettext-runtime NLS_CONFIGURE_ENABLE= nls INFO= make .include Index: head/devel/gmake/files/patch-10-4c1009ec =================================================================== --- head/devel/gmake/files/patch-10-4c1009ec (revision 538385) +++ head/devel/gmake/files/patch-10-4c1009ec (nonexistent) @@ -1,32 +0,0 @@ -Backport of gnulib git commit 4c1009ec93e12ee34acd27f6d7e25442bedc16f2. - -When the file found in a PATH element is a directory, continue searching. - ---- lib/findprog-in.c.orig 2020-01-19 20:34:01 UTC -+++ lib/findprog-in.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include "filename.h" - #include "concat-filename.h" -@@ -190,6 +191,7 @@ find_in_given_path (const char *progname, const char * - dir = "."; - - /* Try all platform-dependent suffixes. */ -+ struct stat st; - for (i = 0; i < sizeof (suffixes) / sizeof (suffixes[0]); i++) - { - const char *suffix = suffixes[i]; -@ -208,7 +210,8 @@ find_in_given_path (const char *progname, const char * - use it. On other systems, let's hope that this program - is not installed setuid or setgid, so that it is ok to - call access() despite its design flaw. */ -- if (eaccess (progpathname, X_OK) == 0) -+ if (eaccess (progpathname, X_OK) == 0 && -+ stat(progpathname, &st) == 0 && ! S_ISDIR(st.st_mode)) - { - /* Found! */ - if (strcmp (progpathname, progname) == 0) Property changes on: head/devel/gmake/files/patch-10-4c1009ec ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/devel/gmake/files/patch-10-6e6abd0c =================================================================== --- head/devel/gmake/files/patch-10-6e6abd0c (nonexistent) +++ head/devel/gmake/files/patch-10-6e6abd0c (revision 538386) @@ -0,0 +1,127 @@ +From: Bruno Haible +Date: Sat, 23 May 2020 10:19:34 +0000 (+0200) +Subject: findprog-in: Ignore directories. +X-Git-Url: https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff_plain;h=6e6abd0cdfe4bb96f6412aebc511f10bf254a820 + +findprog-in: Ignore directories. + +Reported by Frederick Eaton via Dmitry Goncharov in +. + +* lib/findprog-in.c (find_in_given_path): When the file found is a +directory, set errno to EACCES and, during a PATH search, continue +searching. +* modules/findprog-in (Depends-on): Add sys_stat, stat. +--- + +diff --git a/lib/findprog-in.c b/lib/findprog-in.c +index c254f2f..0f76e36 100644 +--- lib/findprog-in.c ++++ lib/findprog-in.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include "filename.h" + #include "concat-filename.h" +@@ -58,8 +59,8 @@ static const char * const suffixes[] = + /* Note: The cmd.exe program does a different lookup: It searches according + to the PATHEXT environment variable. + See . +- Also, it executes files ending .bat and .cmd directly without letting the +- kernel interpret the program file. */ ++ Also, it executes files ending in .bat and .cmd directly without letting ++ the kernel interpret the program file. */ + #elif defined __CYGWIN__ + "", ".exe", ".com" + #elif defined __EMX__ +@@ -136,14 +137,26 @@ find_in_given_path (const char *progname, const char *path, + call access() despite its design flaw. */ + if (eaccess (progpathname, X_OK) == 0) + { +- /* Found! */ +- if (strcmp (progpathname, progname) == 0) ++ /* Check that the progpathname does not point to a ++ directory. */ ++ struct stat statbuf; ++ ++ if (stat (progpathname, &statbuf) >= 0) + { +- free (progpathname); +- return progname; ++ if (! S_ISDIR (statbuf.st_mode)) ++ { ++ /* Found! */ ++ if (strcmp (progpathname, progname) == 0) ++ { ++ free (progpathname); ++ return progname; ++ } ++ else ++ return progpathname; ++ } ++ ++ errno = EACCES; + } +- else +- return progpathname; + } + + if (errno != ENOENT) +@@ -210,25 +223,37 @@ find_in_given_path (const char *progname, const char *path, + call access() despite its design flaw. */ + if (eaccess (progpathname, X_OK) == 0) + { +- /* Found! */ +- if (strcmp (progpathname, progname) == 0) ++ /* Check that the progpathname does not point to a ++ directory. */ ++ struct stat statbuf; ++ ++ if (stat (progpathname, &statbuf) >= 0) + { +- free (progpathname); +- +- /* Add the "./" prefix for real, that +- xconcatenated_filename() optimized away. This +- avoids a second PATH search when the caller uses +- execl/execv/execlp/execvp. */ +- progpathname = +- XNMALLOC (2 + strlen (progname) + 1, char); +- progpathname[0] = '.'; +- progpathname[1] = NATIVE_SLASH; +- memcpy (progpathname + 2, progname, +- strlen (progname) + 1); +- } ++ if (! S_ISDIR (statbuf.st_mode)) ++ { ++ /* Found! */ ++ if (strcmp (progpathname, progname) == 0) ++ { ++ free (progpathname); ++ ++ /* Add the "./" prefix for real, that ++ xconcatenated_filename() optimized away. ++ This avoids a second PATH search when the ++ caller uses execl/execv/execlp/execvp. */ ++ progpathname = ++ XNMALLOC (2 + strlen (progname) + 1, char); ++ progpathname[0] = '.'; ++ progpathname[1] = NATIVE_SLASH; ++ memcpy (progpathname + 2, progname, ++ strlen (progname) + 1); ++ } ++ ++ free (path_copy); ++ return progpathname; ++ } + +- free (path_copy); +- return progpathname; ++ errno = EACCES; ++ } + } + + if (errno != ENOENT) Property changes on: head/devel/gmake/files/patch-10-6e6abd0c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property