Module Name:    src
Committed By:   sjg
Date:           Sat Aug 19 00:09:17 UTC 2023

Modified Files:
        src/usr.bin/make: meta.c

Log Message:
meta_ignore: check metaIgnorePaths on raw path

Some path prefixes can trigger automount, if we want to ignore them
it might be best to check metaIgnorePaths before we call realpath.
If the raw path does not match, check again after realpath.


To generate a diff of this commit:
cvs rdiff -u -r1.205 -r1.206 src/usr.bin/make/meta.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/meta.c
diff -u src/usr.bin/make/meta.c:1.205 src/usr.bin/make/meta.c:1.206
--- src/usr.bin/make/meta.c:1.205	Tue Mar 28 14:39:31 2023
+++ src/usr.bin/make/meta.c	Sat Aug 19 00:09:17 2023
@@ -1,4 +1,4 @@
-/*      $NetBSD: meta.c,v 1.205 2023/03/28 14:39:31 rillig Exp $ */
+/*      $NetBSD: meta.c,v 1.206 2023/08/19 00:09:17 sjg Exp $ */
 
 /*
  * Implement 'meta' mode.
@@ -932,6 +932,13 @@ meta_ignore(GNode *gn, const char *p)
 	return true;
 
     if (*p == '/') {
+	/* first try the raw path "as is" */
+	if (has_any_prefix(p, &metaIgnorePaths)) {
+#ifdef DEBUG_META_MODE
+	    DEBUG1(META, "meta_oodate: ignoring path: %s\n", p);
+#endif
+	    return true;
+	}
 	cached_realpath(p, fname); /* clean it up */
 	if (has_any_prefix(fname, &metaIgnorePaths)) {
 #ifdef DEBUG_META_MODE

Reply via email to