Signed-off-by: Alexander Kanavin <a...@linutronix.de>
---
 ...dd-support-for-excluding-a-directory.patch | 172 ------------------
 .../kmod/{kmod_29.bb => kmod_30.bb}           |   3 +-
 2 files changed, 1 insertion(+), 174 deletions(-)
 delete mode 100644 
meta/recipes-kernel/kmod/kmod/0001-depmod-Add-support-for-excluding-a-directory.patch
 rename meta/recipes-kernel/kmod/{kmod_29.bb => kmod_30.bb} (96%)

diff --git 
a/meta/recipes-kernel/kmod/kmod/0001-depmod-Add-support-for-excluding-a-directory.patch
 
b/meta/recipes-kernel/kmod/kmod/0001-depmod-Add-support-for-excluding-a-directory.patch
deleted file mode 100644
index ea0570af2b..0000000000
--- 
a/meta/recipes-kernel/kmod/kmod/0001-depmod-Add-support-for-excluding-a-directory.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From f50e2d67575ac5f256fb853ca9d29aeac92d9a57 Mon Sep 17 00:00:00 2001
-From: Saul Wold <saul.w...@windriver.com>
-Date: Thu, 31 Mar 2022 14:56:28 -0700
-Subject: [PATCH] depmod: Add support for excluding a directory
-
-This adds support to depmod to enable a new exclude directive in
-the depmod.d/*.conf configuration file. Currently depmod
-already excludes directories named source or build. This change
-will allow additional directories like .debug to be excluded also
-via a new exclude directive.
-
-depmod.d/exclude.conf example:
-exclude        .debug
-
-Upstream-Status: Accepted
-
-Signed-off-by: Saul Wold <saul.w...@windriver.com>
-[ Fix warnings and make should_exclude_dir() return bool ]
-Signed-off-by: Lucas De Marchi <lucas.demar...@intel.com>
----
- man/depmod.d.xml | 14 ++++++++++
- tools/depmod.c   | 66 +++++++++++++++++++++++++++++++++++++++++++++---
- 2 files changed, 76 insertions(+), 4 deletions(-)
-
-diff --git a/man/depmod.d.xml b/man/depmod.d.xml
-index b315e93..76548e9 100644
---- a/man/depmod.d.xml
-+++ b/man/depmod.d.xml
-@@ -131,6 +131,20 @@
-           </para>
-         </listitem>
-       </varlistentry>
-+      <varlistentry>
-+        <term>exclude <replaceable>excludedir</replaceable>
-+        </term>
-+        <listitem>
-+          <para>
-+            This specifies the trailing directories that will be excluded
-+            during the search for kernel modules.
-+          </para>
-+          <para>
-+          The <replaceable>excludedir</replaceable> is the trailing directory
-+          to exclude
-+          </para>
-+        </listitem>
-+      </varlistentry>
-     </variablelist>
-   </refsect1>
- 
-diff --git a/tools/depmod.c b/tools/depmod.c
-index 07a35ba..4117dd1 100644
---- a/tools/depmod.c
-+++ b/tools/depmod.c
-@@ -458,6 +458,11 @@ struct cfg_external {
-       char path[];
- };
- 
-+struct cfg_exclude {
-+      struct cfg_exclude *next;
-+      char exclude_dir[];
-+};
-+
- struct cfg {
-       const char *kversion;
-       char dirname[PATH_MAX];
-@@ -469,6 +474,7 @@ struct cfg {
-       struct cfg_override *overrides;
-       struct cfg_search *searches;
-       struct cfg_external *externals;
-+      struct cfg_exclude *excludes;
- };
- 
- static enum search_type cfg_define_search_type(const char *path)
-@@ -580,6 +586,30 @@ static void cfg_external_free(struct cfg_external *ext)
-       free(ext);
- }
- 
-+static int cfg_exclude_add(struct cfg *cfg, const char *path)
-+{
-+      struct cfg_exclude *exc;
-+      size_t len = strlen(path);
-+
-+      exc = malloc(sizeof(struct cfg_exclude) + len + 1);
-+      if (exc == NULL) {
-+              ERR("exclude add: out of memory\n");
-+              return -ENOMEM;
-+      }
-+      memcpy(exc->exclude_dir, path, len + 1);
-+
-+      DBG("exclude add: %s\n", path);
-+
-+      exc->next = cfg->excludes;
-+      cfg->excludes = exc;
-+      return 0;
-+}
-+
-+static void cfg_exclude_free(struct cfg_exclude *exc)
-+{
-+      free(exc);
-+}
-+
- static int cfg_kernel_matches(const struct cfg *cfg, const char *pattern)
- {
-       regex_t re;
-@@ -657,6 +687,11 @@ static int cfg_file_parse(struct cfg *cfg, const char 
*filename)
-                       }
- 
-                       cfg_external_add(cfg, dir);
-+              } else if (streq(cmd, "exclude")) {
-+                      const char *sp;
-+                      while ((sp = strtok_r(NULL, "\t ", &saveptr)) != NULL) {
-+                              cfg_exclude_add(cfg, sp);
-+                      }
-               } else if (streq(cmd, "include")
-                               || streq(cmd, "make_map_files")) {
-                       INF("%s:%u: command %s not implemented yet\n",
-@@ -857,6 +892,12 @@ static void cfg_free(struct cfg *cfg)
-               cfg->externals = cfg->externals->next;
-               cfg_external_free(tmp);
-       }
-+
-+      while (cfg->excludes) {
-+              struct cfg_exclude *tmp = cfg->excludes;
-+              cfg->excludes = cfg->excludes->next;
-+              cfg_exclude_free(tmp);
-+      }
- }
- 
- 
-@@ -1229,6 +1270,25 @@ add:
-       return 0;
- }
- 
-+static bool should_exclude_dir(const struct cfg *cfg, const char *name)
-+{
-+      struct cfg_exclude *exc;
-+
-+      if (name[0] == '.' && (name[1] == '\0' ||
-+                      (name[1] == '.' && name[2] == '\0')))
-+              return true;
-+
-+      if (streq(name, "build") || streq(name, "source"))
-+              return true;
-+
-+      for (exc = cfg->excludes; exc != NULL; exc = exc->next) {
-+              if (streq(name, exc->exclude_dir))
-+                      return true;
-+      }
-+
-+      return false;
-+}
-+
- static int depmod_modules_search_dir(struct depmod *depmod, DIR *d, size_t 
baselen, struct scratchbuf *s_path)
- {
-       struct dirent *de;
-@@ -1240,11 +1300,9 @@ static int depmod_modules_search_dir(struct depmod 
*depmod, DIR *d, size_t basel
-               size_t namelen;
-               uint8_t is_dir;
- 
--              if (name[0] == '.' && (name[1] == '\0' ||
--                                     (name[1] == '.' && name[2] == '\0')))
--                      continue;
--              if (streq(name, "build") || streq(name, "source"))
-+              if (should_exclude_dir(depmod->cfg, name))
-                       continue;
-+
-               namelen = strlen(name);
-               if (scratchbuf_alloc(s_path, baselen + namelen + 2) < 0) {
-                       err = -ENOMEM;
--- 
-2.31.1
-
diff --git a/meta/recipes-kernel/kmod/kmod_29.bb 
b/meta/recipes-kernel/kmod/kmod_30.bb
similarity index 96%
rename from meta/recipes-kernel/kmod/kmod_29.bb
rename to meta/recipes-kernel/kmod/kmod_30.bb
index 32dc49c126..8eb83efe6d 100644
--- a/meta/recipes-kernel/kmod/kmod_29.bb
+++ b/meta/recipes-kernel/kmod/kmod_30.bb
@@ -15,12 +15,11 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
                    "
 inherit autotools bash-completion gtk-doc pkgconfig manpages 
update-alternatives
 
-SRCREV = "b6ecfc916a17eab8f93be5b09f4e4f845aabd3d1"
+SRCREV = "5d46434a63ae0160150a0efdde1914873697e273"
 
 SRC_URI = 
"git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git;branch=master \
            file://depmod-search.conf \
            file://avoid_parallel_tests.patch \
-           file://0001-depmod-Add-support-for-excluding-a-directory.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#167694): 
https://lists.openembedded.org/g/openembedded-core/message/167694
Mute This Topic: https://lists.openembedded.org/mt/92202174/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to