SHA256
1
0
forked from pool/kmod

[info=8937595f476225a8217a7e8ecee144c92dd3e5689aa844988aaa8d7b71b6062f]

OBS-URL: https://build.opensuse.org/package/show/Base:System/kmod?expand=0&rev=241
This commit is contained in:
OBS User unknown 2025-02-21 23:40:03 +00:00 committed by Git OBS Bridge
commit 310ff82800
22 changed files with 1661 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,53 @@
From a8a2fd5a84a74726e11edb92ac20b5c5918b2edd Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
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 '<stdlib.h>' 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 <stddef.h>
+#include <stdlib.h>
#if defined(HAVE_STATIC_ASSERT)
#define assert_cc(expr) _Static_assert((expr), #expr)
--
2.48.1

View File

@ -0,0 +1,31 @@
From 590074281e8463128ac92ed2640405cd05b10cb1 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
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 <mail@eworm.de>
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
---
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

View File

@ -0,0 +1,38 @@
From bbeef7f559bd9c6b1aad11bcd65e56428f290bd8 Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
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;

View File

@ -0,0 +1,26 @@
From ede3e6010e5a132286c3a1ee815ec88bdef847b8 Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
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",

View File

@ -0,0 +1,105 @@
From 4a36f4a8b16c7fd345f6aec973d926d4e429328a Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
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);

View File

@ -0,0 +1,111 @@
From 6cf25e17064cb213ef8c3a9c84ab787dd2852f2a Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
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 <stddef.h>
+#include <stdlib.h>
#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)

View File

@ -0,0 +1,52 @@
From 9d2f7d1e372d79dfe732992effb33daf4ee56235 Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
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

View File

@ -0,0 +1,72 @@
From e48d1ee5980643f56165a9ee1687ff64f864aeb6 Mon Sep 17 00:00:00 2001
From: Vlad Bespalov <vlad.bespalov@jetstreamsoft.com>
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);

9
README.usrmerge Normal file
View File

@ -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.

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>kmod-testsuite</package>
</multibuild>

4
_scmsync.obsinfo Normal file
View File

@ -0,0 +1,4 @@
mtime: 1740181126
commit: 8937595f476225a8217a7e8ecee144c92dd3e5689aa844988aaa8d7b71b6062f
url: https://src.opensuse.org/jengelh/kmod
revision: master

3
build.specials.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ae21019075180f8b7ba38ca9d3bdcbf1c412cfd05b5cab7bb4433dbfdd072b11
size 256

16
kmod-33.tar.sign Normal file
View File

@ -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-----

BIN
kmod-33.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

16
kmod-34.tar.sign Normal file
View File

@ -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-----

BIN
kmod-34.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

105
kmod-testsuite.spec Normal file
View File

@ -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

803
kmod.changes Normal file
View File

@ -0,0 +1,803 @@
-------------------------------------------------------------------
Fri Feb 21 22:41:36 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- 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 <jengelh@inai.de>
- 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 <msuchanek@suse.de>
- 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 <msuchanek@suse.de>
- 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 <msuchanek@suse.de>
- 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 <jengelh@inai.de>
- 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 <dir>` 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 <msuchanek@suse.de>
- 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 <msuchanek@suse.de>
- 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 <jengelh@inai.de>
- 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 <msuchanek@suse.de>
- 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 <msuchanek@suse.de>
- 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 <dimstar@opensuse.org>
- 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 <lnussel@suse.com>
- Replace transitional %usrmerged macro with regular version check (boo#1206798)
-------------------------------------------------------------------
Thu Jun 30 16:15:35 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- 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 <dmueller@suse.com>
- add keyring so that gpg validation actually does something
-------------------------------------------------------------------
Mon Dec 6 11:00:57 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
- Ensure that kmod and packages linking to libkmod provide same features
(bsc#1193430).
-------------------------------------------------------------------
Thu Oct 28 07:38:29 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
- 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 <msuchanek@suse.de>
- Enable ZSTD on 15.4 (jsc#SLE-21256).
-------------------------------------------------------------------
Mon Sep 6 12:29:23 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
- 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 <msuchanek@suse.com>
- Add ZSTD support on Tumbleweed only. Add a way to detect ZSTD.
-------------------------------------------------------------------
Wed Aug 18 10:55:57 UTC 2021 - Michal Suchanek <msuchanek@suse.de>
- 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 <gmbr3@opensuse.org>
- Enable support for ZSTD compressed modules
-------------------------------------------------------------------
Sat May 29 09:58:09 UTC 2021 - Michal Suchanek <msuchanek@suse.de>
- /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 <jengelh@inai.de>
- 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 <jslaby@suse.cz>
- 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 <msuchanek@suse.de>
- 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 <dimstar@opensuse.org>
- 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 <msuchanek@suse.com>
- 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 <pvorel@suse.cz>
- Backport upstream fix 0001-Fix-modinfo-F-always-shows-name-for-built-ins.patch
-------------------------------------------------------------------
Tue Jan 12 16:04:41 UTC 2021 - Michal Suchanek <msuchanek@suse.de>
- 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 <jengelh@inai.de>
- Add usr-lib-modprobe.patch [boo#1092648]
-------------------------------------------------------------------
Fri Oct 16 10:00:21 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- prepare usrmerge (boo#1029961)
-------------------------------------------------------------------
Tue Jul 7 13:05:53 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Drop old RPM constructs from the build recipe.
-------------------------------------------------------------------
Fri Jul 3 11:36:22 UTC 2020 - Michal Suchanek <msuchanek@suse.com>
- 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 <jengelh@inai.de>
- 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 <msuchanek@suse.com>
- 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 <jengelh@inai.de>
- 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 <msuchanek@suse.de>
- 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

BIN
kmod.keyring Normal file

Binary file not shown.

183
kmod.spec Normal file
View File

@ -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