diff --git a/configure-Check-that-provided-paths-are-absolute.patch b/configure-Check-that-provided-paths-are-absolute.patch new file mode 100644 index 0000000..81f5eff --- /dev/null +++ b/configure-Check-that-provided-paths-are-absolute.patch @@ -0,0 +1,46 @@ +From 48b0c75f79f86140314b9656d3d855a515e18a73 Mon Sep 17 00:00:00 2001 +From: Michal Suchanek +Date: Fri, 10 Nov 2023 13:13:55 +0100 +Subject: [PATCH 8/9] configure: Check that provided paths are absolute + +configure checks that its built-in directory options get an absolute +path. Copy the check for custom options. + +Signed-off-by: Michal Suchanek +Link: https://lore.kernel.org/r/8aff0c9c491d8afeec7f6b2cd96cbd0439e26fbb.1699618135.git.msuchanek@suse.de +Signed-off-by: Lucas De Marchi +--- + configure.ac | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/configure.ac b/configure.ac +index d6da5ee9ae9a..de01e08cf2e8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -97,6 +97,23 @@ AC_ARG_WITH([module_directory], + [], [with_module_directory=/lib/modules]) + AC_SUBST([module_directory], [$with_module_directory]) + ++# Check all directory arguments for consistency. ++for ac_var in distconfdir rootlibdir module_directory ++do ++ eval ac_val=\$$ac_var ++ # Remove trailing slashes. ++ case $ac_val in ++ */ ) ++ ac_val=`expr "X$ac_val" : 'X\(.*@<:@^/@:>@\)' \| "X$ac_val" : 'X\(.*\)'` ++ eval $ac_var=\$ac_val;; ++ esac ++ # Be sure to have absolute directory names. ++ case $ac_val in ++ @<:@\\/$@:>@* | ?:@<:@\\/@:>@* ) continue;; ++ esac ++ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" ++done ++ + AC_ARG_WITH([zstd], + AS_HELP_STRING([--with-zstd], [handle Zstandard-compressed modules @<:@default=disabled@:>@]), + [], [with_zstd=no]) +-- +2.42.0 + diff --git a/configure-Detect-openssl-sm3-support.patch b/configure-Detect-openssl-sm3-support.patch index 19b1f60..c24e56f 100644 --- a/configure-Detect-openssl-sm3-support.patch +++ b/configure-Detect-openssl-sm3-support.patch @@ -1,13 +1,15 @@ -From 1bb5f3aafc9b4bff638ed3288308289fdec60270 Mon Sep 17 00:00:00 2001 +From 1bb23d7f19d888fbdd96ae0fe929b7086713ef33 Mon Sep 17 00:00:00 2001 From: Michal Suchanek -Date: Mon, 17 Jul 2023 21:23:51 +0200 -Subject: [PATCH 1/6] configure: Detect openssl sm3 support +Date: Tue, 18 Jul 2023 14:01:52 +0200 +Subject: [PATCH 1/9] configure: Detect openssl sm3 support Older openssl versions do not support sm3. The code has an option to disable the sm3 hash but the lack of openssl support is not detected automatically. Signed-off-by: Michal Suchanek +Link: https://lore.kernel.org/r/b97e20faa07e9e31c6eaf96683011aa24e80760c.1689681454.git.msuchanek@suse.de +Signed-off-by: Lucas De Marchi --- configure.ac | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch b/kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch index bb2c081..4742def 100644 --- a/kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch +++ b/kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch @@ -1,7 +1,7 @@ -From 6760cce5b59eeb2ba9b96f43626221df0128a285 Mon Sep 17 00:00:00 2001 +From ecef7c131618bbd9c559924ecae55764089db0dd Mon Sep 17 00:00:00 2001 From: Michal Suchanek -Date: Fri, 30 Jun 2023 16:16:24 +0200 -Subject: [PATCH 4/6] kmod: Add pkgconfig file with kmod compile time +Date: Tue, 18 Jul 2023 14:01:55 +0200 +Subject: [PATCH 4/9] kmod: Add pkgconfig file with kmod compile time configuration Show distconfdir (where system configuration files are searched/to be @@ -9,10 +9,8 @@ installed), sysconfdir (where user configuration files are searched), module compressions, and module signatures supported. Signed-off-by: Michal Suchanek ---- -v2: mention module signature in commit message -v3: add sysconfdir -v5: add distconfdir, switch to pkgconfig +Link: https://lore.kernel.org/r/468b3f572d3b84f25bb53ec8fcb15ed4871914d4.1689681454.git.msuchanek@suse.de +Signed-off-by: Lucas De Marchi --- Makefile.am | 2 +- configure.ac | 11 +++++++++++ diff --git a/kmod-testsuite.spec b/kmod-testsuite.spec index 070049f..7d0f10b 100644 --- a/kmod-testsuite.spec +++ b/kmod-testsuite.spec @@ -43,8 +43,11 @@ Patch6: 0012-modprobe-print-unsupported-status.patch Patch7: configure-Detect-openssl-sm3-support.patch Patch8: man-depmod.d-Fix-incorrect-usr-lib-search-path.patch Patch9: usr-lib-modprobe.patch -Patch14: kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch -Patch15: usr-lib-modules.patch +Patch10: kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch +Patch11: tools-depmod-fix-Walloc-size.patch +Patch12: libkmod-remove-pkcs7-obj_to_hash_algo.patch +Patch13: usr-lib-modules.patch +Patch14: configure-Check-that-provided-paths-are-absolute.patch Patch16: no-stylesheet-download.patch BuildRequires: autoconf BuildRequires: automake diff --git a/kmod.changes b/kmod.changes index 1ae218c..f8ca89a 100644 --- a/kmod.changes +++ b/kmod.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Dec 6 20:00:12 UTC 2023 - Michal Suchanek + +- Add upstream fixes since v31 + * tools-depmod-fix-Walloc-size.patch + * libkmod-remove-pkcs7-obj_to_hash_algo.patch + * configure-Check-that-provided-paths-are-absolute.patch +- Refresh usrmerge patches to upstream version (cosmetic change only) + ------------------------------------------------------------------- Tue Oct 17 15:34:57 UTC 2023 - Michal Suchanek diff --git a/kmod.spec b/kmod.spec index 847a2a9..ae1817d 100644 --- a/kmod.spec +++ b/kmod.spec @@ -44,8 +44,11 @@ Patch6: 0012-modprobe-print-unsupported-status.patch Patch7: configure-Detect-openssl-sm3-support.patch Patch8: man-depmod.d-Fix-incorrect-usr-lib-search-path.patch Patch9: usr-lib-modprobe.patch -Patch14: kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch -Patch15: usr-lib-modules.patch +Patch10: kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch +Patch11: tools-depmod-fix-Walloc-size.patch +Patch12: libkmod-remove-pkcs7-obj_to_hash_algo.patch +Patch13: usr-lib-modules.patch +Patch14: configure-Check-that-provided-paths-are-absolute.patch Patch16: no-stylesheet-download.patch BuildRequires: autoconf BuildRequires: automake diff --git a/libkmod-remove-pkcs7-obj_to_hash_algo.patch b/libkmod-remove-pkcs7-obj_to_hash_algo.patch new file mode 100644 index 0000000..f9d9039 --- /dev/null +++ b/libkmod-remove-pkcs7-obj_to_hash_algo.patch @@ -0,0 +1,150 @@ +From 510c8b7f7455c6613dd1706e5e41ec7b09cf6703 Mon Sep 17 00:00:00 2001 +From: Dimitri John Ledkov +Date: Sun, 29 Oct 2023 03:03:19 +0200 +Subject: [PATCH 6/9] libkmod: remove pkcs7 obj_to_hash_algo() + +Switch to using OBJ_obj2txt() to calculate and print the pkcs7 +signature hash name. This eliminates the need to duplicate libcrypto +NID to name mapping, detect SM3 openssl compile-time support, and +enables using any hashes that openssl and kernel know about. For +example SHA3 are being added for v6.7 and with this patch are +automatically supported. + +Signed-off-by: Dimitri John Ledkov +Link: https://lore.kernel.org/r/20231029010319.157390-1-dimitri.ledkov@canonical.com +--- + configure.ac | 7 ----- + libkmod/libkmod-signature.c | 59 +++++++++++++------------------------ + 2 files changed, 20 insertions(+), 46 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7bf8d78ca747..a6b8fa0308b6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -133,13 +133,6 @@ AC_ARG_WITH([openssl], + AS_IF([test "x$with_openssl" != "xno"], [ + PKG_CHECK_MODULES([libcrypto], [libcrypto >= 1.1.0], [LIBS="$LIBS $libcrypto_LIBS"]) + AC_DEFINE([ENABLE_OPENSSL], [1], [Enable openssl for modinfo.]) +- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include +- int nid = NID_sm3;]])], [ +- AC_MSG_NOTICE([openssl supports sm3]) +- ], [ +- AC_MSG_NOTICE([openssl sm3 support not detected]) +- CPPFLAGS="$CPPFLAGS -DOPENSSL_NO_SM3" +- ]) + module_signatures="PKCS7 $module_signatures" + ], [ + AC_MSG_NOTICE([openssl support not requested]) +diff --git a/libkmod/libkmod-signature.c b/libkmod/libkmod-signature.c +index b749a818f994..80f6447bcea0 100644 +--- a/libkmod/libkmod-signature.c ++++ b/libkmod/libkmod-signature.c +@@ -127,6 +127,7 @@ struct pkcs7_private { + PKCS7 *pkcs7; + unsigned char *key_id; + BIGNUM *sno; ++ char *hash_algo; + }; + + static void pkcs7_free(void *s) +@@ -137,42 +138,11 @@ static void pkcs7_free(void *s) + PKCS7_free(pvt->pkcs7); + BN_free(pvt->sno); + free(pvt->key_id); ++ free(pvt->hash_algo); + free(pvt); + si->private = NULL; + } + +-static int obj_to_hash_algo(const ASN1_OBJECT *o) +-{ +- int nid; +- +- nid = OBJ_obj2nid(o); +- switch (nid) { +- case NID_md4: +- return PKEY_HASH_MD4; +- case NID_md5: +- return PKEY_HASH_MD5; +- case NID_sha1: +- return PKEY_HASH_SHA1; +- case NID_ripemd160: +- return PKEY_HASH_RIPE_MD_160; +- case NID_sha256: +- return PKEY_HASH_SHA256; +- case NID_sha384: +- return PKEY_HASH_SHA384; +- case NID_sha512: +- return PKEY_HASH_SHA512; +- case NID_sha224: +- return PKEY_HASH_SHA224; +-# ifndef OPENSSL_NO_SM3 +- case NID_sm3: +- return PKEY_HASH_SM3; +-# endif +- default: +- return -1; +- } +- return -1; +-} +- + static const char *x509_name_to_str(X509_NAME *name) + { + int i; +@@ -219,7 +189,8 @@ static bool fill_pkcs7(const char *mem, off_t size, + unsigned char *key_id_str; + struct pkcs7_private *pvt; + const char *issuer_str; +- int hash_algo; ++ char *hash_algo; ++ int hash_algo_len; + + size -= sig_len; + pkcs7_raw = mem + size; +@@ -278,27 +249,37 @@ static bool fill_pkcs7(const char *mem, off_t size, + + X509_ALGOR_get0(&o, NULL, NULL, dig_alg); + +- hash_algo = obj_to_hash_algo(o); +- if (hash_algo < 0) ++ // Use OBJ_obj2txt to calculate string length ++ hash_algo_len = OBJ_obj2txt(NULL, 0, o, 0); ++ if (hash_algo_len < 0) + goto err3; +- sig_info->hash_algo = pkey_hash_algo[hash_algo]; +- // hash algo has not been recognized +- if (sig_info->hash_algo == NULL) ++ hash_algo = malloc(hash_algo_len + 1); ++ if (hash_algo == NULL) + goto err3; ++ hash_algo_len = OBJ_obj2txt(hash_algo, hash_algo_len + 1, o, 0); ++ if (hash_algo_len < 0) ++ goto err4; ++ ++ // Assign libcrypto hash algo string or number ++ sig_info->hash_algo = hash_algo; ++ + sig_info->id_type = pkey_id_type[modsig->id_type]; + + pvt = malloc(sizeof(*pvt)); + if (pvt == NULL) +- goto err3; ++ goto err4; + + pvt->pkcs7 = pkcs7; + pvt->key_id = key_id_str; + pvt->sno = sno_bn; ++ pvt->hash_algo = hash_algo; + sig_info->private = pvt; + + sig_info->free = pkcs7_free; + + return true; ++err4: ++ free(hash_algo); + err3: + free(key_id_str); + err2: +-- +2.42.0 + diff --git a/man-depmod.d-Fix-incorrect-usr-lib-search-path.patch b/man-depmod.d-Fix-incorrect-usr-lib-search-path.patch index dea4282..bdb6910 100644 --- a/man-depmod.d-Fix-incorrect-usr-lib-search-path.patch +++ b/man-depmod.d-Fix-incorrect-usr-lib-search-path.patch @@ -1,14 +1,14 @@ -From 7bf3543e3cc24dfc9ffca93d0469a5e0e60f8f29 Mon Sep 17 00:00:00 2001 +From 4e7effbdc00307d0d1e83115e0d00cc75aae5cc6 Mon Sep 17 00:00:00 2001 From: Michal Suchanek -Date: Fri, 30 Jun 2023 10:56:31 +0200 -Subject: [PATCH 1/7] man/depmod.d: Fix incorrect /usr/lib search path +Date: Tue, 18 Jul 2023 14:01:53 +0200 +Subject: [PATCH 2/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 searched. Align the documentation with the code. Signed-off-by: Michal Suchanek ---- -v2: Fix commit message typo +Link: https://lore.kernel.org/r/9c5a6356b1a111eb6e17ddb110494b7f1d1b44c0.1689681454.git.msuchanek@suse.de +Signed-off-by: Lucas De Marchi --- man/depmod.d.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -27,5 +27,5 @@ index 76548e92a312..8d3d821cddc8 100644 /run/depmod.d/*.conf /etc/depmod.d/*.conf -- -2.41.0 +2.42.0 diff --git a/no-stylesheet-download.patch b/no-stylesheet-download.patch index fd6a0cf..aab1669 100644 --- a/no-stylesheet-download.patch +++ b/no-stylesheet-download.patch @@ -1,7 +1,7 @@ -From b46c23e46ad9b19d74362eb3528404293bb03d12 Mon Sep 17 00:00:00 2001 +From 11979d01f72a0da574b795ad3029a52706c16f6d Mon Sep 17 00:00:00 2001 From: Michal Suchanek Date: Mon, 6 Sep 2021 14:52:35 +0200 -Subject: [PATCH 5/7] 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 @@ -20,5 +20,5 @@ index f550091a216a..a8ddb8bfd0ed 100644 - http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl - + /usr/share/xml/docbook/stylesheet/nwalsh/current/manpages/docbook.xsl - -- -2.41.0 +2.42.0 diff --git a/tools-depmod-fix-Walloc-size.patch b/tools-depmod-fix-Walloc-size.patch new file mode 100644 index 0000000..f7d291a --- /dev/null +++ b/tools-depmod-fix-Walloc-size.patch @@ -0,0 +1,73 @@ +From 3af2f475b0b729f20279f2ce488cc9f727f0b763 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sun, 5 Nov 2023 22:02:25 +0000 +Subject: [PATCH 5/9] tools: depmod: fix -Walloc-size +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC 14 introduces a new -Walloc-size included in -Wextra which gives: +``` +tools/depmod.c:192:14: warning: allocation of insufficient size ‘1’ for type ‘struct index_node’ with size ‘1048’ [-Walloc-size] +tools/depmod.c:255:11: warning: allocation of insufficient size ‘1’ for type ‘struct index_value’ with size ‘16’ [-Walloc-size] +tools/depmod.c:286:35: warning: allocation of insufficient size ‘1’ for type ‘struct index_node’ with size ‘1048’ [-Walloc-size] +tools/depmod.c:315:44: warning: allocation of insufficient size ‘1’ for type ‘struct index_node’ with size ‘1048’ [-Walloc-size] +``` + +The calloc prototype is: +``` +void *calloc(size_t nmemb, size_t size); +``` + +So, just swap the number of members and size arguments to match the prototype, as +we're initialising 1 struct of size `sizeof(struct ...)`. GCC then sees we're not +doing anything wrong. + +Signed-off-by: Sam James +--- + tools/depmod.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tools/depmod.c b/tools/depmod.c +index 630fef9c8fb0..ab8513b21526 100644 +--- a/tools/depmod.c ++++ b/tools/depmod.c +@@ -190,7 +190,7 @@ static struct index_node *index_create(void) + { + struct index_node *node; + +- node = NOFAIL(calloc(sizeof(struct index_node), 1)); ++ node = NOFAIL(calloc(1, sizeof(struct index_node))); + node->prefix = NOFAIL(strdup("")); + node->first = INDEX_CHILDMAX; + +@@ -253,7 +253,7 @@ static int index_add_value(struct index_value **values, + values = &(*values)->next; + + len = strlen(value); +- v = NOFAIL(calloc(sizeof(struct index_value) + len + 1, 1)); ++ v = NOFAIL(calloc(1, sizeof(struct index_value) + len + 1)); + v->next = *values; + v->priority = priority; + memcpy(v->value, value, len + 1); +@@ -284,7 +284,7 @@ static int index_insert(struct index_node *node, const char *key, + struct index_node *n; + + /* New child is copy of node with prefix[j+1..N] */ +- n = NOFAIL(calloc(sizeof(struct index_node), 1)); ++ n = NOFAIL(calloc(1, sizeof(struct index_node))); + memcpy(n, node, sizeof(struct index_node)); + n->prefix = NOFAIL(strdup(&prefix[j+1])); + +@@ -313,7 +313,7 @@ static int index_insert(struct index_node *node, const char *key, + node->first = ch; + if (ch > node->last) + node->last = ch; +- node->children[ch] = NOFAIL(calloc(sizeof(struct index_node), 1)); ++ node->children[ch] = NOFAIL(calloc(1, sizeof(struct index_node))); + + child = node->children[ch]; + child->prefix = NOFAIL(strdup(&key[i+1])); +-- +2.42.0 + diff --git a/usr-lib-modprobe.patch b/usr-lib-modprobe.patch index 2dcae6f..753e83b 100644 --- a/usr-lib-modprobe.patch +++ b/usr-lib-modprobe.patch @@ -1,7 +1,7 @@ -From 88f6d08df8082f4dbe2407bef59de85290360e88 Mon Sep 17 00:00:00 2001 +From 8463809f8a29b254b2cab2ce755641bc690f07c9 Mon Sep 17 00:00:00 2001 From: Michal Suchanek -Date: Tue, 12 Jan 2021 16:54:46 +0100 -Subject: [PATCH 2/7] libkmod, depmod: Load modprobe.d, depmod.d from +Date: Tue, 18 Jul 2023 14:01:54 +0200 +Subject: [PATCH 3/9] libkmod, depmod: Load modprobe.d, depmod.d from ${prefix}/lib. There is an ongoing effort to limit use of files outside of /usr (or @@ -16,10 +16,8 @@ and only one configuration file of the same name is loaded from any of the search directories. Signed-off-by: Michal Suchanek ---- -v2: Fix commit message typo -v3: Fix modprobe.d path list in code comment -v5: Add distconfdir +Link: https://lore.kernel.org/r/a290343ce32e2a3c25b134e4f27c13b26e06c9e0.1689681454.git.msuchanek@suse.de +Signed-off-by: Lucas De Marchi --- Makefile.am | 1 + configure.ac | 5 +++++ @@ -31,7 +29,7 @@ v5: Add distconfdir 7 files changed, 20 insertions(+), 5 deletions(-) diff --git a/Makefile.am b/Makefile.am -index ac47ea625e71..a03846d02b9c 100644 +index 5b7abfe6a20e..e6630a36e18c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,6 +19,7 @@ AM_CPPFLAGS = \ @@ -43,10 +41,10 @@ index ac47ea625e71..a03846d02b9c 100644 AM_CFLAGS = $(OUR_CFLAGS) diff --git a/configure.ac b/configure.ac -index a74d3baf0a42..18206ccdb607 100644 +index e5bceeaa1722..fd88d1fbdbf7 100644 --- a/configure.ac +++ b/configure.ac -@@ -78,6 +78,10 @@ AC_COMPILE_IFELSE( +@@ -79,6 +79,10 @@ AC_COMPILE_IFELSE( # --with- ##################################################################### @@ -57,7 +55,7 @@ index a74d3baf0a42..18206ccdb607 100644 AC_ARG_WITH([rootlibdir], AS_HELP_STRING([--with-rootlibdir=DIR], [rootfs directory to install shared libraries]), [], [with_rootlibdir=$libdir]) -@@ -303,6 +307,7 @@ AC_MSG_RESULT([ +@@ -313,6 +317,7 @@ AC_MSG_RESULT([ prefix: ${prefix} sysconfdir: ${sysconfdir} @@ -66,10 +64,10 @@ index a74d3baf0a42..18206ccdb607 100644 rootlibdir: ${rootlibdir} includedir: ${includedir} diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c -index 7c2b889d713e..bc05a1873edf 100644 +index 1b8773cdf452..57fac1cb9f7b 100644 --- a/libkmod/libkmod.c +++ b/libkmod/libkmod.c -@@ -65,6 +65,7 @@ static const char *default_config_paths[] = { +@@ -65,6 +65,7 @@ static const char *const default_config_paths[] = { SYSCONFDIR "/modprobe.d", "/run/modprobe.d", "/usr/local/lib/modprobe.d", @@ -77,7 +75,7 @@ index 7c2b889d713e..bc05a1873edf 100644 "/lib/modprobe.d", NULL }; -@@ -237,9 +238,9 @@ static char *get_kernel_release(const char *dirname) +@@ -272,9 +273,9 @@ static enum kmod_file_compression_type get_kernel_compression(struct kmod_ctx *c * to load from user-defined configuration parameters such as * alias, blacklists, commands (install, remove). If NULL * defaults to /etc/modprobe.d, /run/modprobe.d, @@ -136,10 +134,10 @@ index 0ab3e9110a7e..2bf6537f07e6 100644 /run/modprobe.d/*.conf /etc/modprobe.d/*.conf diff --git a/tools/depmod.c b/tools/depmod.c -index 553659755194..aada5ac57902 100644 +index 1d1d41db860f..630fef9c8fb0 100644 --- a/tools/depmod.c +++ b/tools/depmod.c -@@ -54,6 +54,7 @@ static const char *default_cfg_paths[] = { +@@ -54,6 +54,7 @@ static const char *const default_cfg_paths[] = { SYSCONFDIR "/depmod.d", "/run/depmod.d", "/usr/local/lib/depmod.d", @@ -148,5 +146,5 @@ index 553659755194..aada5ac57902 100644 NULL }; -- -2.41.0 +2.42.0 diff --git a/usr-lib-modules.patch b/usr-lib-modules.patch index c86191e..4a71ff5 100644 --- a/usr-lib-modules.patch +++ b/usr-lib-modules.patch @@ -1,7 +1,7 @@ -From 4ad85461d27d240efcb4922eb5810a65356a8d6a Mon Sep 17 00:00:00 2001 +From 9d1fb317c8dbf2b834b3d0efb34208eb8fb790fb Mon Sep 17 00:00:00 2001 From: Michal Suchanek -Date: Fri, 26 May 2023 10:38:05 +0200 -Subject: [PATCH 5/6] libkmod, depmod, modprobe: Make directory for kernel +Date: Fri, 10 Nov 2023 13:13:54 +0100 +Subject: [PATCH 7/9] libkmod, depmod, modprobe: Make directory for kernel modules configurable Now that modprobe.d is searched under ${prefix}/lib, allow a complete @@ -14,9 +14,8 @@ With this distributions that do not want to ship files in /lib can also move kernel modules to /usr while others can keep them in /lib. Signed-off-by: Michal Suchanek ---- -v4: Make the whole path configurable -v5: More verbose commit message +Link: https://lore.kernel.org/r/a3765f4e8ae3ce29c0847a0132d4a8d51ad040a9.1699618135.git.msuchanek@suse.de +Signed-off-by: Lucas De Marchi --- Makefile.am | 3 +- configure.ac | 7 ++ @@ -60,7 +59,7 @@ index 2a54c25bd631..4062d81227df 100644 build-module-playground: $(AM_V_GEN)if test "$(top_srcdir)" != "$(top_builddir)"; then \ diff --git a/configure.ac b/configure.ac -index 7bf8d78ca747..d282fef9a08c 100644 +index a6b8fa0308b6..d6da5ee9ae9a 100644 --- a/configure.ac +++ b/configure.ac @@ -91,6 +91,12 @@ AC_ARG_WITH([rootlibdir], @@ -76,7 +75,7 @@ index 7bf8d78ca747..d282fef9a08c 100644 AC_ARG_WITH([zstd], AS_HELP_STRING([--with-zstd], [handle Zstandard-compressed modules @<:@default=disabled@:>@]), [], [with_zstd=no]) -@@ -326,6 +332,7 @@ AC_MSG_RESULT([ +@@ -319,6 +325,7 @@ AC_MSG_RESULT([ $PACKAGE $VERSION ======= @@ -85,7 +84,7 @@ index 7bf8d78ca747..d282fef9a08c 100644 sysconfdir: ${sysconfdir} distconfdir: ${distconfdir} diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c -index 57fac1cb9f7b..4489cbd04bf7 100644 +index 57fac1cb9f7b..213b42482fb6 100644 --- a/libkmod/libkmod.c +++ b/libkmod/libkmod.c @@ -210,7 +210,7 @@ static int log_priority(const char *priority) @@ -102,7 +101,7 @@ index 57fac1cb9f7b..4489cbd04bf7 100644 * kmod_new: * @dirname: what to consider as linux module's directory, if NULL - * defaults to /lib/modules/`uname -r`. If it's relative, -+ * defaults to ${module_prefix}/lib/modules/`uname -r`. If it's relative, ++ * defaults to $MODULE_DIRECTORY/`uname -r`. If it's relative, * it's treated as relative to the current working directory. * Otherwise, give an absolute dirname. * @config_paths: ordered array of paths (directories or files) where @@ -492,7 +491,7 @@ index 56e73609f204..c77c4bbc04eb 100644 return EXIT_FAILURE; } diff --git a/tools/depmod.c b/tools/depmod.c -index 630fef9c8fb0..7f7c4b74d216 100644 +index ab8513b21526..43fc354afb09 100644 --- a/tools/depmod.c +++ b/tools/depmod.c @@ -911,7 +911,7 @@ struct vertex;