We've often wondered if things would be better with a path include
list instead of an exclusion list. Add support for this so we can
test that theory

If set the include path takes precedence over the ignore path list.

Signed-off-by: Richard Purdie <[email protected]>
---
 pseudo_client.c | 22 ++++++++++++++++++++++
 pseudo_util.c   |  1 +
 2 files changed, 23 insertions(+)

diff --git a/pseudo_client.c b/pseudo_client.c
index a03d6b1..c55ab9d 100644
--- a/pseudo_client.c
+++ b/pseudo_client.c
@@ -1577,6 +1577,28 @@ int pseudo_client_ignore_path_chroot(const char *path, 
int ignore_chroot) {
        if (ignore_chroot && pseudo_chroot && strncmp(path, pseudo_chroot, 
pseudo_chroot_len) == 0)
                return 0;
 
+       env = pseudo_get_value("PSEUDO_INCLUDE_PATHS");
+       if (env) {
+               char *p = env;
+               if (*path == '\0') {
+                       free(env);
+                       return 0;
+               }
+               while (p) {
+                       char *next = strchr(p, ',');
+                       if (next)
+                               *next++ = '\0';
+                       if (*p && !strncmp(path, p, strlen(p))) {
+                               free(env);
+                               return 0;
+                       }
+                       p = next;
+               }
+               pseudo_debug(PDBGF_PATH | PDBGF_VERBOSE, "ignoring path: 
'%s'\n", path);
+               free(env);
+               return 1;
+        }
+
        env = pseudo_get_value("PSEUDO_IGNORE_PATHS");
        if (!env)
                return 0;
diff --git a/pseudo_util.c b/pseudo_util.c
index b58036f..77edb9d 100644
--- a/pseudo_util.c
+++ b/pseudo_util.c
@@ -43,6 +43,7 @@ static struct pseudo_variables pseudo_env[] = {
        { "PSEUDO_BINDIR", 13, NULL },
        { "PSEUDO_LIBDIR", 13, NULL },
        { "PSEUDO_LOCALSTATEDIR", 20, NULL },
+       { "PSEUDO_INCLUDE_PATHS", 20, NULL },
        { "PSEUDO_IGNORE_PATHS", 19, NULL },
        { "PSEUDO_PASSWD", 13, NULL },
        { "PSEUDO_CHROOT", 13, NULL },
-- 
2.39.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192184): 
https://lists.openembedded.org/g/openembedded-core/message/192184
Mute This Topic: https://lists.openembedded.org/mt/103113384/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to