From 310ff82800b741e46eb0dc3bd547643e41872ba37cf07c802e46059b2be49444 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 21 Feb 2025 23:40:03 +0000 Subject: [PATCH] [info=8937595f476225a8217a7e8ecee144c92dd3e5689aa844988aaa8d7b71b6062f] OBS-URL: https://build.opensuse.org/package/show/Base:System/kmod?expand=0&rev=241 --- .gitattributes | 23 + .gitignore | 1 + ...build-failure-due-to-missing-include.patch | 53 ++ 0001-testsuite-fix-path-for-test-user.patch | 31 + ...ze-allow-unsupported-modules-on-comm.patch | 38 + ...ecognize-allow_unsupported_modules-i.patch | 26 + ...t-filtering-of-unsupported-modules-o.patch | 105 +++ ...-Implement-allow-unsupported-modules.patch | 111 +++ ...supported-modules-when-running-a-van.patch | 52 ++ 0012-modprobe-print-unsupported-status.patch | 72 ++ README.usrmerge | 9 + _multibuild | 4 + _scmsync.obsinfo | 4 + build.specials.obscpio | 3 + kmod-33.tar.sign | 16 + kmod-33.tar.xz | 3 + kmod-34.tar.sign | 16 + kmod-34.tar.xz | 3 + kmod-testsuite.spec | 105 +++ kmod.changes | 803 ++++++++++++++++++ kmod.keyring | Bin 0 -> 3455 bytes kmod.spec | 183 ++++ 22 files changed, 1661 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-build-resolve-build-failure-due-to-missing-include.patch create mode 100644 0001-testsuite-fix-path-for-test-user.patch create mode 100644 0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch create mode 100644 0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch create mode 100644 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch create mode 100644 0010-modprobe-Implement-allow-unsupported-modules.patch create mode 100644 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch create mode 100644 0012-modprobe-print-unsupported-status.patch create mode 100644 README.usrmerge create mode 100644 _multibuild create mode 100644 _scmsync.obsinfo create mode 100644 build.specials.obscpio create mode 100644 kmod-33.tar.sign create mode 100644 kmod-33.tar.xz create mode 100644 kmod-34.tar.sign create mode 100644 kmod-34.tar.xz create mode 100644 kmod-testsuite.spec create mode 100644 kmod.changes create mode 100644 kmod.keyring create mode 100644 kmod.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-build-resolve-build-failure-due-to-missing-include.patch b/0001-build-resolve-build-failure-due-to-missing-include.patch new file mode 100644 index 0000000..46b9bf5 --- /dev/null +++ b/0001-build-resolve-build-failure-due-to-missing-include.patch @@ -0,0 +1,53 @@ +From a8a2fd5a84a74726e11edb92ac20b5c5918b2edd Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Sat, 22 Feb 2025 00:17:40 +0100 +Subject: [PATCH] build: resolve build failure due to missing include + +On openSUSE Tumbleweed with gcc-14.2.1, I observe: + +``` +libtool: compile: gcc -DHAVE_CONFIG_H -I. -include ./config.h -I. +-DSYSCONFDIR=\"/etc\" -DDISTCONFDIR=\"/usr/lib\" +-DMODULE_DIRECTORY=\"/usr/lib/modules\" -pipe -fdata-sections +-fdiagnostics-show-option -ffunction-sections -fno-common -fvisibility=hidden +-W -Wall -Wchar-subscripts -Wdeclaration-after-statement -Wendif-labels -Wextra +-Wfloat-equal -Wformat=2 -Winit-self -Wlogical-op -Wmissing-declarations +-Wmissing-include-dirs -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs +-Wno-unused-parameter -Wold-style-definition -Wpointer-arith -Wredundant-decls +-Wshadow -Wsign-compare -Wstrict-aliasing=3 -Wstrict-prototypes -Wtype-limits +-Wundef -Wuninitialized -Wvla -Wwrite-strings -O2 -Wall -U_FORTIFY_SOURCE +-D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables +-fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type +-flto=auto -g -c libkmod/libkmod-unsupported.c -fPIC -DPIC -o +libkmod/.libs/libkmod-unsupported.o +In file included from libkmod/libkmod-internal.h:8, + from libkmod/libkmod-unsupported.c:1: +shared/macro.h: In function 'freep': +shared/macro.h:69:9: error: implicit declaration of function 'free' +[-Wimplicit-function-declaration] + 69 | free(*(void **)p); +shared/macro.h:69:9: warning: incompatible implicit declaration of built-in +function 'free' [-Wbuiltin-declaration-mismatch] + 69 | free(*(void **)p); +shared/macro.h:69:9: note: include '' or provide a declaration of 'free' +make[2]: *** [Makefile:1597: libkmod/libkmod-unsupported.lo] Error 1 +``` +--- + shared/macro.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/shared/macro.h b/shared/macro.h +index 8829d0b..e684884 100644 +--- a/shared/macro.h ++++ b/shared/macro.h +@@ -5,6 +5,7 @@ + #pragma once + + #include ++#include + + #if defined(HAVE_STATIC_ASSERT) + #define assert_cc(expr) _Static_assert((expr), #expr) +-- +2.48.1 + diff --git a/0001-testsuite-fix-path-for-test-user.patch b/0001-testsuite-fix-path-for-test-user.patch new file mode 100644 index 0000000..e1081ab --- /dev/null +++ b/0001-testsuite-fix-path-for-test-user.patch @@ -0,0 +1,31 @@ +From 590074281e8463128ac92ed2640405cd05b10cb1 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Wed, 14 Aug 2024 09:58:16 +0200 +Subject: [PATCH] testsuite: fix path for test-user + +... as this just does not find its paths. + +Closes: https://github.com/kmod-project/kmod/issues/69 +Fixes: 9d1fb31 ("libkmod, depmod, modprobe: Make directory for kernel modules configurable") +Signed-off-by: Christian Hesse +Signed-off-by: Lucas De Marchi +--- + testsuite/test-user.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/testsuite/test-user.c b/testsuite/test-user.c +index 97a4747..0db48c3 100644 +--- a/testsuite/test-user.c ++++ b/testsuite/test-user.c +@@ -16,7 +16,7 @@ + #include "testsuite.h" + + #define TEST_USER_ROOTFS TESTSUITE_ROOTFS "test-user/" +-#define TEST_USER_KERNEL_DIR TEST_USER_ROOTFS "lib/modules/4.4.4/" ++#define TEST_USER_KERNEL_DIR TEST_USER_ROOTFS MODULE_DIRECTORY "/4.4.4/" + + static const char *const test_user_config_paths[] = { + TEST_USER_ROOTFS "etc/modprobe.d", +-- +2.46.0 + diff --git a/0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch b/0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch new file mode 100644 index 0000000..4197cdb --- /dev/null +++ b/0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch @@ -0,0 +1,38 @@ +From bbeef7f559bd9c6b1aad11bcd65e56428f290bd8 Mon Sep 17 00:00:00 2001 +From: Michal Marek +Date: Wed, 26 Feb 2014 13:48:55 +0100 +Subject: [PATCH 1/6] modprobe: Recognize --allow-unsupported-modules on + commandline + +The option does not do anything yet, but it does not return error +either. + +References: fate#316971 +Patch-mainline: never +--- + tools/modprobe.c | 5 +++++ + 1 file changed, 5 insertions(+) + +Index: kmod-34/tools/modprobe.c +=================================================================== +--- kmod-34.orig/tools/modprobe.c ++++ kmod-34/tools/modprobe.c +@@ -78,6 +78,8 @@ static const struct option cmdopts[] = { + { "dirname", required_argument, 0, 'd' }, + { "set-version", required_argument, 0, 'S' }, + ++ {"allow-unsupported-modules", no_argument, 0, 128}, ++ + { "syslog", no_argument, 0, 's' }, + { "quiet", no_argument, 0, 'q' }, + { "verbose", no_argument, 0, 'v' }, +@@ -859,6 +861,9 @@ static int do_modprobe(int argc, char ** + case 'S': + kversion = optarg; + break; ++ case 128: ++ /* --allow-unsupported-modules does nothing for now */ ++ break; + case 's': + env_modprobe_options_append("-s"); + use_syslog = true; diff --git a/0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch b/0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch new file mode 100644 index 0000000..408e751 --- /dev/null +++ b/0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch @@ -0,0 +1,26 @@ +From ede3e6010e5a132286c3a1ee815ec88bdef847b8 Mon Sep 17 00:00:00 2001 +From: Michal Marek +Date: Wed, 26 Feb 2014 13:53:38 +0100 +Subject: [PATCH 2/6] libkmod-config: Recognize allow_unsupported_modules in + the configuration + +References: fate#316971 +Patch-mainline: never +--- + libkmod/libkmod-config.c | 3 +++ + 1 file changed, 3 insertions(+) + +Index: kmod-34/libkmod/libkmod-config.c +=================================================================== +--- kmod-34.orig/libkmod/libkmod-config.c ++++ kmod-34/libkmod/libkmod-config.c +@@ -855,6 +855,9 @@ static int kmod_config_parse(struct kmod + } else if (streq(cmd, "include") || streq(cmd, "config")) { + ERR(ctx, "%s: command %s is deprecated and not parsed anymore\n", + filename, cmd); ++ } else if (streq(cmd, "allow_unsupported_modules")) { ++ /* dummy option for now */ ++ ; + } else { + syntax_error: + ERR(ctx, "%s line %u: ignoring bad line starting with '%s'\n", diff --git a/0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch b/0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch new file mode 100644 index 0000000..f39ae93 --- /dev/null +++ b/0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch @@ -0,0 +1,105 @@ +From 4a36f4a8b16c7fd345f6aec973d926d4e429328a Mon Sep 17 00:00:00 2001 +From: Michal Marek +Date: Wed, 5 Mar 2014 14:40:14 +0100 +Subject: [PATCH 3/6] libkmod: Implement filtering of unsupported modules (off + by default) + +References: fate#316971 +Patch-mainline: never +--- + libkmod/libkmod-config.c | 12 ++++++++++-- + libkmod/libkmod-internal.h | 1 + + libkmod/libkmod-module.c | 31 +++++++++++++++++++++++++++++++ + 3 files changed, 42 insertions(+), 2 deletions(-) + +Index: kmod-34/libkmod/libkmod-config.c +=================================================================== +--- kmod-34.orig/libkmod/libkmod-config.c ++++ kmod-34/libkmod/libkmod-config.c +@@ -856,8 +856,16 @@ static int kmod_config_parse(struct kmod + ERR(ctx, "%s: command %s is deprecated and not parsed anymore\n", + filename, cmd); + } else if (streq(cmd, "allow_unsupported_modules")) { +- /* dummy option for now */ +- ; ++ char *param = strtok_r(NULL, "\t ", &saveptr); ++ ++ if (param == NULL) ++ goto syntax_error; ++ if (streq(param, "yes") || streq(param, "1")) ++ config->block_unsupported = 0; ++ else if (streq(param, "no") || streq(param, "0")) ++ config->block_unsupported = 1; ++ else ++ goto syntax_error; + } else { + syntax_error: + ERR(ctx, "%s line %u: ignoring bad line starting with '%s'\n", +Index: kmod-34/libkmod/libkmod-internal.h +=================================================================== +--- kmod-34.orig/libkmod/libkmod-internal.h ++++ kmod-34/libkmod/libkmod-internal.h +@@ -105,6 +105,7 @@ struct kmod_config { + struct kmod_list *weakdeps; + + struct kmod_list *paths; ++ int block_unsupported; + }; + + _nonnull_all_ int kmod_config_new(struct kmod_ctx *ctx, struct kmod_config **config, const char * const *config_paths); +Index: kmod-34/libkmod/libkmod-module.c +=================================================================== +--- kmod-34.orig/libkmod/libkmod-module.c ++++ kmod-34/libkmod/libkmod-module.c +@@ -568,6 +568,24 @@ KMOD_EXPORT const char *kmod_module_get_ + return mod->name; + } + ++static int check_module_supported(struct kmod_module *mod) ++{ ++ char **strings; ++ int i, count; ++ struct kmod_elf *elf; ++ ++ elf = kmod_file_get_elf(mod->file); ++ count = kmod_elf_get_modinfo_strings(elf, &strings); ++ if (count < 0) ++ return count; ++ for (i = 0; i < count; i++) ++ if (streq(strings[i], "supported=yes") || ++ streq(strings[i], "supported=external")) { ++ return 1; ++ } ++ return 0; ++} ++ + KMOD_EXPORT const char *kmod_module_get_path(const struct kmod_module *mod) + { + if (mod == NULL) +@@ -690,6 +708,7 @@ KMOD_EXPORT int kmod_module_insert_modul + int err; + const char *path; + const char *args = options ? options : ""; ++ const struct kmod_config *config = kmod_get_config(mod->ctx); + + if (mod == NULL) + return -ENOENT; +@@ -708,6 +727,18 @@ KMOD_EXPORT int kmod_module_insert_modul + } + } + ++ if (config->block_unsupported) { ++ err = check_module_supported(mod); ++ if (err < 0) ++ return err; ++ else if (err == 0) { ++ ERR(mod->ctx, "module '%s' is unsupported\n", mod->name); ++ ERR(mod->ctx, "Use --allow-unsupported or set allow_unsupported_modules 1 in\n"); ++ ERR(mod->ctx, "/etc/modprobe.d/10-unsupported-modules.conf\n"); ++ return -EPERM; ++ } ++ } ++ + err = do_finit_module(mod, flags, args); + if (err == -ENOSYS) + err = do_init_module(mod, flags, args); diff --git a/0010-modprobe-Implement-allow-unsupported-modules.patch b/0010-modprobe-Implement-allow-unsupported-modules.patch new file mode 100644 index 0000000..7be7cf6 --- /dev/null +++ b/0010-modprobe-Implement-allow-unsupported-modules.patch @@ -0,0 +1,111 @@ +From 6cf25e17064cb213ef8c3a9c84ab787dd2852f2a Mon Sep 17 00:00:00 2001 +From: Michal Marek +Date: Wed, 5 Mar 2014 15:02:44 +0100 +Subject: [PATCH 4/6] modprobe: Implement --allow-unsupported-modules + +References: fate#316971 +Patch-mainline: never +--- + Makefile.am | 4 +++- + libkmod/libkmod-unsupported.c | 9 +++++++++ + libkmod/libkmod-unsupported.h | 8 ++++++++ + shared/macro.h | 1 + + tools/modprobe.c | 8 +++++++- + 5 files changed, 28 insertions(+), 2 deletions(-) + create mode 100644 libkmod/libkmod-unsupported.c + create mode 100644 libkmod/libkmod-unsupported.h + +Index: kmod-34/Makefile.am +=================================================================== +--- kmod-34.orig/Makefile.am ++++ kmod-34/Makefile.am +@@ -113,7 +113,9 @@ libkmod_libkmod_la_LIBADD = \ + ${libzstd_LIBS} ${liblzma_LIBS} ${zlib_LIBS} ${libcrypto_LIBS} + + noinst_LTLIBRARIES += libkmod/libkmod-internal.la +-libkmod_libkmod_internal_la_SOURCES = $(libkmod_libkmod_la_SOURCES) ++libkmod_libkmod_internal_la_SOURCES = $(libkmod_libkmod_la_SOURCES) \ ++ libkmod/libkmod-unsupported.c \ ++ libkmod/libkmod-unsupported.h + libkmod_libkmod_internal_la_LDFLAGS = $(AM_LDFLAGS) \ + -Wl,--version-script=$(top_srcdir)/libkmod/libkmod.sym + libkmod_libkmod_internal_la_DEPENDENCIES = $(libkmod_libkmod_la_DEPENDENCIES) +Index: kmod-34/libkmod/libkmod-unsupported.c +=================================================================== +--- /dev/null ++++ kmod-34/libkmod/libkmod-unsupported.c +@@ -0,0 +1,9 @@ ++#include "libkmod-internal.h" ++#include "libkmod-unsupported.h" ++ ++void kmod_internal_allow_unsupported(struct kmod_ctx *ctx) ++{ ++ struct kmod_config *config = (struct kmod_config *)kmod_get_config(ctx); ++ ++ config->block_unsupported = 0; ++} +Index: kmod-34/libkmod/libkmod-unsupported.h +=================================================================== +--- /dev/null ++++ kmod-34/libkmod/libkmod-unsupported.h +@@ -0,0 +1,8 @@ ++#pragma once ++ ++/* ++ * This function implements the --allow-unsupported-modules modprobe ++ * option. It is not part of the kmod API and not exported by the shared ++ * library ++ */ ++void kmod_internal_allow_unsupported(struct kmod_ctx *ctx); +Index: kmod-34/shared/macro.h +=================================================================== +--- kmod-34.orig/shared/macro.h ++++ kmod-34/shared/macro.h +@@ -5,6 +5,7 @@ + #pragma once + + #include ++#include + + #if defined(HAVE_STATIC_ASSERT) + #define assert_cc(expr) _Static_assert((expr), #expr) +Index: kmod-34/tools/modprobe.c +=================================================================== +--- kmod-34.orig/tools/modprobe.c ++++ kmod-34/tools/modprobe.c +@@ -27,6 +27,8 @@ + + #include "kmod.h" + ++#include "libkmod/libkmod-unsupported.h" ++ + static int log_priority = LOG_CRIT; + #define LOG(...) log_printf(log_priority, __VA_ARGS__) + +@@ -759,6 +761,7 @@ static int do_modprobe(int argc, char ** + const char *dirname = NULL; + const char *root = NULL; + const char *kversion = NULL; ++ int allow_unsupported = 0; + int use_all = 0; + int do_remove = 0; + int do_show_config = 0; +@@ -862,7 +865,7 @@ static int do_modprobe(int argc, char ** + kversion = optarg; + break; + case 128: +- /* --allow-unsupported-modules does nothing for now */ ++ allow_unsupported = 1; + break; + case 's': + env_modprobe_options_append("-s"); +@@ -944,6 +947,9 @@ static int do_modprobe(int argc, char ** + + log_setup_kmod_log(ctx, verbose); + ++ if (allow_unsupported) ++ kmod_internal_allow_unsupported(ctx); ++ + kmod_load_resources(ctx); + + if (do_show_config) diff --git a/0011-Do-not-filter-unsupported-modules-when-running-a-van.patch b/0011-Do-not-filter-unsupported-modules-when-running-a-van.patch new file mode 100644 index 0000000..5696b47 --- /dev/null +++ b/0011-Do-not-filter-unsupported-modules-when-running-a-van.patch @@ -0,0 +1,52 @@ +From 9d2f7d1e372d79dfe732992effb33daf4ee56235 Mon Sep 17 00:00:00 2001 +From: Michal Marek +Date: Fri, 4 Apr 2014 10:08:01 +0200 +Subject: [PATCH 5/6] Do not filter unsupported modules when running a vanilla + kernel + +References: bnc#871066 +Patch-mainline: never +--- + libkmod/libkmod-config.c | 19 ++++++++++++++++--- + 1 file changed, 16 insertions(+), 3 deletions(-) + +diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c +index 07d6a9e..550a612 100644 +--- a/libkmod/libkmod-config.c ++++ b/libkmod/libkmod-config.c +@@ -566,6 +566,18 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config) + return 0; + } + ++/* ++ * Check if kernel is built with the SUSE "suppported-flag" patch ++ */ ++static int is_suse_kernel(void) ++{ ++ if (access("/proc/sys/kernel/", F_OK) == 0 && ++ access("/proc/sys/kernel/unsupported", F_OK) == -1 && ++ errno == ENOENT) ++ return 0; ++ return 1; ++} ++ + /* + * Take an fd and own it. It will be closed on return. filename is used only + * for debug messages +@@ -657,9 +669,10 @@ static int kmod_config_parse(struct kmod_config *config, int fd, + goto syntax_error; + if (streq(param, "yes") || streq(param, "1")) + config->block_unsupported = 0; +- else if (streq(param, "no") || streq(param, "0")) +- config->block_unsupported = 1; +- else ++ else if (streq(param, "no") || streq(param, "0")) { ++ if (is_suse_kernel()) ++ config->block_unsupported = 1; ++ } else + goto syntax_error; + } else { + syntax_error: +-- +2.20.1 + diff --git a/0012-modprobe-print-unsupported-status.patch b/0012-modprobe-print-unsupported-status.patch new file mode 100644 index 0000000..03ec0ce --- /dev/null +++ b/0012-modprobe-print-unsupported-status.patch @@ -0,0 +1,72 @@ +From e48d1ee5980643f56165a9ee1687ff64f864aeb6 Mon Sep 17 00:00:00 2001 +From: Vlad Bespalov +Date: Fri, 8 Jun 2018 21:13:00 +0000 +Subject: [PATCH 6/6] modprobe: print status of "allow_unsupported_modules" + variable + +In SLES11 modprobe printed everything referenced in /etc/modprobe.d +in SLES12 config parsing changed to explicitly find and print +specific groups of modprobe options, which did not print +the status of "allow_unsupported_modules" option when running +modprobe -c +The proposed patch fixes this deficiency + +Patch-mainline: never +--- + libkmod/libkmod-config.c | 13 +++++++++++++ + libkmod/libkmod.h | 1 + + tools/modprobe.c | 5 +++++ + 3 files changed, 19 insertions(+) + +Index: kmod-34/libkmod/libkmod-config.c +=================================================================== +--- kmod-34.orig/libkmod/libkmod-config.c ++++ kmod-34/libkmod/libkmod-config.c +@@ -1204,6 +1204,19 @@ static struct kmod_config_iter *kmod_con + return iter; + } + ++/* ++ * kmod_config_unsupported_allowed: ++ * @ctx: kmod library context ++ * ++ * Retrieve status of unsupported modules ++ */ ++KMOD_EXPORT bool kmod_config_unsupported_allowed(const struct kmod_ctx *ctx) ++{ ++ struct kmod_config *config = (struct kmod_config *)kmod_get_config(ctx); ++ ++ return !config->block_unsupported; ++} ++ + KMOD_EXPORT struct kmod_config_iter *kmod_config_get_blacklists(const struct kmod_ctx *ctx) + { + if (ctx == NULL) +Index: kmod-34/libkmod/libkmod.h +=================================================================== +--- kmod-34.orig/libkmod/libkmod.h ++++ kmod-34/libkmod/libkmod.h +@@ -530,6 +530,7 @@ bool kmod_config_iter_next(struct kmod_c + * Since: 4 + */ + void kmod_config_iter_free_iter(struct kmod_config_iter *iter); ++bool kmod_config_unsupported_allowed(const struct kmod_ctx *ctx); + + /** + * SECTION:libkmod-module +Index: kmod-34/tools/modprobe.c +=================================================================== +--- kmod-34.orig/tools/modprobe.c ++++ kmod-34/tools/modprobe.c +@@ -198,6 +198,11 @@ static int show_config(struct kmod_ctx * + kmod_config_iter_free_iter(iter); + } + ++ // SUSE specific option: ++ if (!kmod_config_unsupported_allowed(ctx)) { ++ puts("allow_unsupported_modules 0\n"); ++ } ++ + puts("\n# End of configuration files. Dumping indexes now:\n"); + fflush(stdout); + diff --git a/README.usrmerge b/README.usrmerge new file mode 100644 index 0000000..8f377ab --- /dev/null +++ b/README.usrmerge @@ -0,0 +1,9 @@ +The Tumbleweed kmod and kernel are patched to install modules into +/usr/lib/modules (the --with-module-directory configure argument.) + +This is not compatible with upstream kernel, and upstream rejected patch to +make the kernel build system detect this. Suggested solution is to use + +make MODLIB='$(INSTALL_MOD_PATH)/usr/lib/modules/$(KERNELRELEASE)' + +when building the upstream kernel. diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..a73a05d --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + kmod-testsuite + + diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..a3de7fd --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1740181126 +commit: 8937595f476225a8217a7e8ecee144c92dd3e5689aa844988aaa8d7b71b6062f +url: https://src.opensuse.org/jengelh/kmod +revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..aef2835 --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae21019075180f8b7ba38ca9d3bdcbf1c412cfd05b5cab7bb4433dbfdd072b11 +size 256 diff --git a/kmod-33.tar.sign b/kmod-33.tar.sign new file mode 100644 index 0000000..f9eb7ee --- /dev/null +++ b/kmod-33.tar.sign @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAma7li4ACgkQm6KlpjDL +6lM6OA//W5nsBow53HlqVH4I4uPO743SREE469uT0t9rF43IY+rngUNQAZGA9RP+ +rw+vy4/v3uJ5YhZd6Z2mdPZFoG8WfM8xxhDhjhyZXpBlDCf9sp+hxZTG3/2Y5qy8 +j0RUWwnunYzIAu+icLI1Svtq3ksp/7Il5nXYoPKVnEFxMN/y7bpbniac20osvsx4 +gzJEQrNUwDlWx10jm+C2ijWFrdCEAZd8wBfDVWIZPzXxPrzGZULvkYVTe4MZ8y4p +1gWW6MTJU8ayiAJjM29RFqY2oPWLUw9hocCHDlsNuhMJ2mam+n9qSeWy7vgHm1F4 +LUR90Kx9z0AUiwYS4tAQUHbfg/NJlhVjeMGG9jBsU4bjV/ljX6ofnweAPokKRvrt +ehdzJpwvbBa2FdVyQ7WCiIo5Rf7Ry73BE5KsmGrhDWtun+DMYiYPCMQJdNWs0mXb +KDBe4A8hKU3NIRzXl7X/bPNIkMc0SFD2RuS10SqQbKS23LwGVqtwBfhrsHmD95fA +cZiT+hSjBHC/ixlF36SzlBSLgQlPmfcbmvz5WIrs9GVJ720vYrKqsOhA5LVovmjd +jUkRaQPoKb3RVeX7J8QCPYU5/3/wysSYk8NekGW4id5kc8Pk6W4/+TB7kGkk/bkT +Xbg3r3BFy7s+mWv7BG1N51XKWaF18RcrI3mTNLrxuJe6MeNczDo= +=Feot +-----END PGP SIGNATURE----- diff --git a/kmod-33.tar.xz b/kmod-33.tar.xz new file mode 100644 index 0000000..388d6cb --- /dev/null +++ b/kmod-33.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc768b3155172091f56dc69430b5481f2d76ecd9ccb54ead8c2540dbcf5ea9bc +size 514428 diff --git a/kmod-34.tar.sign b/kmod-34.tar.sign new file mode 100644 index 0000000..aced671 --- /dev/null +++ b/kmod-34.tar.sign @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAme45F4ACgkQm6KlpjDL +6lPi9RAAj8FyJYcqVfZp4oOf36HGw9YXaaKWQcEBXys9UHFXWv553Gdh7pYkCSS4 +oUX4kEe6yBuZi1k/WXxpttqSuL8gY9hEk7zLGeXzqttX3RuN2FkKPca2LSSFotMO +uUTWGI7exdG+FzyJFJQQftuCRni5+SxzvI11hkoTPaLWCuiCZgxI1w2AooT1kf84 +esIvWp5z1c8ih4rVA2zy+cJUeCauvUN/R3G6SLE0IZjgSPErbUG24Gb1j0Rx5XHS +K9svzwiKxWZG77W9JkNnsi0zKxsbw5UvfViKdMPlq6Ypr7eJCHIMufYqj3YHjX7w +E6valX6KX9F5Scwu/84TUYEMm0BWCQZ9NaMvj4RYYlWnQLk1dR3b2K53SP8c6TKM +m9H03nRB6CN1SuNPxTCu47D22asgJE+5g+KAio/ALfvBmPRdSKniNiWAnjCeMqwl +QT2TeP3g4BhbqEgg3JTVDTChXItkfwRsRzUQJdnyJQzOC2OnO2qfk09PqFjxgyhq +M6IovupdO4iZs30kkG/gb+4sWXKqUYkGQrUWCgrhA6B7UdEgPyejDvBD1K0VhWbu +aO60cVoWvznvreylXN+Q/4BTOHWBkyQdoiLqWDfTST7aH8NvNKIpEDb46hfuKT5P +ZZ0o5OZFkHPzBC9bOtIBpk25FvxEDNRvJhF12co8UIu/cs0JbXE= +=jtsg +-----END PGP SIGNATURE----- diff --git a/kmod-34.tar.xz b/kmod-34.tar.xz new file mode 100644 index 0000000..b95946d --- /dev/null +++ b/kmod-34.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12e7884484151fbd432b6a520170ea185c159f4393c7a2c2a886ab820313149a +size 338600 diff --git a/kmod-testsuite.spec b/kmod-testsuite.spec new file mode 100644 index 0000000..adfa0fc --- /dev/null +++ b/kmod-testsuite.spec @@ -0,0 +1,105 @@ +# +# spec file for package kmod-testsuite +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200 +%define use_zstd 1 +%endif + +Name: kmod-testsuite +%define lname libkmod2 +Version: 34 +Release: 0 +Summary: Testsuite of the kmod package +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: System/Kernel +URL: https://www.kernel.org/pub/linux/utils/kernel/kmod/ + +#Git-Web: http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary +#Git-Clone: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod +Source: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.xz +Source2: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.sign +Source3: kmod.keyring +Patch1: 0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch +Patch2: 0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch +Patch3: 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch +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 +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: docbook-xsl-stylesheets +BuildRequires: kernel-default-devel +BuildRequires: libopenssl-devel >= 1.1.0 +BuildRequires: libtool +BuildRequires: pkg-config >= 0.21 +BuildRequires: scdoc +BuildRequires: xz +BuildRequires: pkgconfig(liblzma) >= 4.99 +%if 0%{?use_zstd} +BuildRequires: zstd +BuildRequires: pkgconfig(libzstd) +%endif +BuildRequires: pkgconfig(zlib) +Requires: suse-module-tools +%if !0%{?is_opensuse} +ExcludeArch: %ix86 s390 +%endif +%define kdir /usr/src/linux-obj/%_target_cpu/default + +%description +This spec file does not produce any binary RPMs. It just builds kmod and +runs its testsuite. It has been split off the kmod package to avoid a +buildloop with the kernel. + +%prep +%setup -q -n kmod-%version +%autopatch -p1 + +%build +rm -f m4/gtk-doc.m4 libkmod/docs/gtk-doc.make # dangling symlinks +touch m4/gtk-doc.m4 libkmod/docs/gtk-doc.make +GTKDOCIZE=/bin/true autoreconf -fi +export LDFLAGS="-Wl,-z,relro,-z,now" +# The extra --includedir gives us the possibility to detect dependent +# packages which fail to properly use pkgconfig. +%configure \ + --with-xz \ + --with-zlib \ + --with-openssl \ +%if 0%{?use_zstd} + --with-zstd \ +%endif + --includedir="%_includedir/kmod" \ + --with-rootlibdir="%_libdir" \ +%if 0%{?suse_version} > 1500 + --with-module-directory="%_prefix/lib/modules" \ +%endif + --bindir="%_bindir" +%make_build KDIR="%kdir" + +%install +# empty + +%check +%ifarch ppc64 +make check V=1 KDIR="%kdir" || echo "Warning: bypass boo#897845" +%else +make check V=1 KDIR="%kdir" +%endif + +%changelog diff --git a/kmod.changes b/kmod.changes new file mode 100644 index 0000000..0aa3313 --- /dev/null +++ b/kmod.changes @@ -0,0 +1,803 @@ +------------------------------------------------------------------- +Fri Feb 21 22:41:36 UTC 2025 - Jan Engelhardt + +- Update to release 34 + * modinfo now dlopens compression libraries, and only if needed. + (insmod/modprobe exercises the kernel's built-in decompression + anyway, so is unaffected). + * depmod: add -m option for overriding the module directory at + runtime. + * depmod: deleted deprecated options --unresolved-error, --quiet, + -root and --map. + * rmmod: deleted deprecated option -w. + * insmod: deleted deprecated options -p, -s. +- Delete 0001-testsuite-fix-path-for-test-user.patch (obsolete) + +------------------------------------------------------------------- +Wed Aug 21 21:19:38 UTC 2024 - Jan Engelhardt + +- Update to release 33 + * Add weak dependencies + * Stop parsing .alias files from modprobe.d directories +- Delete no-stylesheet-download.patch (merged) +- Add 0001-testsuite-fix-path-for-test-user.patch + +------------------------------------------------------------------- +Thu Apr 4 15:13:53 UTC 2024 - Michal Suchanek + +- Update to release 32 + * Drop python bindings + * Remove unmaintained experimental tool +- Drop upstreamed patches + * configure-Detect-openssl-sm3-support.patch + * man-depmod.d-Fix-incorrect-usr-lib-search-path.patch + * usr-lib-modprobe.patch + * kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch + * tools-depmod-fix-Walloc-size.patch + * libkmod-remove-pkcs7-obj_to_hash_algo.patch + * usr-lib-modules.patch + * configure-Check-that-provided-paths-are-absolute.patch +- Refresh no-stylesheet-download.patch + +------------------------------------------------------------------- +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 + +- Fix tests + * refresh configure-Detect-openssl-sm3-support.patch + * refresh kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch + * refresh usr-lib-modules.patch + +------------------------------------------------------------------- +Fri Sep 29 16:38:01 UTC 2023 - Jan Engelhardt + +- Update to release 31 + * Allow passing a path to modprobe so the module is loaded from + anywhere from the filesystem. + * Use in-kernel decompression if available. + * depmod learned a `-o ` option to allow using a separate + output directory. +- Delete depmod-Introduce-outdir-option.patch, + testsuite-Handle-different-sysconfdir.patch, + testsuite-depmod-use-defines-for-the-rootfs-lib_modu.patch, + 0001-testsuite-repair-read-of-uninitialized-memory.patch, + testsuite-Move-setup-rootfs-logic-from-Makefile-to-s.patch + + +------------------------------------------------------------------- +Mon Jul 24 12:50:23 UTC 2023 - Michal Suchanek + +- Remove compatibility patches, add README.usrmerge (boo#1212835). + * Delete Provide-fallback-for-successfully-running-make-modules_install.patch + * Delete compat-module_directory-module_prefix.patch + +------------------------------------------------------------------- +Mon Jul 17 17:54:54 UTC 2023 - Michal Suchanek + +- Use pkgconfig for kmod configuration. + * Delete kmod-Add-config-command-to-show-compile-time-configu.patch + * Add kmod-Add-pkgconfig-file-with-kmod-compile-time-confi.patch, + Provide-fallback-for-successfully-running-make-modules_install.patch + compat-module_directory-module_prefix.patch. +- Refresh usr-lib-modprobe.patch, usr-lib-modules.patch. +- Add configure-Detect-openssl-sm3-support.patch to + fix build with older openssl without SM3 support. + +------------------------------------------------------------------- +Sun Jul 16 15:55:38 UTC 2023 - Jan Engelhardt + +- Edit usr-lib-modules.patch to /lib/modules provide fallback + behavior for successfully running `make modules_install` in + pristine tarballs. + +------------------------------------------------------------------- +Fri Jun 30 16:39:17 UTC 2023 - Michal Suchanek + +- 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 + +------------------------------------------------------------------- +Fri May 26 10:22:03 UTC 2023 - Michal Suchanek + +- On usrmerged system move kernel modules into /usr as well (boo#1211796) + * usr-lib-modules.patch + * testsuite-Move-setup-rootfs-logic-from-Makefile-to-s.patch +- Refresh usr-lib-modprobe.patch +- Refresh no-stylesheet-download.patch + +------------------------------------------------------------------- +Thu May 4 11:17:59 UTC 2023 - Dominique Leuenberger + +- Add _multibuild to define 2nd spec file as additional flavor. + Eliminates the need for source package links in OBS. + +------------------------------------------------------------------- +Tue Dec 27 12:38:29 UTC 2022 - Ludwig Nussel + +- Replace transitional %usrmerged macro with regular version check (boo#1206798) + +------------------------------------------------------------------- +Thu Jun 30 16:15:35 UTC 2022 - Jan Engelhardt + +- Update to release 30 + * libkmod: support for the SM3 hash algorithm + * modprobe: added the --wait option +- Drop libkmod-Provide-info-even-for-modules-built-into-the.patch + (merged) +- Add 0001-testsuite-repair-read-of-uninitialized-memory.patch + +------------------------------------------------------------------- +Mon Mar 28 15:01:46 UTC 2022 - Dirk Müller + +- add keyring so that gpg validation actually does something + +------------------------------------------------------------------- +Mon Dec 6 11:00:57 UTC 2021 - Michal Suchanek + +- Ensure that kmod and packages linking to libkmod provide same features + (bsc#1193430). + +------------------------------------------------------------------- +Thu Oct 28 07:38:29 UTC 2021 - Michal Suchanek + +- Enable ZSTD on 15.3 as well (boo#1192104). +- Only test ZSTD in testsuite on releases where it is available. + +------------------------------------------------------------------- +Fri Sep 24 10:40:22 UTC 2021 - Michal Suchanek + +- Enable ZSTD on 15.4 (jsc#SLE-21256). + +------------------------------------------------------------------- +Mon Sep 6 12:29:23 UTC 2021 - Michal Suchanek + +- Use docbook 4 rather than docbook 5 for building man pages (bsc#1190190). + * Refres no-stylesheet-download.patch + +------------------------------------------------------------------- +Fri Aug 27 07:56:40 UTC 2021 - Michal Suchanek + +- Add ZSTD support on Tumbleweed only. Add a way to detect ZSTD. + +------------------------------------------------------------------- +Wed Aug 18 10:55:57 UTC 2021 - Michal Suchanek + +- Display module information even for modules built into the running kernel + (bsc#1189537). + + libkmod-Provide-info-even-for-modules-built-into-the.patch + +------------------------------------------------------------------- +Mon Jun 7 06:29:19 UTC 2021 - Callum Farmer + +- Enable support for ZSTD compressed modules + +------------------------------------------------------------------- +Sat May 29 09:58:09 UTC 2021 - Michal Suchanek + +- /usr/lib should override /lib where both are available. Support /usr/lib for + depmod.d as well. + * Refresh usr-lib-modprobe.patch +- Remove test patches included in release 29 + - kmod-populate-modules-Use-more-bash-more-quotes.patch + - kmod-testsuite-compress-modules-if-feature-is-enabled.patch + - kmod-also-test-xz-compression.patch + +------------------------------------------------------------------- +Thu May 27 22:20:42 UTC 2021 - Jan Engelhardt + +- Update to release 29 + * Fix `modinfo -F` not working for built-in modules and + certain fields. + * Fix a memory leak, overflow and double free on error path. +- Drop 0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch, + 0001-libkmod-config-revamp-kcmdline-parsing-into-a-state-.patch, + 0002-libkmod-config-re-quote-option-from-kernel-cmdline.patch + (all merged) + +------------------------------------------------------------------- +Thu Feb 18 08:19:01 UTC 2021 - Jiri Slaby + +- Fix grub's requoted kernel parameters (bsc#1181111) + * 0001-libkmod-config-revamp-kcmdline-parsing-into-a-state-.patch + * 0002-libkmod-config-re-quote-option-from-kernel-cmdline.patch + +------------------------------------------------------------------- +Thu Feb 4 08:55:08 UTC 2021 - Michal Suchanek + +- Fix tests to not test disabled features. Disable zstd again. + * kmod-populate-modules-Use-more-bash-more-quotes.patch + * kmod-testsuite-compress-modules-if-feature-is-enabled.patch + * kmod-also-test-xz-compression.patch + +------------------------------------------------------------------- +Fri Jan 29 11:54:30 UTC 2021 - Dominique Leuenberger + +- Supplement bash-completion subpackage against the main package + and bash-completion. +- Also require the main package plus bash-completion: the + completion package is useless without either of the two. + +------------------------------------------------------------------- +Thu Jan 28 12:05:17 UTC 2021 - Michal Suchanek + +- Update to v28 + * Add Zstandard to the supported compression formats using libzstd + (tests only - cannot be disabled in tests) + * Ignore ill-formed kernel command line, e.g. with "ivrs_acpihid[00:14.5]=AMD0020:0" + option in it + * Fix some memory leaks + * Fix 0-length builtin.alias.bin: it needs at least the index header + +------------------------------------------------------------------- +Thu Jan 28 11:03:09 UTC 2021 - Petr Vorel + +- Backport upstream fix 0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch + +------------------------------------------------------------------- +Tue Jan 12 16:04:41 UTC 2021 - Michal Suchanek + +- Update usr-lib-modprobe.patch to upstream submission (boo#1180821). + +- Require libxslt-tools for xsltproc and use local stylesheet. + * no-stylesheet-download.patch + +------------------------------------------------------------------- +Fri Nov 6 11:41:50 UTC 2020 - Jan Engelhardt + +- Add usr-lib-modprobe.patch [boo#1092648] + +------------------------------------------------------------------- +Fri Oct 16 10:00:21 UTC 2020 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + +------------------------------------------------------------------- +Tue Jul 7 13:05:53 UTC 2020 - Jan Engelhardt + +- Drop old RPM constructs from the build recipe. + +------------------------------------------------------------------- +Fri Jul 3 11:36:22 UTC 2020 - Michal Suchanek + +- Drop kmod-compat (boo#1173353): + The symlinks in kmod-compat are not obsolete. They are + desirable for kernel module autoload. The "kernel.modprobe" + sysctl references /sbin/modprobe, and changing it to + "/usr/bin/kmod load" is not possible, because this sysctl + specifies a single executable, not a command (so spaces will be + treated as part of the filename). + +------------------------------------------------------------------- +Wed May 27 23:31:52 UTC 2020 - Jan Engelhardt + +- Update to release 27 + * Link to libcrypto rather than requiring openssl. + * Use PKCS#7 instead of CMS for parsing module signature to be + compatible with LibreSSL and OpenSSL < 1.1.0. + * Teach modinfo to parse modules.builtin.modinfo. When using + Linux kernel >= v5.2~rc1, it is possible to get module + information from this new file. + +------------------------------------------------------------------- +Tue Feb 12 19:41:20 UTC 2019 - Michal Suchanek + +- Enable PKCS#7 signature parsing again - requires openssl +- Fix testsuite build - requires kernel-default-devel + +------------------------------------------------------------------- +Fri Feb 8 00:31:29 UTC 2019 - Jan Engelhardt + +- Update to new upstream release 26 + * depmod now handles parallel invocations better by protecting + the temporary files being used. + * modprobe has a new --show-exports option. Under the hood, + this reads the .symtab and .strtab sections rather than + __versions so it shows useful data even if kernel is + configured without modversions (CONFIG_MODVERSIONS). + * modinfo supports PKCS#7 parsing by using openssl. +- Replaced the asn1c-based parser by an openssl-based PKCS + parser. +- Remove libkmod-signature-Fix-crash-when-module-signature-is.patch, + libkmod-signature-pkcs-7-fix-crash-when-signer-info-.patch, + libkmod-signature-implement-pkcs7-parsing-with-asn1c.patch + (not accepted upstream) +- Remove enum.patch, + depmod-Prevent-module-dependency-files-corruption-du.patch, + depmod-Prevent-module-dependency-files-missing-durin.patch, + depmod-shut-up-gcc-insufficinet-buffer-warning.patch + (accepted upstream) + +------------------------------------------------------------------- +Fri Dec 7 14:55:21 UTC 2018 - Michal Suchanek + +- Fix module dependency file corruption on parallel invocation (bsc#1118629). +- Add depmod-Prevent-module-dependency-files-corruption-du.patch +- Add depmod-Prevent-module-dependency-files-missing-durin.patch +- Add depmod-shut-up-gcc-insufficinet-buffer-warning.patch + +------------------------------------------------------------------- +Wed Jul 18 08:51:06 UTC 2018 - jengelh@inai.de + +- Remove enum padding constants, add enum.patch (boo#1097869). + +------------------------------------------------------------------- +Fri Jun 8 21:37:14 UTC 2018 - vlad.botanic@gmail.com + +- allow 'modprobe -c' print the status of "allow_unsupported_modules" option. + Add 0012-modprobe-print-unsupported-status.patch + +------------------------------------------------------------------- +Fri Apr 6 10:43:42 UTC 2018 - msuchanek@suse.com + +- Fix crash when PKCS#7 signer name is not present in signature (bsc#1088244) + Add libkmod-signature-pkcs-7-fix-crash-when-signer-info-.patch + +------------------------------------------------------------------- +Fri Mar 16 13:08:14 CET 2018 - ro@suse.de + +- for sle, buildexclude the 32bit platforms in kmod-testsuite, + they have no kernel binaries anyway (bnc#1085640) + +------------------------------------------------------------------- +Thu Mar 8 16:34:16 UTC 2018 - msuchanek@suse.com + +- Fix PKCS#7 signature display in modinfo (bsc#1077693). + * Add libkmod-signature-implement-pkcs7-parsing-with-asn1c.patch + * Add libkmod-signature-Fix-crash-when-module-signature-is.patch + * Refresh 0010-modprobe-Implement-allow-unsupported-modules.patch + +------------------------------------------------------------------- +Thu Feb 1 13:49:25 UTC 2018 - msuchanek@suse.com + +- Update to kmod v25 + * Fix resolving symbols with MODULE_REL_CRCS (bsc#1077867) +- Drop depmod-Don-t-add-.TOC.-when-it-s-in-the-kernel.patch + +------------------------------------------------------------------- +Thu Dec 7 12:56:32 UTC 2017 - msuchanek@suse.com + +- Fix resolving .TOC. in modules on 4.4 and older kernel (bsc#1070209) + depmod-Don-t-add-.TOC.-when-it-s-in-the-kernel.patch + +------------------------------------------------------------------- +Mon Nov 20 14:34:59 UTC 2017 - msuchanek@suse.com + +- Move dependency on suse-module-tools to kmod-compat (bsc#1047911). + +------------------------------------------------------------------- +Mon Aug 28 13:42:33 UTC 2017 - mmarek@suse.com + +- Add missing coreutils dependency for initrd macros (bsc#1055492). + +------------------------------------------------------------------- +Wed Jul 26 13:27:59 UTC 2017 - jengelh@inai.de + +- Add versioned requires between kmod-compat -> kmod + +------------------------------------------------------------------- +Thu Jul 6 08:07:50 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 24 + * libkmod: fix use of strcpy + * depmod: fix string overflow + * depmod: ignore related modules in depmod_report_cycles + * libkmod: Fix handling of quotes in kernel command line + * libkmod-config: replace 0/1 with bool + * depmod: handle nested loops +- Drop 0001-use-correct-sort-method-in-test-array.patch, + 0002-depmod-ignore-related-modules-in-depmod_report_cycle.patch, + 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch + (applied upstream) +- Remove support for openSUSE < 13.2 (non-dracut mkinitrd) +- Separate bash completion functions into extra package +- Move some of the symlinks from kmod-compat to kmod, + as kmod still does not have native support for all functions. + +------------------------------------------------------------------- +Tue Nov 22 09:10:54 UTC 2016 - yousaf.kaukab@suse.com + +- 0002-depmod-ignore-related-modules-in-depmod_report_cycle.patch: + Fix buffer overflow when printing modules in cyclic dependency + chain (boo#1008186) + +------------------------------------------------------------------- +Thu Jul 21 09:56:02 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 23 +* Don't add comment to modules.devname if it would otherwise be + empty. +* Ignore .TOC. symbols in depmod parsing. +* Fix crash on modinfo while checking for available signature of + unknown type. +* Teach modinfo about PKCS#7 module signatures. +- Drop depmod-Ignore_PowerPC64_ABIv2_.TOC.symbol.patch (merged), + 0001-libkmod-Handle-long-lines-in-proc-modules.patch (merged) + +------------------------------------------------------------------- +Thu Jul 21 09:37:54 UTC 2016 - mmarek@suse.com + +- Regenerate initrd on kmod update (bsc#989788) +- Sync specfile with openSUSE:Factory + +------------------------------------------------------------------- +Fri Jun 17 15:18:29 UTC 2016 - mmarek@suse.cz + +- libkmod: Handle long lines in /proc/modules (bsc#983754) + 0001-libkmod-Handle-long-lines-in-proc-modules.patch + +------------------------------------------------------------------- +Tue Feb 9 15:15:56 UTC 2016 - dvaleev@suse.com + +- Fix kernel master build for ppc64le (bsc#1070209) + depmod-Ignore_PowerPC64_ABIv2_.TOC.symbol.patch + +------------------------------------------------------------------- +Mon Dec 7 14:27:13 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 22 +* support `insmod -f` +* depmod: do not fall back to uname on bad version + +------------------------------------------------------------------- +Sat Nov 7 10:29:54 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 21 +* The kmod tool now prints the relevant configuration options it was built + with when the "--version" argument is passed. + +------------------------------------------------------------------- +Tue Apr 21 14:38:55 UTC 2015 - mmarek@suse.cz + +- Update to kmod 20 +* More robust ELF parsing +* To fix a race, modprobe only looks at modules.builtin to + determine a builtin module, so e.g. 'modprobe vt' will no longer + work. +* Other fixes +* Testsuite moved to a separate package, since it is now building + the test modules from sources, which requires the kernel package. +* dropped kmod-blacklist-fixtest.patch (merged upstream) +* includes 0001-Fix-race-while-loading-modules.patch (bsc#998906) + +------------------------------------------------------------------- +Thu Apr 2 18:24:23 UTC 2015 - crrodriguez@opensuse.org + +- If kmod packge changes, regenerate the initrd. + +------------------------------------------------------------------- +Fri Mar 6 07:58:19 UTC 2015 - meissner@suse.com + +- 0001-use-correct-sort-method-in-test-array.patch: use correct test + bsc#920930 + +------------------------------------------------------------------- +Sun Feb 22 10:41:40 UTC 2015 - meissner@suse.com + +- kmod-blacklist-fixtest.patch: tag the test in test-blacklist correctly + +------------------------------------------------------------------- +Sun Nov 16 20:54:36 UTC 2014 - jengelh@inai.de + +- Move include files out of pkg/ into a normal subdir of includedir. + +------------------------------------------------------------------- +Sun Nov 16 18:22:37 UTC 2014 - crrodriguez@opensuse.org + +- Update to kmod 19 +* Fix missing CLOEXEC in library +* Fix error message while opening kmod's index +* static-nodes: when writing in tmpfiles format, indicate that + creation of static nodes should only happen at boot. This is used + and required by systemd-217+. + +------------------------------------------------------------------- +Sat Nov 8 00:16:55 UTC 2014 - crrodriguez@opensuse.org + +- Build with full RELRO. +- Enable verbose build (build checks depend on that) + +------------------------------------------------------------------- +Thu Sep 4 09:16:19 UTC 2014 - mmarek@suse.cz + +- Do not filter unsupported modules when running a vanilla kernel + (bnc#871066). New patch: + 0011-Do-not-filter-unsupported-modules-when-running-a-van.patch + +------------------------------------------------------------------- +Tue Jun 24 13:15:37 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 18 +* Calling depmod with modules creating a dependency loop will now + make depmod return an error and not update the indexes. This is + to protect the current index not being overridden by another + index that may cause a boot failure, depending on the buggy module. +- Remove last vestiges of gpg-offline +- Remove 0001-depmod-Make-dependency-loops-be-fatal.patch + (applied upstream) + +------------------------------------------------------------------- +Fri May 16 11:00:43 UTC 2014 - matwey.kornilov@gmail.com + +- Remove 0001-Fix-recursion-loop-in-mod_count_all_dependencies-whe.patch +- Add 0001-depmod-Make-dependency-loops-be-fatal.patch (upstream fix for bnc#872715) + +------------------------------------------------------------------- +Sat Apr 12 12:33:16 UTC 2014 - matwey.kornilov@gmail.com + +- Add 0001-Fix-recursion-loop-in-mod_count_all_dependencies-whe.patch +* Fix segfault at cycled deps (bnc#872715) + +------------------------------------------------------------------- +Fri Apr 11 07:27:16 UTC 2014 - mmarek@suse.cz + +- testsutie: Uncompress most modules (updated test-files.tar.xz) +- testsuite: Do not run tests with *.ko.gz if zlib is not enabled +- Disable compression support, as other tools do not support it + (e.g. module signing) + +------------------------------------------------------------------- +Tue Apr 8 08:36:22 UTC 2014 - mmarek@suse.cz + +- Remove the now obsolete test-files.tar.xz tarball + +------------------------------------------------------------------- +Mon Apr 7 19:07:17 UTC 2014 - mmarek@suse.com + +- Updated to kmod 17 +* Do not require xsltproc for build +* Parse softdeps stored in kernel modules +* Add experimental python bindings (not enabled in the package yet) +* Misc bugfixes +- Deleted patches that went upstream. Only the unsupported modules + feature remains: + 0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch + 0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch + 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch + 0010-modprobe-Implement-allow-unsupported-modules.patch + +------------------------------------------------------------------- +Tue Apr 1 13:01:28 UTC 2014 - mmarek@suse.cz + +- libkmod: Ignore errors from softdeps (bnc#831227) +- config: also parse softdeps from modules (bnc#831227) + +------------------------------------------------------------------- +Mon Mar 31 16:14:58 UTC 2014 - mmarek@suse.cz + +- libkmod-config,depmod: Accept special files as configuration + files, too +- libkmod-config: Only match dot before '=' in /proc/cmdline +------------------------------------------------------------------- +Tue Mar 11 13:38:23 UTC 2014 - mmarek@suse.cz + +- Provide and obsolete module-init-tools (bnc#867442) + +------------------------------------------------------------------- +Fri Mar 7 09:25:02 UTC 2014 - mmarek@suse.cz + +- testsuite: Fix uname() during glibc startup + +------------------------------------------------------------------- +Wed Mar 5 14:50:34 UTC 2014 - mmarek@suse.cz + +- testsuite: Check the list of loaded modules after a test +- testsuite: Add test for modprobe --force +- testsuite: Do not provide finit_module(2) on older kernels +- Add some tests for kernels without finit_module(2) +- libkmod-module: Simplify kmod_module_insert_module() +- libkmod: Implement filtering of unsupported modules (fate#316971) +- modprobe: Implement --allow-unsupported-modules (fate#316971) +- make the %check section fatal + +------------------------------------------------------------------- +Wed Feb 26 13:23:41 UTC 2014 - mmarek@suse.cz + +- Remove "rmmod -w" documentation and getopt entry +- modprobe: Recognize --allow-unsupported-modules on commandline + (fate#316971) +- libkmod-config: Recognize allow_unsupported_modules in the + configuration (fate#316971) + +------------------------------------------------------------------- +Wed Feb 26 13:09:21 UTC 2014 - mmarek@suse.cz + +- Drop the non-upstream kmod-no-static.diff; the size difference is + negligible. + +------------------------------------------------------------------- +Tue Jan 7 11:59:38 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 16 +* The option to wait on module removal has been removed from the + kernel, and now from rmmod. The constant KMOD_REMOVE_NOWAIT in + libkmod is still there for backwards compatibility but it is + always enforced, passing O_NONBLOCK to delete_module(2). + +------------------------------------------------------------------- +Mon Sep 2 21:36:22 UTC 2013 - jengelh@inai.de + +- Update to new upstream release 15 +* kmod static-nodes no longer fails if modules.devname does not exist +* Fix getting boolean parameter from kernel cmdline in case the + value is omitted +* kmod static-nodes creates parent directories if given a -o option +- Add kmod-no-static.diff + +------------------------------------------------------------------- +Wed Jul 3 22:18:38 UTC 2013 - jengelh@inai.de + +- Update to new upstream release 14 +* Some bug fixes and a new "static-nodes" command to parse + modules.devname. + +------------------------------------------------------------------- +Mon Apr 15 22:27:55 UTC 2013 - crrodriguez@opensuse.org + +- Update to new upstream release 13 +* depmod: --symbol-prefix actually requires an argument +* depmod: fix builtin symbols resolution when the prefix symbol is set +* libkmod: Use secure_getenv if available +* rmmod: Teach rmmod about builtin modules +* libkmod: add finit_module logic +* modprobe: Fix assertion on --show-depends with bogus config file +* Many other bugfixes see https://lwn.net/Articles/546711 + +------------------------------------------------------------------- +Thu Dec 6 11:53:05 UTC 2012 - jengelh@inai.de + +- Update to new upstream release 12 +* Fix removing vermagic from module when told to force load a module +* Fix removing __versions section when told to force load a + module: we need to mangle the section header, not the section. +* modinfo no longer fails while loading a module from file when + path contains ".ko" substring + +------------------------------------------------------------------- +Fri Nov 23 17:18:03 UTC 2012 - jengelh@inai.de + +- Require suse-module-tools now that it is present in Base:System +- kmod-compat depends on kmod, add that missing Requires. + +------------------------------------------------------------------- +Sat Nov 10 15:07:54 UTC 2012 - hrvoje.senjan@gmail.com + +- Update to kmod-11 +* Fix testsuite defining symbols twice on 32 bit systems +* Allow to check generated files against correct ones +* libkmod now keeps a file opened after the first call to +* kmod_module_get_{info,versions,symbols,dependency_symbols}. This + reduces signficantly the amount of time depmod tool takes to + execute. Particularly if compressed modules are used. +* Remove --with-rootprefix from build system. It was not a great + idea after all and should not be use since it causes more harm + than benefits. +* Hide --wait option on rmmod. This feature is being targeted for + removal from kernel. rmmod still accepts this option, but it is + hidden now: man page and usage() says nothing about it and if + it is used, user will get a 10s sleep. This way we can check and + help if anyone is using this feature. +* Refactor message logging on all tools, giving proper prefix, + routing everything to syslog when asked for, etc. +* Fix parsing of modules.order when using compressed modules +* Usage messages go to stdout instead of stderr +* Fix memory leak in hash implementation + +------------------------------------------------------------------- +Thu Sep 13 23:19:10 UTC 2012 - jengelh@inai.de + +- Provide the "modutils" virtual symbol +- Update to new upstream release 10 +* Read coresize from /sys if supported +* Add flag to kmod_module_probe_insert() to apply blacklisting + during probe only if mod is an alias. Now modprobe uses this + flag by default. + +------------------------------------------------------------------- +Wed Jun 20 08:41:03 UTC 2012 - rmilasan@suse.com + +- Update to new upstream release 9 +* build-sys: allow compressed modules in testsuite +* build-sys: Make dirs writable on rootfs creation +* depmod: use ferror and fclose to check for error +* depmod: return error when index is truncated due to ENOSPC +* depmod: fix coding-style issue in array declaration +* depmod: fail if any index could not be created +* depmod: don't return error if modules.builtin don't exist +* libkmod-util: split function for usec conversion +* libkmod-util: add missing stdbool.h include +- Fix broken testsuites on 32bit systems. + add: fix-32bits.diff +------------------------------------------------------------------- +Sat Apr 21 01:55:30 UTC 2012 - jengelh@medozas.de + +- Restore patch descriptions + (and use `quilt setup` for rediff in future) + +------------------------------------------------------------------- +Thu Apr 19 14:56:55 UTC 2012 - rmilasan@suse.com + +- Update to new upstream release 8 +* doc: remove links to NULL going nowhere. +* modprobe: handle -ENOENT return from init_module. +* doc: silent man page generation and fix gtk-doc warnings. +* modprobe: fix typo in config dump: option->options. + +------------------------------------------------------------------- +Wed Apr 18 10:58:03 UTC 2012 - rmilasan@suse.com + +- Update to new upstream release 7 +* build-sys: don't set CFLAGS and LDFLAGS. +* build-sys: re-organize configure.ac. +* configure.ac: Move link only flags out of CFLAGS and into LDFLAGS. +* Add CC_CHECK_LDFLAGS_APPEND m4 macro. +* config: use order /etc, /run, /lib. +* modprobe: set log prio to 0 if user passed -q arg. +* modprobe: always try to remove all modules in command line. +* modprobe: don't check if module builtin to decide if it's builtin. +* modprobe: fix error path in removing modules. + +------------------------------------------------------------------- +Sat Mar 10 17:44:05 UTC 2012 - rschweikert@suse.com + +- place binary in /usr tree (UsrMerge project) + +------------------------------------------------------------------- +Sat Mar 3 20:50:43 UTC 2012 - jengelh@medozas.de + +- Update to new upstream release 6 +* New API: kmod_module_apply_filter, a function to apply filters + in a list of modules +* Lookup modules.builtin.bin to decide if a module is built into + the kernel +* Resolve infinite loops with softdeps and user configs with + install commands + +------------------------------------------------------------------- +Tue Feb 7 00:56:51 UTC 2012 - jengelh@medozas.de + +- Update to new upstream release 5 +* modprobe no longer works with paths: it only accepts module names + and/or aliases now. More code is now shared by libkmod and + modprobe. + +------------------------------------------------------------------- +Fri Jan 20 18:13:50 UTC 2012 - jengelh@medozas.de + +- Update to new upstream release 4 +* new APIs in libkmod: blacklists, install/remove commands, + aliases, options, softdeps and dumping indexes + +------------------------------------------------------------------- +Fri Jan 6 00:48:41 UTC 2012 - jengelh@medozas.de + +- Update to new upstream release 3 +* new APIs in libkmod: get symbols from module, parsing the ELF + section, dependency symbols, insert module like modprobe +* support for Xz-compressed modules +* the depmod tool + +------------------------------------------------------------------- +Sat Dec 24 17:23:09 UTC 2011 - crrodriguez@opensuse.org + +- Use --enable-zlib and buildRequire zlib +- run make check + +------------------------------------------------------------------- +Sun Dec 18 20:16:11 UTC 2011 - jengelh@medozas.de + +- Initial package for build.opensuse.org diff --git a/kmod.keyring b/kmod.keyring new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..c4855cbe0e650c1ff2da47134b54bef6cfcf56bfe82452c7308f034779420bbd GIT binary patch literal 3455 zcma);cQhM}-p7eOB6bC_YHwPUDhaAoZM9d7D34L2c9axF?Y3go4n=EM&04Yds;W_& zS|!w$+~;}jeb4)z^PYRp{qy(x`*S|uPX+);su%wlL`+XqR_=u=1@cv;DR!G-4UU>9 z4fADe-<{3KP7qU?Gp^S5Z5g*aSc`jWZo?`HDp;fNgXRsqZvAzG@r&ZUiTkK)+-U9n z?ly|aYAX|0Xqt|izO)n(>X=3<-clby^ zKc`6P#(czApqY7txd{>urXj^~cB~DLXJ}jN10dw|ux1_v<$&w^T3GdfB{h)cN>OyK zQhP#@skS7QN`G9$tbY7%1ML`H_oUxC-?Mc)E_%=(WyG?mf#S}`uDS0^OYT}`la#x4 ze$=gJU#Z&VwDz0Fm*}6JLk(3M%ket81Bgi>cw2E?$ZNd)9SIvLu@auCw=~csGpW4! zo$c#Ln7Q$87avO#8raM~#9VwK+<`Va#8o)rMKQtMNn~zrzo(hDD?GMVL9fX@O-0-l zNQzwSDtQAjZ zWm{N;_?F)Iag2v2-`bTRk5zRQ%=PvvCzeROxloeh$8peTLjrN1kJO!G!Ch+-Y&EKk zBi~az4cegb{YLk7oAb4`>GXUJL_Oot91#OC5pkX9qi2qAUmgu-9$mPP;}cgNW%s`x zl1|PZf8S77Pd{gONk=aal~{lxDHAb(=q4G!FjK}Bz(GPmLq$nJ0w5-5p#)G-(~z

A`K|yGkH}ZWJ*KCcZg@%O}0F)_^gWVo@*P+MKCZM#sIU z!LP9LMF0l!>S3LU&%wF(^WDR;RkT5je}jm~{1oG0i&=J|V8H7vPt^`t!M!WIF}U+y zSpRU!7;WN|=oM!pepI2MoCZAvM*8p2P9M;e0N>9<{<08>Qm|WC^%7ovk&%)8M}6YQ zrcd>jchCK7X?puxl;U<=vyPMh=znq$CxaiC+aOnY=L)wx+6aeWmgQIOK1!{O#r^f3k zp3_W$0k_xBu%RKVVaYdUr)1_27^0?_7P?pR%5vq;*Xp1H>>5}Djq~p=#gMdDAReMm z%uw^LOZhlqqn#R)9t%>Lj?#xZ0x8P59e8|Afz*SK-dyu?2q?$2|BWJ@)d zW2Sf@)**}yemAOR`e zGVDruzQ)4jcC47qctM@WnKM1_g8q4rLpyU#>7GKkopxBD=KdG-%xSH8+y@|Qxpsd; zm~$0}wJMJ|r41)JTIC|GPVC=uCiySWTs+{e{~t7e6#TyiO>hHrNl{As)iPuAcmk^r zV%Xk5 zbkLYNvpnf5GD;@IL;JjGiF>EW;oc-nQK0%Hbq~v0*oRMaEA_%jBbpE@4&ZRk(4y16 z$fqtc1!0eZVd?ZJnzNfASf$I=728YSxQ#CI88XAdg8 z=cgR3=3Iq|6AuuccpQJLSnbJWV(s9Ra*ZI6oHT*>v(;*H0^f#_|EYh5<{KpLOP`ig zF0pG)&O=MZWDSalKbmvtRwa?cd=4Ll4!k7e)^bvTBY|a2 z%>njT(c~jP7##TAN(yuO0Q!rxAh%b3f}et-*PDjF!Qa`lFJ>-oh};p@EsGi+7bDL( z>VMQhvKxV23vPeG)f$FPR=Wr@lj}5_wF}icnrBeCl?Z5nW*gXUnUyD6jH~8oW{OnO zvvqp;M*eZTc09ije-QD(eAe?zl8RfV$XKCkD&~HbC0kipeHxNJXfl0NQGD`MSG#~z zc(j_->=bEuM{}VmuWrk?ucn6AN=1{`4|>uM5)anWDA^)p9wzHDUx2m!M1e_GyvwJx zyY!?0Bz;}Ho~YNadjXWOu}@6yw%|CzuMrkHKll~Y>ZJZHX#e8usgD=pnXjvtr=*9M zgX^DGyYsiz_{ac%4db7%k^j?b|5<8+j39!k?V}rVz3TF#{9O@l2-1RJ8WzH)F zApT=cRIeE&E`K~DP`|!(1CS^*F3P{H`M!mytVW=bf*hKa0-0Ef=Ed} zW2C)?)xV3)*;BiWEk8eB2H$I^CMGFYYN3A>ow2V#E&b`ZA1Pt~ar6T7p`yfOwF82^ zfQ+fdN+Y8BCCt<>a^mqK%4?yy-NigPuII`K(Y@>^87yMqS*U}IL&Pt!RO)t^WQi#r zdZmI&h;aY~!)Q+Sn3hl0m;#+GGx11*`dMbxJO9A{u% z%wNq8UmjSG?-=T1A$z`Fo2^h#Va6uQ%QP$|1g2MKc-eYl)IOtl#?p2tEoE!8Znwk&U2{S0F z++tOsbRtqGL;tD-5{4@QjsF`{8{x^;@gGQGm0uvIathP%ogyNQCGljXw|%9@E(7ZC zAJe7)xO_T=c_GLnZGh@LM+Cu2AP#YKqzX(y6N4$ehEo#*!E`0S|=wlrutcf6HG@YTn8c=r}>n{o&xlnTe$VD$lXMD&1 z0%E@?5?HIvbg>3jI)Niu?kQhSyNxpMZ1SnV6ns~_#X=2hHf2`)qUb9_PKS^^D2hwW z8(+t}4t2uGbf_%*qlB2CP)doAZS=K%FFvIatZVCbnl{WyrjY4IgMd$;rX_=`;_Vs7 zjeQ~~r46eaH6qD)fAQJf-?>b=+oc(C#Evc+Ig6;jl03B8q`e3jd~JM?qKIjKKfhOr_!EG zlD&>&ye5Q(w)R8rtbJ{|irUTC!HBa!Gg30?XoIgo46aIB9^PxbK34L=teuD69jYE@ z)CF(tv`dKIAS07(@@_xnVjhd{p#W??2!=@u#$h{7;4P6q)A^8gcy>3{S~$rYPNm`F zoTw!WSV=w$yz%dtiUn|!vi%uIRR5zA+W(tD@&lc*_<{5Q0?$cwwjBD z^UeO#&x&7{c5&dGn-qWsJf;3mTr4Ia$;L=89-Jvu90!(@x~dbzMqrR?DN~P zAdN1QBjx>~fH)U(L;K6-;>Dg@EiY7C-D?sH7Jqx&yFF3-*4h-@Lo-pJk}}XtVI}zl zII6vHMb{&Yift#?s}7QV#~72)OqqRoRu%O7@@0kbB`xk_hXc(iQ~Z_@E?-Xs66zb- z$AIPKT!nCTTCN7L=UzH3>qQ2cr)J8II%5;zAm0#vE7P5I(ym-O!cHQmk3fnPg;r9G zOPZtO8yl~nKAru@48>hJ*wWphz8J`N4B*e c<1F`!{nks4h9990(GN*bIUow>b0i;=6Bme*a literal 0 HcmV?d00001 diff --git a/kmod.spec b/kmod.spec new file mode 100644 index 0000000..345fa8b --- /dev/null +++ b/kmod.spec @@ -0,0 +1,183 @@ +# +# spec file for package kmod +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200 +%define use_zstd 1 +%endif + +Name: kmod +%define lname libkmod2 +Version: 34 +Release: 0 +Summary: Utilities to load modules into the kernel +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: System/Kernel +URL: https://www.kernel.org/pub/linux/utils/kernel/kmod/ + +#Git-Web: http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary +#Git-Clone: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod +Source: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.xz +Source2: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-%version.tar.sign +Source3: %name.keyring +Source4: README.usrmerge +Patch1: 0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch +Patch2: 0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch +Patch3: 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch +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 +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libopenssl-devel >= 1.1.0 +BuildRequires: libtool +BuildRequires: pkg-config >= 0.21 +BuildRequires: scdoc +BuildRequires: xz +BuildRequires: pkgconfig(liblzma) >= 4.99 +%if 0%{?use_zstd} +BuildRequires: pkgconfig(libzstd) +Provides: kmod-zstd +%endif +BuildRequires: pkgconfig(zlib) +Requires(post): coreutils +Obsoletes: kmod-compat < %version-%release +Provides: kmod-compat = %version-%release +# kmod and libkmod have no dependency but we want to provide +# same features across kmod provided tools and tools linking to libkmod +Conflicts: %lname < %version-%release +Conflicts: %lname > %version-%release +Requires: suse-module-tools +Obsoletes: module-init-tools < 3.16 +Provides: module-init-tools = 3.16 +Provides: modutils +Obsoletes: %name-bash-completion < %version-%release +Provides: %name-bash-completion = %version-%release + +%description +kmod is a set of tools to handle common tasks with Linux kernel +modules like insert, remove, list, check properties, resolve +dependencies and aliases. + +These tools are designed on top of libkmod, a library that is shipped +with kmod. The aim is to be compatible with tools, configurations and +indexes from module-init-tools project. + +%package -n %lname +Summary: Library to interact with Linux kernel modules +License: LGPL-2.1-or-later +Group: System/Libraries + +%description -n %lname +libkmod was created to allow programs to easily insert, remove and +list modules, also checking its properties, dependencies and aliases. + +%package -n libkmod-devel +Summary: Development files for libkmod +License: LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +Requires: %lname = %version + +%description -n libkmod-devel +libkmod was created to allow programs to easily insert, remove and +list modules, also checking its properties, dependencies and aliases. + +This package contains the development headers for the library found +in %lname. + +%prep +%autosetup -p1 +cp %{SOURCE4} . + +%build +rm -f m4/gtk-doc.m4 libkmod/docs/gtk-doc.make # dangling symlinks +touch m4/gtk-doc.m4 libkmod/docs/gtk-doc.make +GTKDOCIZE=/bin/true autoreconf -fi +export LDFLAGS="-Wl,-z,relro,-z,now" +# The extra --includedir gives us the possibility to detect dependent +# packages which fail to properly use pkgconfig, cf. bugzilla.opensuse.org/795968 +%configure \ + --with-xz \ + --with-zlib \ + --with-openssl \ +%if 0%{?use_zstd} + --with-zstd \ +%endif + --includedir="%_includedir/kmod" \ + --with-rootlibdir="%_libdir" \ +%if 0%{?suse_version} > 1500 + --with-module-directory="%_prefix/lib/modules" \ +%endif + --bindir="%_bindir" +%make_build + +%install +b="%buildroot" +%make_install +rm -f "$b/%_libdir"/*.la +mkdir -p "$b/%_bindir" "$b/bin" +for i in lsmod; do + ln -s "%_bindir/kmod" "$b/%_bindir/$i" +%if 0%{?suse_version} < 1550 + ln -s "%_bindir/kmod" "$b/bin/$i" +%endif +done + +%post +%{?regenerate_initrd_post} + +%posttrans +%{?regenerate_initrd_posttrans} + +%ldconfig_scriptlets -n %lname + +%files +%if 0%{?suse_version} > 1500 +%doc README.usrmerge +%endif +%_bindir/kmod +%_bindir/lsmod +%_sbindir/depmod +%_sbindir/insmod +%_sbindir/lsmod +%_sbindir/modinfo +%_sbindir/modprobe +%_sbindir/rmmod +%_mandir/man[58]/*.[58]* +%_datadir/pkgconfig/kmod.pc +%if 0%{?suse_version} < 1550 +/bin/lsmod +/sbin/depmod +/sbin/insmod +/sbin/lsmod +/sbin/modinfo +/sbin/modprobe +/sbin/rmmod +%endif +%_datadir/bash-completion/ +%_datadir/fish/ +%_datadir/zsh/ + +%files -n %lname +%_libdir/libkmod.so.2* + +%files -n libkmod-devel +%_includedir/* +%_libdir/pkgconfig/libkmod.pc +%_libdir/libkmod.so + +%changelog