9 Commits

Author SHA256 Message Date
Michal Suchanek
1a0b1a1659 Fix build on Leap 16.0 2025-06-26 17:48:15 +02:00
2e619ff71f changelog happiness for the bot 2025-03-28 21:50:32 +01:00
67ade5e26f kmod 34.2 2025-03-28 21:20:52 +01:00
Michal Suchanek
47b27bff0a Remove unused patch 0001-build-resolve-build-failure-due-to-missing-include.patch
This patch was never mentioned in changelog as added, and is not used.
2025-03-12 17:49:05 +01:00
Michal Suchanek
93c09d843f tests: drop ppc64 workaround, print failed test results if any 2025-03-12 17:08:54 +01:00
1b92cb04d2 kmod 34.1 2025-03-06 10:24:03 +01:00
8937595f47 kmod 34 2025-02-22 00:38:46 +01:00
c0d997b9f8 Resolve failure run of kmod-testsuite-33 2024-08-22 03:06:06 +02:00
4144b41a16 kmod 33 2024-08-21 23:30:33 +02:00
14 changed files with 308 additions and 184 deletions

View File

@@ -10,23 +10,23 @@ either.
References: fate#316971
Patch-mainline: never
---
tools/modprobe.c | 5 +++++
tools/modprobe.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/modprobe.c b/tools/modprobe.c
index a9e2331..3be2989 100644
--- a/tools/modprobe.c
+++ b/tools/modprobe.c
@@ -85,6 +85,8 @@ static const struct option cmdopts[] = {
{"dirname", required_argument, 0, 'd'},
{"set-version", required_argument, 0, 'S'},
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'},
@@ -843,6 +845,9 @@ static int do_modprobe(int argc, char **orig_argv)
{ "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;
@@ -35,7 +35,4 @@ index a9e2331..3be2989 100644
+ break;
case 's':
env_modprobe_options_append("-s");
use_syslog = 1;
--
2.20.1
use_syslog = true;

View File

@@ -7,23 +7,20 @@ Subject: [PATCH 2/6] libkmod-config: Recognize allow_unsupported_modules in
References: fate#316971
Patch-mainline: never
---
libkmod/libkmod-config.c | 3 +++
libkmod/libkmod-config.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
index aaac0a1..1b24536 100644
--- a/libkmod/libkmod-config.c
+++ b/libkmod/libkmod-config.c
@@ -650,6 +650,9 @@ static int kmod_config_parse(struct kmod_config *config, int fd,
|| streq(cmd, "config")) {
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);
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",
--
2.20.1

View File

@@ -12,13 +12,13 @@ Patch-mainline: never
libkmod/libkmod-module.c | 31 +++++++++++++++++++++++++++++++
3 files changed, 42 insertions(+), 2 deletions(-)
Index: kmod-31/libkmod/libkmod-config.c
Index: kmod-34/libkmod/libkmod-config.c
===================================================================
--- kmod-31.orig/libkmod/libkmod-config.c
+++ kmod-31/libkmod/libkmod-config.c
@@ -708,8 +708,16 @@ static int kmod_config_parse(struct kmod
--- 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);
filename, cmd);
} else if (streq(cmd, "allow_unsupported_modules")) {
- /* dummy option for now */
- ;
@@ -35,23 +35,23 @@ Index: kmod-31/libkmod/libkmod-config.c
} else {
syntax_error:
ERR(ctx, "%s line %u: ignoring bad line starting with '%s'\n",
Index: kmod-31/libkmod/libkmod-internal.h
Index: kmod-34/libkmod/libkmod-internal.h
===================================================================
--- kmod-31.orig/libkmod/libkmod-internal.h
+++ kmod-31/libkmod/libkmod-internal.h
@@ -130,6 +130,7 @@ struct kmod_config {
struct kmod_list *softdeps;
--- 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;
};
int kmod_config_new(struct kmod_ctx *ctx, struct kmod_config **config, const char * const *config_paths) __attribute__((nonnull(1, 2,3)));
Index: kmod-31/libkmod/libkmod-module.c
_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-31.orig/libkmod/libkmod-module.c
+++ kmod-31/libkmod/libkmod-module.c
@@ -781,6 +781,24 @@ KMOD_EXPORT const char *kmod_module_get_
--- 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;
}
@@ -62,7 +62,7 @@ Index: kmod-31/libkmod/libkmod-module.c
+ struct kmod_elf *elf;
+
+ elf = kmod_file_get_elf(mod->file);
+ count = kmod_elf_get_strings(elf, ".modinfo", &strings);
+ count = kmod_elf_get_modinfo_strings(elf, &strings);
+ if (count < 0)
+ return count;
+ for (i = 0; i < count; i++)
@@ -73,10 +73,10 @@ Index: kmod-31/libkmod/libkmod-module.c
+ return 0;
+}
+
/**
* kmod_module_get_path:
* @mod: kmod module
@@ -959,6 +977,7 @@ KMOD_EXPORT int kmod_module_insert_modul
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 : "";
@@ -84,7 +84,7 @@ Index: kmod-31/libkmod/libkmod-module.c
if (mod == NULL)
return -ENOENT;
@@ -977,6 +996,18 @@ KMOD_EXPORT int kmod_module_insert_modul
@@ -708,6 +727,18 @@ KMOD_EXPORT int kmod_module_insert_modul
}
}

View File

@@ -9,15 +9,17 @@ Patch-mainline: never
Makefile.am | 4 +++-
libkmod/libkmod-unsupported.c | 9 +++++++++
libkmod/libkmod-unsupported.h | 8 ++++++++
shared/macro.h | 1 +
tools/modprobe.c | 8 +++++++-
4 files changed, 27 insertions(+), 2 deletions(-)
5 files changed, 28 insertions(+), 2 deletions(-)
create mode 100644 libkmod/libkmod-unsupported.c
create mode 100644 libkmod/libkmod-unsupported.h
diff -u kmod-28.orig/Makefile.am kmod-28/Makefile.am
--- kmod-28.orig/Makefile.am 2021-01-07 19:29:12.972438665 +0100
+++ kmod-28/Makefile.am 2021-01-28 12:59:16.613421834 +0100
@@ -108,7 +108,9 @@
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
@@ -28,10 +30,10 @@ diff -u kmod-28.orig/Makefile.am kmod-28/Makefile.am
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-27/libkmod/libkmod-unsupported.c
Index: kmod-34/libkmod/libkmod-unsupported.c
===================================================================
--- /dev/null
+++ kmod-27/libkmod/libkmod-unsupported.c
+++ kmod-34/libkmod/libkmod-unsupported.c
@@ -0,0 +1,9 @@
+#include "libkmod-internal.h"
+#include "libkmod-unsupported.h"
@@ -42,10 +44,10 @@ Index: kmod-27/libkmod/libkmod-unsupported.c
+
+ config->block_unsupported = 0;
+}
Index: kmod-27/libkmod/libkmod-unsupported.h
Index: kmod-34/libkmod/libkmod-unsupported.h
===================================================================
--- /dev/null
+++ kmod-27/libkmod/libkmod-unsupported.h
+++ kmod-34/libkmod/libkmod-unsupported.h
@@ -0,0 +1,8 @@
+#pragma once
+
@@ -55,20 +57,32 @@ Index: kmod-27/libkmod/libkmod-unsupported.h
+ * library
+ */
+void kmod_internal_allow_unsupported(struct kmod_ctx *ctx);
Index: kmod-27/tools/modprobe.c
Index: kmod-34/shared/macro.h
===================================================================
--- kmod-27.orig/tools/modprobe.c
+++ kmod-27/tools/modprobe.c
@@ -38,6 +38,8 @@
--- 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;
static int use_syslog = 0;
#define LOG(...) log_printf(log_priority, __VA_ARGS__)
@@ -761,6 +763,7 @@ static int do_modprobe(int argc, char **
@@ -759,6 +761,7 @@ static int do_modprobe(int argc, char **
const char *dirname = NULL;
const char *root = NULL;
const char *kversion = NULL;
@@ -76,7 +90,7 @@ Index: kmod-27/tools/modprobe.c
int use_all = 0;
int do_remove = 0;
int do_show_config = 0;
@@ -852,7 +855,7 @@ static int do_modprobe(int argc, char **
@@ -862,7 +865,7 @@ static int do_modprobe(int argc, char **
kversion = optarg;
break;
case 128:
@@ -85,7 +99,7 @@ Index: kmod-27/tools/modprobe.c
break;
case 's':
env_modprobe_options_append("-s");
@@ -925,6 +928,9 @@ static int do_modprobe(int argc, char **
@@ -944,6 +947,9 @@ static int do_modprobe(int argc, char **
log_setup_kmod_log(ctx, verbose);

View File

@@ -13,18 +13,18 @@ The proposed patch fixes this deficiency
Patch-mainline: never
---
libkmod/libkmod-config.c | 13 +++++++++++++
libkmod/libkmod.h | 1 +
tools/modprobe.c | 5 +++++
libkmod/libkmod-config.c | 13 +++++++++++++
libkmod/libkmod.h | 1 +
tools/modprobe.c | 5 +++++
3 files changed, 19 insertions(+)
diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
index 550a612..0fc2250 100644
--- a/libkmod/libkmod-config.c
+++ b/libkmod/libkmod-config.c
@@ -1008,6 +1008,19 @@ static struct kmod_config_iter *kmod_config_iter_new(const struct kmod_ctx* ctx,
* @short_description: retrieve current libkmod configuration
*/
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:
@@ -39,26 +39,26 @@ index 550a612..0fc2250 100644
+ return !config->block_unsupported;
+}
+
/**
* kmod_config_get_blacklists:
* @ctx: kmod library context
diff --git a/libkmod/libkmod.h b/libkmod/libkmod.h
index 352627e..c2b9657 100644
--- a/libkmod/libkmod.h
+++ b/libkmod/libkmod.h
@@ -115,6 +115,7 @@ const char *kmod_config_iter_get_key(const struct kmod_config_iter *iter);
const char *kmod_config_iter_get_value(const struct kmod_config_iter *iter);
bool kmod_config_iter_next(struct kmod_config_iter *iter);
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);
/*
* kmod_module
diff --git a/tools/modprobe.c b/tools/modprobe.c
index aa4033d..4f1c54a 100644
--- a/tools/modprobe.c
+++ b/tools/modprobe.c
@@ -201,6 +201,11 @@ static int show_config(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);
}
@@ -70,6 +70,3 @@ index aa4033d..4f1c54a 100644
puts("\n# End of configuration files. Dumping indexes now:\n");
fflush(stdout);
--
2.20.1

View File

@@ -0,0 +1,116 @@
From de54204d2656053e5530d055468f55c2806eed69 Mon Sep 17 00:00:00 2001
From: Michal Suchanek <msuchanek@suse.de>
Date: Thu, 26 Jun 2025 17:18:32 +0200
Subject: [PATCH] Revert "build: check for __xstat declarations"
This reverts commit 0766f541927f50879599e62fdaa5a2e51b9791d3.
From commit description:
Currently we check the function is resolved at link time. Although what
we really care is if the headers are silently transposing any of our stat
calls to __xstat{,64}. If so, we'd want to wrap the latter functions.
As the now-removed comment says, glibc 2.33 was the first release to no
longer have static inline wrappers that do the transposition. See the
glibc commit 8ed005daf0ab ("Remove stat wrapper functions, move them to
exported symbols") for more details.
The glibc in Leap 16.0 behaves as pre-2.33 in this respect (bsc#1240126 bsc#1221482)
---
configure.ac | 6 +++++-
meson.build | 4 ++--
testsuite/path.c | 12 +++++++++++-
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 9443268a0b50..80cd18e7d8f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,6 +39,7 @@ AC_PROG_CC_C99
# Function and structure checks
#####################################################################
+AC_CHECK_FUNCS_ONCE(__xstat)
AC_CHECK_FUNCS_ONCE([open64 stat64 fopen64 __stat64_time64])
AC_CHECK_FUNCS_ONCE([secure_getenv])
@@ -51,13 +52,16 @@ CC_CHECK_FUNC_BUILTIN([__builtin_umul_overflow], [ ], [ ])
CC_CHECK_FUNC_BUILTIN([__builtin_umull_overflow], [ ], [ ])
CC_CHECK_FUNC_BUILTIN([__builtin_umulll_overflow], [ ], [ ])
+# Non glibc compilers (musl and newer versions of bionic) do not need
+# the 64 LFS API wrapping.
+AC_CHECK_DECLS_ONCE([[__GLIBC__]], [], [], [[#include <features.h>]])
+
# dietlibc doesn't have st.st_mtim struct member
AC_CHECK_MEMBERS([struct stat.st_mtim], [], [], [#include <sys/stat.h>])
# basename may be only available in libgen.h with the POSIX behavior,
# not desired here
AC_CHECK_DECLS_ONCE([[basename]], [], [], [[#include <string.h>]])
-AC_CHECK_DECLS_ONCE([[__xstat]], [], [], [[#include <sys/stat.h]])
AC_MSG_CHECKING([whether _Static_assert() is supported])
AC_COMPILE_IFELSE(
diff --git a/meson.build b/meson.build
index a0cf675f12f3..c4730153c742 100644
--- a/meson.build
+++ b/meson.build
@@ -34,6 +34,7 @@ cdata.set10('_GNU_SOURCE', true)
################################################################################
_funcs = [
+ '__xstat',
'open64', 'stat64', 'fopen64', '__stat64_time64',
'secure_getenv',
]
@@ -85,12 +86,11 @@ endforeach
# not desired here
_decls = [
['basename', 'string.h'],
- ['__xstat', 'sys/stat.h'],
]
foreach tuple : _decls
decl = tuple[0]
header = tuple[1]
- have = cc.has_header_symbol(header, decl, args : '-D_GNU_SOURCE')
+ glibc = cc.has_header_symbol(header, decl, args : '-D_GNU_SOURCE')
cdata.set10('HAVE_DECL_@0@'.format(decl.to_upper()), have)
endforeach
diff --git a/testsuite/path.c b/testsuite/path.c
index b896885a00de..3a6980e3de06 100644
--- a/testsuite/path.c
+++ b/testsuite/path.c
@@ -160,7 +160,15 @@ static void *get_libc_func(const char *f)
return _fn(p, flags); \
}
+
+/*
+ * wrapper template for __xstat family
+ * This family got deprecated/dropped in glibc 2.32.9000, but we still need
+ * to keep it for a while for programs that were built against previous versions
+ */
#define WRAP_VERSTAT(prefix, suffix) \
+ TS_EXPORT int prefix##stat##suffix(int ver, const char *path, \
+ struct stat##suffix *st); \
TS_EXPORT int prefix##stat##suffix(int ver, const char *path, \
struct stat##suffix *st) \
{ \
@@ -203,7 +211,9 @@ WRAP_2ARGS(int, -1, __stat64_time64, void *);
WRAP_OPEN(64);
#endif
-#if HAVE_DECL___XSTAT
+#ifdef HAVE___XSTAT
WRAP_VERSTAT(__x, );
+#if HAVE_DECL___GLIBC__
WRAP_VERSTAT(__x, 64);
#endif
+#endif
--
2.47.1

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAmXn4vQACgkQm6KlpjDL
6lNdrg//Z2RngX3Vl1Y0/0tC77dez36xFZ4MnpW+gYm5B1vPgqyqChFWCc1WbUHG
mgJc5EU3Zbesg6Pdblp6YIswBvVGSMcH+7zkysGzLJyiO61Az+YjInlWgfuyI8lA
EG6qlqTFc1O8nExO+2Zci5E8VxjX/6BriB3jzls1zjk7WdI6X8HRjWrG8QgW3yix
Blt0AiBPw2wM9rdlFoQ8ZIOj7V33ax96dPHmSq6dTfMaZFCtXhPqgb6vh8ZtP9OW
21aJcWbVcdgalWIeNHKHxq+GOeXi7qs/s5Ss/6ugSVncOTXq3Y6X+WqVjgiQNdn8
BLm0bK/eL78FlIkrx7xDgWDuHyarICoPa4Y8M+lKpABuKssXWSXm/IoRmYtThWj7
UdNXx7cpGXsa0OGBA4HvMMKXkRVTLFhYdodEPLllIQm90dOt3oYJrf57a36MU49B
F03o5MKazuA3BbUlF5u5DQ/eG5lbp/i3kw2J6K+ezC24P/ulR+P5jP+nTeEoOI1T
QfgMvGvifbVaOX8jy3eisej7QvshBi/fGcpZcYORE/mCyEz0xcXAvhQdoo4UgdtG
6+qOm4ZSIrb98lmyjOg0LXI3SNJ2+7mbP08K5t4o1nTTa/pjzSrwbeoRU1uPLQyg
DxUp7bayhKXDwtN1Qgye1ZNbUGj4NvR5neGp0bXKICMV09XESeQ=
=jQpD
-----END PGP SIGNATURE-----

BIN
kmod-32.tar.xz (Stored with Git LFS)

Binary file not shown.

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

@@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAmfmH94ACgkQm6KlpjDL
6lNZiA/+KU3A/eJ+0X0LAds26kn5GcK29Qfj7Rj+DR/13cp4eB/oWsEtgKj+BI/2
v35agguBX6gBjBqNURGTGOgYYNhoSGDptsUrXXZ250Z+szNexmqugzax78Flzs3q
hwWkuuQYqLpt0HbqF/qEOYZfv0102zvZCcV710Oznz09shj7fGriERJEYZs8gXWg
aCYrPnAW5cHRe7RJmf5L0ZlExDxLYt9jkTg0Sp3OXqMnNnknqZW2Qb9nwIFQdihs
p93SMXFPQ4zEmHBCBiYG5pW/NP9VaBxpY8/Ht8QaTIJBTwUXo+vilRMdczgM+owR
lJ6NW10Zwuh6xrGxecfSL0UHS8lHaQqiA4vL4xSFM0rQMr0nJL+O/atlzaKgLdH9
Utb/eKBxZ6oFbj1jUr1/Islk4ggpd+H7VOfr05WCL6S6m4BE0DsoBp7wTF0d40rM
SdCaJ6lXso6Z0HRW5dOmywbejBAKxUmJRD4ZuujVsiNkustQOsz79WmGJrVPEHej
+63cEHORmxQDOyLG1mtTfKciNWeqFRD94ErI4Oh5/ahjzji8WDP+7gfrcV6h2BnU
cKBDC4ukTp4VBzr0BGDhjzRbPMQs3EzwXSRxoXUuwAmFJVABYH6NXHCbimG4w5VZ
1xJLNxq02Y+TcN8H1KxfGV+nKP2rrkhXVHQyQgRdE3ujD5l59nE=
=yZu4
-----END PGP SIGNATURE-----

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

Binary file not shown.

View File

@@ -1,7 +1,7 @@
#
# spec file for package kmod-testsuite
#
# Copyright (c) 2024 SUSE LLC
# 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
@@ -22,7 +22,7 @@
Name: kmod-testsuite
%define lname libkmod2
Version: 32
Version: 34.2
Release: 0
Summary: Testsuite of the kmod package
License: GPL-2.0-or-later AND LGPL-2.1-or-later
@@ -40,15 +40,15 @@ 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
Patch16: no-stylesheet-download.patch
Patch7: Revert-build-check-for-__xstat-declarations.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: docbook-xsl-stylesheets
BuildRequires: kernel-default-devel
BuildRequires: libopenssl-devel >= 1.1.0
BuildRequires: libtool
BuildRequires: libxslt-tools
BuildRequires: pkgconfig >= 0.21
BuildRequires: pkg-config >= 0.21
BuildRequires: scdoc
BuildRequires: xz
BuildRequires: pkgconfig(liblzma) >= 4.99
%if 0%{?use_zstd}
@@ -72,6 +72,8 @@ buildloop with the kernel.
%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
@@ -95,10 +97,9 @@ export LDFLAGS="-Wl,-z,relro,-z,now"
# empty
%check
%ifarch ppc64
make check V=1 KDIR="%kdir" || echo "Warning: bypass boo#897845"
%else
make check V=1 KDIR="%kdir"
%endif
result=0
make check V=1 KDIR="%kdir" || result=$?
find . -name test-suite.log | xargs cat
exit $result
%changelog

View File

@@ -1,3 +1,51 @@
-------------------------------------------------------------------
Thu Jun 26 15:40:07 UTC 2025 - Michal Suchanek <msuchanek@suse.de>
- Fix testsuite on Leap 16.0 (bsc#1240126)
* Revert-build-check-for-__xstat-declarations.patch
-------------------------------------------------------------------
Fri Mar 28 20:20:32 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 34.2
* libkmod: fix buffer-overflow in weakdep_to_char
- Delete unused 0001-build-resolve-build-failure-due-to-missing-include.patch
-------------------------------------------------------------------
Wed Mar 12 16:03:22 UTC 2025 - Michal Suchanek <msuchanek@suse.de>
- tests: drop ppc64 workaround, print failed test results if any
-------------------------------------------------------------------
Thu Mar 6 09:22:40 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 34.1
* Build fixes only
-------------------------------------------------------------------
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>

View File

@@ -1,7 +1,7 @@
#
# spec file for package kmod
#
# Copyright (c) 2024 SUSE LLC
# 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
@@ -22,7 +22,7 @@
Name: kmod
%define lname libkmod2
Version: 32
Version: 34.2
Release: 0
Summary: Utilities to load modules into the kernel
License: GPL-2.0-or-later AND LGPL-2.1-or-later
@@ -41,14 +41,13 @@ 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
Patch16: no-stylesheet-download.patch
Patch7: Revert-build-check-for-__xstat-declarations.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: docbook-xsl-stylesheets
BuildRequires: libopenssl-devel >= 1.1.0
BuildRequires: libtool
BuildRequires: libxslt-tools
BuildRequires: pkgconfig >= 0.21
BuildRequires: pkg-config >= 0.21
BuildRequires: scdoc
BuildRequires: xz
BuildRequires: pkgconfig(liblzma) >= 4.99
%if 0%{?use_zstd}
@@ -67,6 +66,8 @@ 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
@@ -77,18 +78,6 @@ 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 bash-completion
Summary: Bash completion routines for the kmod utilities
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Shells
BuildArch: noarch
Requires: %{name}
Requires: bash-completion
Supplements: (%{name} and bash-completion)
%description bash-completion
Contains bash completion support for kmod utilities.
%package -n %lname
Summary: Library to interact with Linux kernel modules
License: LGPL-2.1-or-later
@@ -113,9 +102,11 @@ in %lname.
%prep
%autosetup -p1
cp %{SOURCE4} .
cp "%_sourcedir/README.usrmerge" .
%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
@@ -139,15 +130,6 @@ export LDFLAGS="-Wl,-z,relro,-z,now"
b="%buildroot"
%make_install
rm -f "$b/%_libdir"/*.la
mkdir -p "$b/%_sbindir" "$b/sbin"
for i in depmod insmod lsmod modinfo modprobe rmmod; do
ln -s "%_bindir/kmod" "$b/%_sbindir/$i"
rm "$b/%_bindir/$i"
%if 0%{?suse_version} < 1550
ln -s "%_bindir/kmod" "$b/sbin/$i"
%endif
done
mkdir -p "$b/%_bindir" "$b/bin"
for i in lsmod; do
ln -s "%_bindir/kmod" "$b/%_bindir/$i"
@@ -162,8 +144,7 @@ done
%posttrans
%{?regenerate_initrd_posttrans}
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%ldconfig_scriptlets -n %lname
%files
%if 0%{?suse_version} > 1500
@@ -178,7 +159,7 @@ done
%_sbindir/modprobe
%_sbindir/rmmod
%_mandir/man[58]/*.[58]*
%_libdir/pkgconfig/kmod.pc
%_datadir/pkgconfig/kmod.pc
%if 0%{?suse_version} < 1550
/bin/lsmod
/sbin/depmod
@@ -188,9 +169,9 @@ done
/sbin/modprobe
/sbin/rmmod
%endif
%files bash-completion
%_datadir/bash-completion/
%_datadir/fish/
%_datadir/zsh/
%files -n %lname
%_libdir/libkmod.so.2*

View File

@@ -1,27 +0,0 @@
From 3bb8f5af80b611238160ceb88f288af7037281e9 Mon Sep 17 00:00:00 2001
From: Michal Suchanek <msuchanek@suse.de>
Date: Mon, 6 Sep 2021 14:52:35 +0200
Subject: [PATCH] Do not download the docbook stylesheet during build, use
local copy instead.
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
---
man/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/Makefile.am b/man/Makefile.am
index d62ff21c799f..6e6aedf092ad 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -28,7 +28,7 @@ define generate_manpage
--nonet \
--stringparam man.output.quietly 1 \
--param funcsynopsis.style "'ansi'" \
- http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl -
+ /usr/share/xml/docbook/stylesheet/nwalsh/current/manpages/docbook.xsl -
endef
%.5: %.5.xml
--
2.44.0