Compare commits
9 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
1a0b1a1659 | ||
2e619ff71f | |||
67ade5e26f | |||
|
47b27bff0a | ||
|
93c09d843f | ||
1b92cb04d2 | |||
8937595f47 | |||
c0d997b9f8 | |||
4144b41a16 |
@@ -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;
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
116
Revert-build-check-for-__xstat-declarations.patch
Normal file
116
Revert-build-check-for-__xstat-declarations.patch
Normal 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
|
||||
|
@@ -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)
BIN
kmod-32.tar.xz
(Stored with Git LFS)
Binary file not shown.
16
kmod-34.2.tar.sign
Normal file
16
kmod-34.2.tar.sign
Normal 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
BIN
kmod-34.2.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -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
|
||||
|
48
kmod.changes
48
kmod.changes
@@ -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>
|
||||
|
||||
|
47
kmod.spec
47
kmod.spec
@@ -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*
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user