Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kmod for openSUSE:Factory checked in 
at 2023-07-01 23:18:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kmod (Old)
 and      /work/SRC/openSUSE:Factory/.kmod.new.13546 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kmod"

Sat Jul  1 23:18:05 2023 rev:75 rq:1096217 version:30

Changes:
--------
--- /work/SRC/openSUSE:Factory/kmod/kmod.changes        2023-06-21 
22:37:25.569492634 +0200
+++ /work/SRC/openSUSE:Factory/.kmod.new.13546/kmod.changes     2023-07-01 
23:18:11.774312450 +0200
@@ -1,0 +2,13 @@
+Fri Jun 30 16:39:17 UTC 2023 - Michal Suchanek <[email protected]>
+
+- Fix up usrmerge patches to make the feature configurable (boo#1212835)
+   * testsuite-Handle-different-sysconfdir.patch
+   * testsuite-depmod-use-defines-for-the-rootfs-lib_modu.patch
+   * depmod-Introduce-outdir-option.patch
+   * man-depmod.d-Fix-incorrect-usr-lib-search-path.patch
+   * kmod-Add-config-command-to-show-compile-time-configu.patch
+- Refresh usr-lib-modprobe.patch
+- Refresh usr-lib-modules.patch
+- Refresh no-stylesheet-download.patch
+
+-------------------------------------------------------------------

New:
----
  depmod-Introduce-outdir-option.patch
  kmod-Add-config-command-to-show-compile-time-configu.patch
  man-depmod.d-Fix-incorrect-usr-lib-search-path.patch
  testsuite-Handle-different-sysconfdir.patch
  testsuite-depmod-use-defines-for-the-rootfs-lib_modu.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kmod-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.T5oSZZ/_old  2023-07-01 23:18:12.454316527 +0200
+++ /var/tmp/diff_new_pack.T5oSZZ/_new  2023-07-01 23:18:12.462316575 +0200
@@ -40,11 +40,16 @@
 Patch4:         0010-modprobe-Implement-allow-unsupported-modules.patch
 Patch5:         0011-Do-not-filter-unsupported-modules-when-running-a-van.patch
 Patch6:         0012-modprobe-print-unsupported-status.patch
-Patch7:         usr-lib-modprobe.patch
-Patch8:         no-stylesheet-download.patch
-Patch9:         0001-testsuite-repair-read-of-uninitialized-memory.patch
+Patch7:         0001-testsuite-repair-read-of-uninitialized-memory.patch
+Patch8:         man-depmod.d-Fix-incorrect-usr-lib-search-path.patch
+Patch9:         usr-lib-modprobe.patch
 Patch10:        testsuite-Move-setup-rootfs-logic-from-Makefile-to-s.patch
-Patch11:        usr-lib-modules.patch
+Patch11:        depmod-Introduce-outdir-option.patch
+Patch12:        testsuite-Handle-different-sysconfdir.patch
+Patch13:        testsuite-depmod-use-defines-for-the-rootfs-lib_modu.patch
+Patch14:        kmod-Add-config-command-to-show-compile-time-configu.patch
+Patch15:        usr-lib-modules.patch
+Patch16:        no-stylesheet-download.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  docbook-xsl-stylesheets
@@ -74,9 +79,6 @@
 %prep
 %setup -q -n kmod-%version
 %autopatch -p1
-%if 0%{?suse_version} < 1550
-%patch11 -p1 -R
-%endif
 
 %build
 GTKDOCIZE=/bin/true autoreconf -fi
@@ -92,6 +94,9 @@
 %endif
        --includedir="%_includedir/kmod" \
        --with-rootlibdir="%_libdir" \
+%if 0%{?suse_version} > 1500
+       --with-module-prefix="%_prefix" \
+%endif
        --bindir="%_bindir"
 %make_build KDIR="%kdir"
 

++++++ kmod.spec ++++++
--- /var/tmp/diff_new_pack.T5oSZZ/_old  2023-07-01 23:18:12.482316695 +0200
+++ /var/tmp/diff_new_pack.T5oSZZ/_new  2023-07-01 23:18:12.486316718 +0200
@@ -40,11 +40,16 @@
 Patch4:         0010-modprobe-Implement-allow-unsupported-modules.patch
 Patch5:         0011-Do-not-filter-unsupported-modules-when-running-a-van.patch
 Patch6:         0012-modprobe-print-unsupported-status.patch
-Patch7:         usr-lib-modprobe.patch
-Patch8:         no-stylesheet-download.patch
-Patch9:         0001-testsuite-repair-read-of-uninitialized-memory.patch
+Patch7:         0001-testsuite-repair-read-of-uninitialized-memory.patch
+Patch8:         man-depmod.d-Fix-incorrect-usr-lib-search-path.patch
+Patch9:         usr-lib-modprobe.patch
 Patch10:        testsuite-Move-setup-rootfs-logic-from-Makefile-to-s.patch
-Patch11:        usr-lib-modules.patch
+Patch11:        depmod-Introduce-outdir-option.patch
+Patch12:        testsuite-Handle-different-sysconfdir.patch
+Patch13:        testsuite-depmod-use-defines-for-the-rootfs-lib_modu.patch
+Patch14:        kmod-Add-config-command-to-show-compile-time-configu.patch
+Patch15:        usr-lib-modules.patch
+Patch16:        no-stylesheet-download.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  docbook-xsl-stylesheets
@@ -116,9 +121,6 @@
 
 %prep
 %autosetup -p1
-%if 0%{?suse_version} < 1550
-%patch11 -p1 -R
-%endif
 
 %build
 GTKDOCIZE=/bin/true autoreconf -fi
@@ -134,6 +136,9 @@
 %endif
        --includedir="%_includedir/kmod" \
        --with-rootlibdir="%_libdir" \
+%if 0%{?suse_version} > 1500
+       --with-module-prefix="%_prefix" \
+%endif
        --bindir="%_bindir"
 %make_build
 

++++++ depmod-Introduce-outdir-option.patch ++++++
>From 7e145ef8bd7a45fef6ee4cf56d7fab9f21d23e72 Mon Sep 17 00:00:00 2001
From: Emil Velikov <[email protected]>
Date: Mon, 6 Feb 2023 13:18:34 +0000
Subject: [PATCH 5/9] depmod: Introduce outdir option

This option is equivalent to basedir, with the small difference being
that's where the meta-data files are generated. In other words, this
allows us to have read-only input modules and modules.dep, while still
being able to generate the meta-data files.

Signed-off-by: Emil Velikov <[email protected]>
[ Move files to a different dir so input files (produced by kernel build
  system is separate from the files generated by depmod (output) ]
Signed-off-by: Lucas De Marchi <[email protected]>
---
 man/depmod.xml                                | 20 ++++++++++
 .../modules-outdir/correct-modules.alias      | 37 +++++++++++++++++++
 .../modules-outdir/correct-modules.dep        |  3 ++
 .../lib/modules/4.4.4/modules.builtin         |  0
 .../lib/modules/4.4.4/modules.order           |  7 ++++
 testsuite/setup-rootfs.sh                     |  3 ++
 testsuite/test-depmod.c                       | 36 ++++++++++++++++++
 tools/depmod.c                                | 25 +++++++++++--
 8 files changed, 128 insertions(+), 3 deletions(-)
 create mode 100644 
testsuite/rootfs-pristine/test-depmod/modules-outdir/correct-modules.alias
 create mode 100644 
testsuite/rootfs-pristine/test-depmod/modules-outdir/correct-modules.dep
 create mode 100644 
testsuite/rootfs-pristine/test-depmod/modules-outdir/lib/modules/4.4.4/modules.builtin
 create mode 100644 
testsuite/rootfs-pristine/test-depmod/modules-outdir/lib/modules/4.4.4/modules.order

diff --git a/man/depmod.xml b/man/depmod.xml
index ea0be27280b2..3b0097184fd7 100644
--- a/man/depmod.xml
+++ b/man/depmod.xml
@@ -45,6 +45,7 @@
     <cmdsynopsis>
       <command>depmod</command>
       <arg><option>-b <replaceable>basedir</replaceable></option></arg>
+      <arg><option>-o <replaceable>outdir</replaceable></option></arg>
       <arg><option>-e</option></arg>
       <arg><option>-E <replaceable>Module.symvers</replaceable></option></arg>
       <arg><option>-F <replaceable>System.map</replaceable></option></arg>
@@ -151,6 +152,25 @@
           </para>
         </listitem>
       </varlistentry>
+      <varlistentry>
+        <term>
+          <option>-o <replaceable>outdir</replaceable></option>
+        </term>
+        <term>
+          <option>--outdir <replaceable>outdir</replaceable></option>
+        </term>
+        <listitem>
+          <para>
+            Set the output directory where depmod will store any generated 
file.
+            <replaceable>outdir</replaceable> serves as a root to that 
location,
+            similar to how <replaceable>basedir</replaceable> is used. Also 
this
+            setting takes precedence and if used together with
+            <replaceable>basedir</replaceable> it will result in the input 
being
+            that directory, but the output being the one set by
+            <replaceable>outdir</replaceable>.
+          </para>
+        </listitem>
+      </varlistentry>
       <varlistentry>
         <term>
           <option>-C</option>
diff --git 
a/testsuite/rootfs-pristine/test-depmod/modules-outdir/correct-modules.alias 
b/testsuite/rootfs-pristine/test-depmod/modules-outdir/correct-modules.alias
new file mode 100644
index 000000000000..56753291c47e
--- /dev/null
+++ b/testsuite/rootfs-pristine/test-depmod/modules-outdir/correct-modules.alias
@@ -0,0 +1,37 @@
+# Aliases extracted from modules themselves.
+alias pci:v0000103Cd00003230sv0000103Csd0000323Dbc*sc*i* cciss
+alias pci:v0000103Cd00003230sv0000103Csd00003237bc*sc*i* cciss
+alias pci:v0000103Cd00003238sv0000103Csd00003215bc*sc*i* cciss
+alias pci:v0000103Cd00003238sv0000103Csd00003214bc*sc*i* cciss
+alias pci:v0000103Cd00003238sv0000103Csd00003213bc*sc*i* cciss
+alias pci:v0000103Cd00003238sv0000103Csd00003212bc*sc*i* cciss
+alias pci:v0000103Cd00003238sv0000103Csd00003211bc*sc*i* cciss
+alias pci:v0000103Cd00003230sv0000103Csd00003235bc*sc*i* cciss
+alias pci:v0000103Cd00003230sv0000103Csd00003234bc*sc*i* cciss
+alias pci:v0000103Cd00003230sv0000103Csd00003223bc*sc*i* cciss
+alias pci:v0000103Cd00003220sv0000103Csd00003225bc*sc*i* cciss
+alias pci:v00000E11d00000046sv00000E11sd0000409Dbc*sc*i* cciss
+alias pci:v00000E11d00000046sv00000E11sd0000409Cbc*sc*i* cciss
+alias pci:v00000E11d00000046sv00000E11sd0000409Bbc*sc*i* cciss
+alias pci:v00000E11d00000046sv00000E11sd0000409Abc*sc*i* cciss
+alias pci:v00000E11d00000046sv00000E11sd00004091bc*sc*i* cciss
+alias pci:v00000E11d0000B178sv00000E11sd00004083bc*sc*i* cciss
+alias pci:v00000E11d0000B178sv00000E11sd00004082bc*sc*i* cciss
+alias pci:v00000E11d0000B178sv00000E11sd00004080bc*sc*i* cciss
+alias pci:v00000E11d0000B060sv00000E11sd00004070bc*sc*i* cciss
+alias pci:v0000103Cd*sv*sd*bc01sc04i* hpsa
+alias pci:v0000103Cd0000323Bsv0000103Csd00003356bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Bsv0000103Csd00003355bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Bsv0000103Csd00003354bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Bsv0000103Csd00003353bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Bsv0000103Csd00003352bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Bsv0000103Csd00003351bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Bsv0000103Csd00003350bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Asv0000103Csd00003233bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Asv0000103Csd0000324Bbc*sc*i* hpsa
+alias pci:v0000103Cd0000323Asv0000103Csd0000324Abc*sc*i* hpsa
+alias pci:v0000103Cd0000323Asv0000103Csd00003249bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Asv0000103Csd00003247bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Asv0000103Csd00003245bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Asv0000103Csd00003243bc*sc*i* hpsa
+alias pci:v0000103Cd0000323Asv0000103Csd00003241bc*sc*i* hpsa
diff --git 
a/testsuite/rootfs-pristine/test-depmod/modules-outdir/correct-modules.dep 
b/testsuite/rootfs-pristine/test-depmod/modules-outdir/correct-modules.dep
new file mode 100644
index 000000000000..ec50ac32426a
--- /dev/null
+++ b/testsuite/rootfs-pristine/test-depmod/modules-outdir/correct-modules.dep
@@ -0,0 +1,3 @@
+kernel/drivers/block/cciss.ko:
+kernel/drivers/scsi/scsi_mod.ko:
+kernel/drivers/scsi/hpsa.ko: kernel/drivers/scsi/scsi_mod.ko
diff --git 
a/testsuite/rootfs-pristine/test-depmod/modules-outdir/lib/modules/4.4.4/modules.builtin
 
b/testsuite/rootfs-pristine/test-depmod/modules-outdir/lib/modules/4.4.4/modules.builtin
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git 
a/testsuite/rootfs-pristine/test-depmod/modules-outdir/lib/modules/4.4.4/modules.order
 
b/testsuite/rootfs-pristine/test-depmod/modules-outdir/lib/modules/4.4.4/modules.order
new file mode 100644
index 000000000000..4b643099f661
--- /dev/null
+++ 
b/testsuite/rootfs-pristine/test-depmod/modules-outdir/lib/modules/4.4.4/modules.order
@@ -0,0 +1,7 @@
+#336
+kernel/drivers/block/cciss.ko
+#2094
+kernel/drivers/scsi/scsi_mod.ko
+#2137
+kernel/drivers/scsi/hpsa.ko
+
diff --git a/testsuite/setup-rootfs.sh b/testsuite/setup-rootfs.sh
index d9cc627f7224..3e814d22d813 100755
--- a/testsuite/setup-rootfs.sh
+++ b/testsuite/setup-rootfs.sh
@@ -70,6 +70,9 @@ map=(
     
["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/block/cciss.ko"]="mod-fake-cciss.ko"
     
["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/hpsa.ko"]="mod-fake-hpsa.ko"
     
["test-depmod/modules-order-compressed/lib/modules/4.4.4/kernel/drivers/scsi/scsi_mod.ko"]="mod-fake-scsi-mod.ko"
+    
["test-depmod/modules-outdir/lib/modules/4.4.4/kernel/drivers/block/cciss.ko"]="mod-fake-cciss.ko"
+    
["test-depmod/modules-outdir/lib/modules/4.4.4/kernel/drivers/scsi/hpsa.ko"]="mod-fake-hpsa.ko"
+    
["test-depmod/modules-outdir/lib/modules/4.4.4/kernel/drivers/scsi/scsi_mod.ko"]="mod-fake-scsi-mod.ko"
     ["test-modinfo/mod-simple-i386.ko"]="mod-simple-i386.ko"
     ["test-modinfo/mod-simple-x86_64.ko"]="mod-simple-x86_64.ko"
     ["test-modinfo/mod-simple-sparc64.ko"]="mod-simple-sparc64.ko"
diff --git a/testsuite/test-depmod.c b/testsuite/test-depmod.c
index d7802d7b2e0b..6e3ae562d766 100644
--- a/testsuite/test-depmod.c
+++ b/testsuite/test-depmod.c
@@ -57,6 +57,42 @@ DEFINE_TEST(depmod_modules_order_for_compressed,
                },
        });
 
+#define MODULES_OUTDIR_UNAME "4.4.4"
+#define MODULES_OUTDIR_ROOTFS TESTSUITE_ROOTFS "test-depmod/modules-outdir"
+#define MODULES_OUTDIR_LIB_MODULES_OUTPUT MODULES_OUTDIR_ROOTFS 
"/outdir/lib/modules/" MODULES_OUTDIR_UNAME
+#define MODULES_OUTDIR_LIB_MODULES_INPUT MODULES_OUTDIR_ROOTFS "/lib/modules/" 
MODULES_OUTDIR_UNAME
+static noreturn int depmod_modules_outdir(const struct test *t)
+{
+       const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
+       const char *const args[] = {
+               progname,
+               "--outdir", MODULES_OUTDIR_ROOTFS "/outdir/",
+               NULL,
+       };
+
+       test_spawn_prog(progname, args);
+       exit(EXIT_FAILURE);
+}
+
+DEFINE_TEST(depmod_modules_outdir,
+#if defined(KMOD_SYSCONFDIR_NOT_ETC)
+        .skip = true,
+#endif
+       .description = "check if depmod honours the outdir option",
+       .config = {
+               [TC_UNAME_R] = MODULES_OUTDIR_UNAME,
+               [TC_ROOTFS] = MODULES_OUTDIR_ROOTFS,
+       },
+       .output = {
+               .files = (const struct keyval[]) {
+                       { MODULES_OUTDIR_LIB_MODULES_OUTPUT "/modules.dep",
+                         MODULES_OUTDIR_ROOTFS "/correct-modules.dep" },
+                       { MODULES_OUTDIR_LIB_MODULES_OUTPUT "/modules.alias",
+                         MODULES_OUTDIR_ROOTFS "/correct-modules.alias" },
+                       { }
+               },
+       });
+
 #define SEARCH_ORDER_SIMPLE_ROOTFS TESTSUITE_ROOTFS 
"test-depmod/search-order-simple"
 static noreturn int depmod_search_order_simple(const struct test *t)
 {
diff --git a/tools/depmod.c b/tools/depmod.c
index a9349b20ee9c..2d4cf75fdfee 100644
--- a/tools/depmod.c
+++ b/tools/depmod.c
@@ -59,11 +59,12 @@ static const char *default_cfg_paths[] = {
        NULL
 };
 
-static const char cmdopts_s[] = "aAb:C:E:F:euqrvnP:wmVh";
+static const char cmdopts_s[] = "aAb:o:C:E:F:euqrvnP:wmVh";
 static const struct option cmdopts[] = {
        { "all", no_argument, 0, 'a' },
        { "quick", no_argument, 0, 'A' },
        { "basedir", required_argument, 0, 'b' },
+       { "outdir", required_argument, 0, 'o' },
        { "config", required_argument, 0, 'C' },
        { "symvers", required_argument, 0, 'E' },
        { "filesyms", required_argument, 0, 'F' },
@@ -105,6 +106,7 @@ static void help(void)
                "\n"
                "The following options are useful for people managing 
distributions:\n"
                "\t-b, --basedir=DIR    Use an image of a module tree.\n"
+               "\t-o, --outdir=DIR     Output directory for generated files.\n"
                "\t-F, --filesyms=FILE  Use the file instead of the\n"
                "\t                     current kernel symbols.\n"
                "\t-E, --symvers=FILE   Use Module.symvers file to check\n"
@@ -468,6 +470,8 @@ struct cfg {
        const char *kversion;
        char dirname[PATH_MAX];
        size_t dirnamelen;
+       char outdirname[PATH_MAX];
+       size_t outdirnamelen;
        char sym_prefix;
        uint8_t check_symvers;
        uint8_t print_unknown;
@@ -2577,7 +2581,7 @@ static int depmod_output(struct depmod *depmod, FILE *out)
                { "modules.devname", output_devname },
                { }
        };
-       const char *dname = depmod->cfg->dirname;
+       const char *dname = depmod->cfg->outdirname;
        int dfd, err = 0;
        struct timeval tv;
 
@@ -2586,6 +2590,11 @@ static int depmod_output(struct depmod *depmod, FILE 
*out)
        if (out != NULL)
                dfd = -1;
        else {
+               err = mkdir_p(dname, strlen(dname), 0755);
+               if (err < 0) {
+                       CRIT("could not create directory %s: %m\n", dname);
+                       return err;
+               }
                dfd = open(dname, O_RDONLY);
                if (dfd < 0) {
                        err = -errno;
@@ -2899,6 +2908,7 @@ static int do_depmod(int argc, char *argv[])
        FILE *out = NULL;
        int err = 0, all = 0, maybe_all = 0, n_config_paths = 0;
        _cleanup_free_ char *root = NULL;
+       _cleanup_free_ char *out_root = NULL;
        _cleanup_free_ const char **config_paths = NULL;
        const char *system_map = NULL;
        const char *module_symvers = NULL;
@@ -2928,6 +2938,11 @@ static int do_depmod(int argc, char *argv[])
                                free(root);
                        root = path_make_absolute_cwd(optarg);
                        break;
+               case 'o':
+                       if (out_root)
+                               free(out_root);
+                       out_root = path_make_absolute_cwd(optarg);
+                       break;
                case 'C': {
                        size_t bytes = sizeof(char *) * (n_config_paths + 2);
                        void *tmp = realloc(config_paths, bytes);
@@ -3010,7 +3025,11 @@ static int do_depmod(int argc, char *argv[])
 
        cfg.dirnamelen = snprintf(cfg.dirname, PATH_MAX,
                                  "%s/lib/modules/%s",
-                                 root == NULL ? "" : root, cfg.kversion);
+                                 root ?: "", cfg.kversion);
+
+       cfg.outdirnamelen = snprintf(cfg.outdirname, PATH_MAX,
+                                    "%s/lib/modules/%s",
+                                    out_root ?: (root ?: ""), cfg.kversion);
 
        if (optind == argc)
                all = 1;
-- 
2.41.0



++++++ kmod-Add-config-command-to-show-compile-time-configu.patch ++++++
>From be701954b3e730944f949c1c3fc7dc5144e37de0 Mon Sep 17 00:00:00 2001
From: Michal Suchanek <[email protected]>
Date: Fri, 30 Jun 2023 16:16:24 +0200
Subject: [PATCH 3/9] kmod: Add config command to show compile time
 configuration as JSON

Show prefix (where configuration files are searched/to be installed)
and module compressions supported.

Signed-off-by: Michal Suchanek <[email protected]>
---
 man/kmod.xml |  6 ++++++
 tools/kmod.c | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/man/kmod.xml b/man/kmod.xml
index 0706ad58c2cc..f992a500f836 100644
--- a/man/kmod.xml
+++ b/man/kmod.xml
@@ -71,6 +71,12 @@
           <para>Show the help message.</para>
         </listitem>
       </varlistentry>
+      <varlistentry>
+        <term><command>config</command></term>
+        <listitem>
+          <para>Show compile time options in JSON.</para>
+        </listitem>
+      </varlistentry>
       <varlistentry>
         <term><command>list</command></term>
         <listitem>
diff --git a/tools/kmod.c b/tools/kmod.c
index 55689c075ab1..28aefb463492 100644
--- a/tools/kmod.c
+++ b/tools/kmod.c
@@ -37,9 +37,11 @@ static const struct option options[] = {
 };
 
 static const struct kmod_cmd kmod_cmd_help;
+static const struct kmod_cmd kmod_cmd_config;
 
 static const struct kmod_cmd *kmod_cmds[] = {
        &kmod_cmd_help,
+       &kmod_cmd_config,
        &kmod_cmd_list,
        &kmod_cmd_static_nodes,
 
@@ -95,6 +97,38 @@ static const struct kmod_cmd kmod_cmd_help = {
        .help = "Show help message",
 };
 
+static const char *compressions[] = {
+#ifdef ENABLE_ZSTD
+                       "zstd",
+#endif
+#ifdef ENABLE_XZ
+                       "xz",
+#endif
+#ifdef ENABLE_ZLIB
+                       "gz",
+#endif
+                       NULL
+};
+
+static int kmod_config(int argc, char *argv[])
+{
+       unsigned i;
+       printf("{\"prefix\":\"" PREFIX "\""
+                       ",\"module_compression\":[");
+       for(i = 0; compressions[i]; i++) {
+               printf("%s\"%s\"", i ? "," : "", compressions[i]);
+       }
+       printf("]}\n");
+
+       return EXIT_SUCCESS;
+}
+
+static const struct kmod_cmd kmod_cmd_config = {
+       .name = "config",
+       .cmd = kmod_config,
+       .help = "Show compile time options in JSON",
+};
+
 static int handle_kmod_commands(int argc, char *argv[])
 {
        const char *cmd;
-- 
2.41.0



++++++ man-depmod.d-Fix-incorrect-usr-lib-search-path.patch ++++++
>From a792ef9a42b9bd8cc76260b4aa61a681f6998364 Mon Sep 17 00:00:00 2001
From: Michal Suchanek <[email protected]>
Date: Fri, 30 Jun 2023 10:56:31 +0200
Subject: [PATCH 1/9] man/depmod.d: Fix incorrect /usr/lib search path

depmod searches /lib/depmod.d but the man page says /usr/lib/depmod.d is
reached. Aling the documentation with the code.

Signed-off-by: Michal Suchanek <[email protected]>
---
 man/depmod.d.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/man/depmod.d.xml b/man/depmod.d.xml
index 76548e92a312..8d3d821cddc8 100644
--- a/man/depmod.d.xml
+++ b/man/depmod.d.xml
@@ -39,7 +39,7 @@
   </refnamediv>
 
   <refsynopsisdiv>
-    <para><filename>/usr/lib/depmod.d/*.conf</filename></para>
+    <para><filename>/lib/depmod.d/*.conf</filename></para>
     <para><filename>/usr/local/lib/depmod.d/*.conf</filename></para>
     <para><filename>/run/depmod.d/*.conf</filename></para>
     <para><filename>/etc/depmod.d/*.conf</filename></para>
-- 
2.41.0


++++++ no-stylesheet-download.patch ++++++
--- /var/tmp/diff_new_pack.T5oSZZ/_old  2023-07-01 23:18:12.586317318 +0200
+++ /var/tmp/diff_new_pack.T5oSZZ/_new  2023-07-01 23:18:12.590317342 +0200
@@ -1,7 +1,7 @@
-From e89e12c40ab05fb26066e7f4f82326b545041bd3 Mon Sep 17 00:00:00 2001
+From cd775d005f7d36395ef554d128c849fac5430f37 Mon Sep 17 00:00:00 2001
 From: Michal Suchanek <[email protected]>
 Date: Mon, 6 Sep 2021 14:52:35 +0200
-Subject: [PATCH] Do not download the docbook stylesheet during build, use
+Subject: [PATCH 9/9] Do not download the docbook stylesheet during build, use
  local copy instead.
 
 Signed-off-by: Michal Suchanek <[email protected]>
@@ -10,17 +10,16 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/man/Makefile.am b/man/Makefile.am
-index b6603e34c4bf..7dc73b348ce2 100644
+index 1a9a92f9c224..6b89400e9d39 100644
 --- a/man/Makefile.am
 +++ b/man/Makefile.am
-@@ -22,5 +22,5 @@ CLEANFILES = $(dist_man_MANS)
+@@ -28,4 +28,4 @@ CLEANFILES = $(dist_man_MANS)
                --nonet \
                --stringparam man.output.quietly 1 \
                --param funcsynopsis.style "'ansi'" \
--              
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-+              
/usr/share/xml/docbook/stylesheet/nwalsh/current/manpages/docbook.xsl $<
-       sed -i -e 's|@PREFIX@|$(prefix)|g' $@
+-              
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl -
++              
/usr/share/xml/docbook/stylesheet/nwalsh/current/manpages/docbook.xsl -
 -- 
-2.40.0
+2.41.0
 
 

++++++ testsuite-Handle-different-sysconfdir.patch ++++++
>From 94fe372a5f6163f5bc8b620e6068ea2f1d99f858 Mon Sep 17 00:00:00 2001
From: Lucas De Marchi <[email protected]>
Date: Thu, 9 Feb 2023 11:19:46 -0800
Subject: [PATCH 6/9] testsuite: Handle different sysconfdir

Instead of skipping tests if sysconfdir isn't /etc, just handle it
during the rootfs setup logic.

Signed-off-by: Lucas De Marchi <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
---
 Makefile.am                |  6 +-----
 configure.ac               |  3 ---
 testsuite/setup-rootfs.sh  |  8 ++++++++
 testsuite/test-blacklist.c |  3 ---
 testsuite/test-depmod.c    | 15 ---------------
 testsuite/test-modprobe.c  |  6 ------
 6 files changed, 9 insertions(+), 32 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 32f4b80e9870..246d4f5b138f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -245,7 +245,7 @@ EXTRA_DIST += testsuite/setup-rootfs.sh
 MODULE_PLAYGROUND = testsuite/module-playground
 ROOTFS = testsuite/rootfs
 ROOTFS_PRISTINE = $(top_srcdir)/testsuite/rootfs-pristine
-CREATE_ROOTFS = $(AM_V_GEN) $(top_srcdir)/testsuite/setup-rootfs.sh 
$(ROOTFS_PRISTINE) $(ROOTFS) $(MODULE_PLAYGROUND) $(top_builddir)/config.h
+CREATE_ROOTFS = $(AM_V_GEN) $(top_srcdir)/testsuite/setup-rootfs.sh 
$(ROOTFS_PRISTINE) $(ROOTFS) $(MODULE_PLAYGROUND) $(top_builddir)/config.h 
$(sysconfdir)
 
 build-module-playground:
        $(AM_V_GEN)if test "$(top_srcdir)" != "$(top_builddir)"; then \
@@ -330,10 +330,6 @@ TESTSUITE_LDADD = \
        testsuite/libtestsuite.la libkmod/libkmod-internal.la \
        shared/libshared.la
 
-if KMOD_SYSCONFDIR_NOT_ETC
-TESTSUITE_CPPFLAGS += -DKMOD_SYSCONFDIR_NOT_ETC
-endif
-
 check_LTLIBRARIES += testsuite/libtestsuite.la
 testsuite_libtestsuite_la_SOURCES = \
        testsuite/testsuite.c testsuite/testsuite.h
diff --git a/configure.ac b/configure.ac
index 6989e9360da2..a74d3baf0a42 100644
--- a/configure.ac
+++ b/configure.ac
@@ -224,9 +224,6 @@ GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat])
 ], [
 AM_CONDITIONAL([ENABLE_GTK_DOC], false)])
 
-# Some tests are skipped when sysconfdir != /etc.
-AM_CONDITIONAL([KMOD_SYSCONFDIR_NOT_ETC], [test "x$sysconfdir" != "x/etc"])
-
 #####################################################################
 # Default CFLAGS and LDFLAGS
 #####################################################################
diff --git a/testsuite/setup-rootfs.sh b/testsuite/setup-rootfs.sh
index 3e814d22d813..8b13a40f2cae 100755
--- a/testsuite/setup-rootfs.sh
+++ b/testsuite/setup-rootfs.sh
@@ -6,6 +6,7 @@ ROOTFS_PRISTINE=$1
 ROOTFS=$2
 MODULE_PLAYGROUND=$3
 CONFIG_H=$4
+SYSCONFDIR=$5
 
 # create rootfs from rootfs-pristine
 
@@ -15,6 +16,13 @@ create_rootfs() {
        cp -r "$ROOTFS_PRISTINE" "$ROOTFS"
        find "$ROOTFS" -type d -exec chmod +w {} \;
        find "$ROOTFS" -type f -name .gitignore -exec rm -f {} \;
+
+       if [ "$SYSCONFDIR" != "/etc" ]; then
+               find "$ROOTFS" -type d -name etc -printf "%h\n" | while read -r 
e; do
+                       mkdir -p "$(dirname $e/$SYSCONFDIR)"
+                       mv $e/{etc,$SYSCONFDIR}
+               done
+       fi
 }
 
 feature_enabled() {
diff --git a/testsuite/test-blacklist.c b/testsuite/test-blacklist.c
index d03eedb60106..969567ddc817 100644
--- a/testsuite/test-blacklist.c
+++ b/testsuite/test-blacklist.c
@@ -95,9 +95,6 @@ fail_lookup:
 }
 
 DEFINE_TEST(blacklist_1,
-#if defined(KMOD_SYSCONFDIR_NOT_ETC)
-        .skip = true,
-#endif
        .description = "check if modules are correctly blacklisted",
        .config = {
                [TC_ROOTFS] = TESTSUITE_ROOTFS "test-blacklist/",
diff --git a/testsuite/test-depmod.c b/testsuite/test-depmod.c
index 6e3ae562d766..42878cb4eb22 100644
--- a/testsuite/test-depmod.c
+++ b/testsuite/test-depmod.c
@@ -41,9 +41,6 @@ static noreturn int depmod_modules_order_for_compressed(const 
struct test *t)
 }
 
 DEFINE_TEST(depmod_modules_order_for_compressed,
-#if defined(KMOD_SYSCONFDIR_NOT_ETC)
-        .skip = true,
-#endif
        .description = "check if depmod let aliases in right order when using 
compressed modules",
        .config = {
                [TC_UNAME_R] = MODULES_ORDER_UNAME,
@@ -75,9 +72,6 @@ static noreturn int depmod_modules_outdir(const struct test 
*t)
 }
 
 DEFINE_TEST(depmod_modules_outdir,
-#if defined(KMOD_SYSCONFDIR_NOT_ETC)
-        .skip = true,
-#endif
        .description = "check if depmod honours the outdir option",
        .config = {
                [TC_UNAME_R] = MODULES_OUTDIR_UNAME,
@@ -158,9 +152,6 @@ static noreturn int depmod_detect_loop(const struct test *t)
        exit(EXIT_FAILURE);
 }
 DEFINE_TEST(depmod_detect_loop,
-#if defined(KMOD_SYSCONFDIR_NOT_ETC)
-        .skip = true,
-#endif
        .description = "check if depmod detects module loops correctly",
        .config = {
                [TC_UNAME_R] = "4.4.4",
@@ -184,9 +175,6 @@ static noreturn int 
depmod_search_order_external_first(const struct test *t)
        exit(EXIT_FAILURE);
 }
 DEFINE_TEST(depmod_search_order_external_first,
-#if defined(KMOD_SYSCONFDIR_NOT_ETC)
-        .skip = true,
-#endif
        .description = "check if depmod honor external keyword with higher 
priority",
        .config = {
                [TC_UNAME_R] = "4.4.4",
@@ -239,9 +227,6 @@ static noreturn int depmod_search_order_override(const 
struct test *t)
        exit(EXIT_FAILURE);
 }
 DEFINE_TEST(depmod_search_order_override,
-#if defined(KMOD_SYSCONFDIR_NOT_ETC)
-        .skip = true,
-#endif
        .description = "check if depmod honor override keyword",
        .config = {
                [TC_UNAME_R] = "4.4.4",
diff --git a/testsuite/test-modprobe.c b/testsuite/test-modprobe.c
index 0255f1aaccb5..bbdf11443d47 100644
--- a/testsuite/test-modprobe.c
+++ b/testsuite/test-modprobe.c
@@ -83,9 +83,6 @@ static noreturn int modprobe_show_alias_to_none(const struct 
test *t)
        exit(EXIT_FAILURE);
 }
 DEFINE_TEST(modprobe_show_alias_to_none,
-#if defined(KMOD_SYSCONFDIR_NOT_ETC)
-        .skip = true,
-#endif
        .description = "check if modprobe --show-depends doesn't explode with 
an alias to nothing",
        .config = {
                [TC_UNAME_R] = "4.4.4",
@@ -175,9 +172,6 @@ static noreturn int modprobe_softdep_loop(const struct test 
*t)
        exit(EXIT_FAILURE);
 }
 DEFINE_TEST(modprobe_softdep_loop,
-#if defined(KMOD_SYSCONFDIR_NOT_ETC)
-        .skip = true,
-#endif
        .description = "check if modprobe breaks softdep loop",
        .config = {
                [TC_UNAME_R] = "4.4.4",
-- 
2.41.0


++++++ testsuite-Move-setup-rootfs-logic-from-Makefile-to-s.patch ++++++
--- /var/tmp/diff_new_pack.T5oSZZ/_old  2023-07-01 23:18:12.606317438 +0200
+++ /var/tmp/diff_new_pack.T5oSZZ/_new  2023-07-01 23:18:12.614317486 +0200
@@ -1,7 +1,8 @@
-From 846439397efd9fa54763cc80da0e6d8bdf27c0e5 Mon Sep 17 00:00:00 2001
+From 00c15bc0710c399749421335c2c9372c9afee080 Mon Sep 17 00:00:00 2001
 From: Lucas De Marchi <[email protected]>
 Date: Thu, 9 Feb 2023 11:19:45 -0800
-Subject: [PATCH] testsuite: Move setup-rootfs logic from Makefile to script
+Subject: [PATCH 4/9] testsuite: Move setup-rootfs logic from Makefile to
+ script
 
 It's easier to implement the logic outside of the Makefile, so rename
 the populate-modules.sh script to setup-rootfs.sh and move the
@@ -86,6 +87,6 @@
 +
 +touch testsuite/stamp-rootfs
 -- 
-2.40.0
+2.41.0
 
 

++++++ testsuite-depmod-use-defines-for-the-rootfs-lib_modu.patch ++++++
>From 892c2c451397a4f424196bc57e2536651b0549c3 Mon Sep 17 00:00:00 2001
From: Emil Velikov <[email protected]>
Date: Mon, 6 Feb 2023 14:04:49 +0000
Subject: [PATCH 7/9] testsuite/depmod: use defines for the rootfs/lib_modules

The uname used across the tests is same, so drop "_ORDER" from the macro
name and use it throughout. Similarly - add respective LIB_MODULES
defines and use them in the tests.

Signed-off-by: Emil Velikov <[email protected]>
Signed-off-by: Lucas De Marchi <[email protected]>
---
 testsuite/test-depmod.c | 50 ++++++++++++++++++++++-------------------
 1 file changed, 27 insertions(+), 23 deletions(-)

diff --git a/testsuite/test-depmod.c b/testsuite/test-depmod.c
index 42878cb4eb22..93606947f18a 100644
--- a/testsuite/test-depmod.c
+++ b/testsuite/test-depmod.c
@@ -25,9 +25,9 @@
 
 #include "testsuite.h"
 
-#define MODULES_ORDER_UNAME "4.4.4"
+#define MODULES_UNAME "4.4.4"
 #define MODULES_ORDER_ROOTFS TESTSUITE_ROOTFS 
"test-depmod/modules-order-compressed"
-#define MODULES_ORDER_LIB_MODULES MODULES_ORDER_ROOTFS "/lib/modules/" 
MODULES_ORDER_UNAME
+#define MODULES_ORDER_LIB_MODULES MODULES_ORDER_ROOTFS "/lib/modules/" 
MODULES_UNAME
 static noreturn int depmod_modules_order_for_compressed(const struct test *t)
 {
        const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
@@ -43,7 +43,7 @@ static noreturn int depmod_modules_order_for_compressed(const 
struct test *t)
 DEFINE_TEST(depmod_modules_order_for_compressed,
        .description = "check if depmod let aliases in right order when using 
compressed modules",
        .config = {
-               [TC_UNAME_R] = MODULES_ORDER_UNAME,
+               [TC_UNAME_R] = MODULES_UNAME,
                [TC_ROOTFS] = MODULES_ORDER_ROOTFS,
        },
        .output = {
@@ -54,10 +54,9 @@ DEFINE_TEST(depmod_modules_order_for_compressed,
                },
        });
 
-#define MODULES_OUTDIR_UNAME "4.4.4"
 #define MODULES_OUTDIR_ROOTFS TESTSUITE_ROOTFS "test-depmod/modules-outdir"
-#define MODULES_OUTDIR_LIB_MODULES_OUTPUT MODULES_OUTDIR_ROOTFS 
"/outdir/lib/modules/" MODULES_OUTDIR_UNAME
-#define MODULES_OUTDIR_LIB_MODULES_INPUT MODULES_OUTDIR_ROOTFS "/lib/modules/" 
MODULES_OUTDIR_UNAME
+#define MODULES_OUTDIR_LIB_MODULES_OUTPUT MODULES_OUTDIR_ROOTFS 
"/outdir/lib/modules/" MODULES_UNAME
+#define MODULES_OUTDIR_LIB_MODULES_INPUT MODULES_OUTDIR_ROOTFS "/lib/modules/" 
MODULES_UNAME
 static noreturn int depmod_modules_outdir(const struct test *t)
 {
        const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
@@ -74,7 +73,7 @@ static noreturn int depmod_modules_outdir(const struct test 
*t)
 DEFINE_TEST(depmod_modules_outdir,
        .description = "check if depmod honours the outdir option",
        .config = {
-               [TC_UNAME_R] = MODULES_OUTDIR_UNAME,
+               [TC_UNAME_R] = MODULES_UNAME,
                [TC_ROOTFS] = MODULES_OUTDIR_ROOTFS,
        },
        .output = {
@@ -88,6 +87,7 @@ DEFINE_TEST(depmod_modules_outdir,
        });
 
 #define SEARCH_ORDER_SIMPLE_ROOTFS TESTSUITE_ROOTFS 
"test-depmod/search-order-simple"
+#define SEARCH_ORDER_SIMPLE_LIB_MODULES SEARCH_ORDER_SIMPLE_ROOTFS 
"/lib/modules/" MODULES_UNAME
 static noreturn int depmod_search_order_simple(const struct test *t)
 {
        const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
@@ -102,18 +102,19 @@ static noreturn int depmod_search_order_simple(const 
struct test *t)
 DEFINE_TEST(depmod_search_order_simple,
        .description = "check if depmod honor search order in config",
        .config = {
-               [TC_UNAME_R] = "4.4.4",
+               [TC_UNAME_R] = MODULES_UNAME,
                [TC_ROOTFS] = SEARCH_ORDER_SIMPLE_ROOTFS,
        },
        .output = {
                .files = (const struct keyval[]) {
-                       { SEARCH_ORDER_SIMPLE_ROOTFS 
"/lib/modules/4.4.4/correct-modules.dep",
-                         SEARCH_ORDER_SIMPLE_ROOTFS 
"/lib/modules/4.4.4/modules.dep" },
+                       { SEARCH_ORDER_SIMPLE_LIB_MODULES 
"/correct-modules.dep",
+                         SEARCH_ORDER_SIMPLE_LIB_MODULES "/modules.dep" },
                        { }
                },
        });
 
 #define SEARCH_ORDER_SAME_PREFIX_ROOTFS TESTSUITE_ROOTFS 
"test-depmod/search-order-same-prefix"
+#define SEARCH_ORDER_SAME_PREFIX_LIB_MODULES SEARCH_ORDER_SAME_PREFIX_ROOTFS 
"/lib/modules/" MODULES_UNAME
 static noreturn int depmod_search_order_same_prefix(const struct test *t)
 {
        const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
@@ -128,13 +129,13 @@ static noreturn int depmod_search_order_same_prefix(const 
struct test *t)
 DEFINE_TEST(depmod_search_order_same_prefix,
        .description = "check if depmod honor search order in config with same 
prefix",
        .config = {
-               [TC_UNAME_R] = "4.4.4",
+               [TC_UNAME_R] = MODULES_UNAME,
                [TC_ROOTFS] = SEARCH_ORDER_SAME_PREFIX_ROOTFS,
        },
        .output = {
                .files = (const struct keyval[]) {
-                       { SEARCH_ORDER_SAME_PREFIX_ROOTFS 
"/lib/modules/4.4.4/correct-modules.dep",
-                         SEARCH_ORDER_SAME_PREFIX_ROOTFS 
"/lib/modules/4.4.4/modules.dep" },
+                       { SEARCH_ORDER_SAME_PREFIX_LIB_MODULES 
"/correct-modules.dep",
+                         SEARCH_ORDER_SAME_PREFIX_LIB_MODULES "/modules.dep" },
                        { }
                },
        });
@@ -154,7 +155,7 @@ static noreturn int depmod_detect_loop(const struct test *t)
 DEFINE_TEST(depmod_detect_loop,
        .description = "check if depmod detects module loops correctly",
        .config = {
-               [TC_UNAME_R] = "4.4.4",
+               [TC_UNAME_R] = MODULES_UNAME,
                [TC_ROOTFS] = DETECT_LOOP_ROOTFS,
        },
        .expected_fail = true,
@@ -163,6 +164,7 @@ DEFINE_TEST(depmod_detect_loop,
        });
 
 #define SEARCH_ORDER_EXTERNAL_FIRST_ROOTFS TESTSUITE_ROOTFS 
"test-depmod/search-order-external-first"
+#define SEARCH_ORDER_EXTERNAL_FIRST_LIB_MODULES 
SEARCH_ORDER_EXTERNAL_FIRST_ROOTFS "/lib/modules/" MODULES_UNAME
 static noreturn int depmod_search_order_external_first(const struct test *t)
 {
        const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
@@ -177,18 +179,19 @@ static noreturn int 
depmod_search_order_external_first(const struct test *t)
 DEFINE_TEST(depmod_search_order_external_first,
        .description = "check if depmod honor external keyword with higher 
priority",
        .config = {
-               [TC_UNAME_R] = "4.4.4",
+               [TC_UNAME_R] = MODULES_UNAME,
                [TC_ROOTFS] = SEARCH_ORDER_EXTERNAL_FIRST_ROOTFS,
        },
        .output = {
                .files = (const struct keyval[]) {
-                       { SEARCH_ORDER_EXTERNAL_FIRST_ROOTFS 
"/lib/modules/4.4.4/correct-modules.dep",
-                         SEARCH_ORDER_EXTERNAL_FIRST_ROOTFS 
"/lib/modules/4.4.4/modules.dep" },
+                       { SEARCH_ORDER_EXTERNAL_FIRST_LIB_MODULES 
"/correct-modules.dep",
+                         SEARCH_ORDER_EXTERNAL_FIRST_LIB_MODULES 
"/modules.dep" },
                        { }
                },
        });
 
 #define SEARCH_ORDER_EXTERNAL_LAST_ROOTFS TESTSUITE_ROOTFS 
"test-depmod/search-order-external-last"
+#define SEARCH_ORDER_EXTERNAL_LAST_LIB_MODULES 
SEARCH_ORDER_EXTERNAL_LAST_ROOTFS "/lib/modules/" MODULES_UNAME
 static noreturn int depmod_search_order_external_last(const struct test *t)
 {
        const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
@@ -203,18 +206,19 @@ static noreturn int 
depmod_search_order_external_last(const struct test *t)
 DEFINE_TEST(depmod_search_order_external_last,
        .description = "check if depmod honor external keyword with lower 
priority",
        .config = {
-               [TC_UNAME_R] = "4.4.4",
+               [TC_UNAME_R] = MODULES_UNAME,
                [TC_ROOTFS] = SEARCH_ORDER_EXTERNAL_LAST_ROOTFS,
        },
        .output = {
                .files = (const struct keyval[]) {
-                       { SEARCH_ORDER_EXTERNAL_LAST_ROOTFS 
"/lib/modules/4.4.4/correct-modules.dep",
-                         SEARCH_ORDER_EXTERNAL_LAST_ROOTFS 
"/lib/modules/4.4.4/modules.dep" },
+                       { SEARCH_ORDER_EXTERNAL_LAST_LIB_MODULES 
"/correct-modules.dep",
+                         SEARCH_ORDER_EXTERNAL_LAST_LIB_MODULES "/modules.dep" 
},
                        { }
                },
        });
 
 #define SEARCH_ORDER_OVERRIDE_ROOTFS TESTSUITE_ROOTFS 
"test-depmod/search-order-override"
+#define SEARCH_ORDER_OVERRIDE_LIB_MODULES SEARCH_ORDER_OVERRIDE_ROOTFS 
"/lib/modules/" MODULES_UNAME
 static noreturn int depmod_search_order_override(const struct test *t)
 {
        const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
@@ -229,13 +233,13 @@ static noreturn int depmod_search_order_override(const 
struct test *t)
 DEFINE_TEST(depmod_search_order_override,
        .description = "check if depmod honor override keyword",
        .config = {
-               [TC_UNAME_R] = "4.4.4",
+               [TC_UNAME_R] = MODULES_UNAME,
                [TC_ROOTFS] = SEARCH_ORDER_OVERRIDE_ROOTFS,
        },
        .output = {
                .files = (const struct keyval[]) {
-                       { SEARCH_ORDER_OVERRIDE_ROOTFS 
"/lib/modules/4.4.4/correct-modules.dep",
-                         SEARCH_ORDER_OVERRIDE_ROOTFS 
"/lib/modules/4.4.4/modules.dep" },
+                       { SEARCH_ORDER_OVERRIDE_LIB_MODULES 
"/correct-modules.dep",
+                         SEARCH_ORDER_OVERRIDE_LIB_MODULES "/modules.dep" },
                        { }
                },
        });
-- 
2.41.0


++++++ usr-lib-modprobe.patch ++++++
--- /var/tmp/diff_new_pack.T5oSZZ/_old  2023-07-01 23:18:12.638317630 +0200
+++ /var/tmp/diff_new_pack.T5oSZZ/_new  2023-07-01 23:18:12.638317630 +0200
@@ -1,7 +1,8 @@
-From 99208681c29cec2097cb9c7a4b109d9c3d3f47a9 Mon Sep 17 00:00:00 2001
+From 9d4c3adcd051408a9a4489984be73f9c06b938ab Mon Sep 17 00:00:00 2001
 From: Michal Suchanek <[email protected]>
 Date: Tue, 12 Jan 2021 16:54:46 +0100
-Subject: [PATCH] modprobe.d, depmod.d: load from $prefix/lib.
+Subject: [PATCH 2/9] libkmod, depmod: Load modprobe.d, depmod.d from
+ $prefix/lib.
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -10,6 +11,13 @@
 $prefix on general). Currently all modprobe.d paths are hardcoded to
 outside of $prefix. Teach kmod to load modprobe.d from $prefix/lib.
 
+On some distributions /usr/lib and /lib are the same directory because
+of a compatibility symlink, and it is possible to craft configuration
+files with sideeffects that would behave differently when loaded twice.
+However, the override semantic ensures that one 'overrides' the other,
+and only one configuration file of the same name is loaded from any of
+the seach directories.
+
 Cc: Marcus Rückert <[email protected]>
 Cc: Takashi Iwai <[email protected]>
 Cc: Dominique Leuenberger <[email protected]>
@@ -17,11 +25,11 @@
 ---
  Makefile.am        | 1 +
  libkmod/libkmod.c  | 3 ++-
- man/Makefile.am    | 1 +
- man/depmod.d.xml   | 3 ++-
+ man/Makefile.am    | 9 +++++++--
+ man/depmod.d.xml   | 1 +
  man/modprobe.d.xml | 1 +
  tools/depmod.c     | 1 +
- 6 files changed, 8 insertions(+), 2 deletions(-)
+ 6 files changed, 13 insertions(+), 3 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
 index 0e4877074f40..e7313fa8a33e 100644
@@ -57,24 +65,34 @@
   *                be null terminated.
   *
 diff --git a/man/Makefile.am b/man/Makefile.am
-index 11514d52a190..b6603e34c4bf 100644
+index 11514d52a190..ad07c30bbd24 100644
 --- a/man/Makefile.am
 +++ b/man/Makefile.am
-@@ -23,3 +23,4 @@ CLEANFILES = $(dist_man_MANS)
+@@ -17,9 +17,14 @@ EXTRA_DIST = $(MAN5:%.5=%.xml) $(MAN8:%.8=%.xml)
+ CLEANFILES = $(dist_man_MANS)
+ 
+ %.5 %.8: %.xml
+-      $(AM_V_XSLT)$(XSLT) \
++      $(AM_V_XSLT)if [ -n '$(prefix)' ] ; then \
++              sed -e 's|@PREFIX@|$(prefix)|g' $< ; \
++      else \
++              sed -e '/@PREFIX@/d' $< ; \
++      fi | \
++      $(XSLT) \
+               -o $@ \
+               --nonet \
                --stringparam man.output.quietly 1 \
                --param funcsynopsis.style "'ansi'" \
-               
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-+      sed -i -e 's|@PREFIX@|$(prefix)|g' $@
+-              
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
++              
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl -
 diff --git a/man/depmod.d.xml b/man/depmod.d.xml
-index 76548e92a312..431ebca6654b 100644
+index 8d3d821cddc8..431ebca6654b 100644
 --- a/man/depmod.d.xml
 +++ b/man/depmod.d.xml
-@@ -39,7 +39,8 @@
-   </refnamediv>
+@@ -40,6 +40,7 @@
  
    <refsynopsisdiv>
--    <para><filename>/usr/lib/depmod.d/*.conf</filename></para>
-+    <para><filename>/lib/depmod.d/*.conf</filename></para>
+     <para><filename>/lib/depmod.d/*.conf</filename></para>
 +    <para><filename>@PREFIX@/lib/depmod.d/*.conf</filename></para>
      <para><filename>/usr/local/lib/depmod.d/*.conf</filename></para>
      <para><filename>/run/depmod.d/*.conf</filename></para>
@@ -104,6 +122,6 @@
        NULL
  };
 -- 
-2.40.0
+2.41.0
 
 

++++++ usr-lib-modules.patch ++++++
++++ 753 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kmod/usr-lib-modules.patch
++++ and /work/SRC/openSUSE:Factory/.kmod.new.13546/usr-lib-modules.patch

Reply via email to