Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kmod for openSUSE:Factory checked in at 2026-11-05 18:28:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kmod (Old) and /work/SRC/openSUSE:Factory/.kmod.new.3759290 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kmod" Thu Nov 5 18:28:32 2026 rev:91 rq:1394923 version:34.3 Changes: -------- --- /work/SRC/openSUSE:Factory/kmod/kmod.changes 2026-06-16 13:48:32.849012113 +0200 +++ /work/SRC/openSUSE:Factory/.kmod.new.3759290/kmod.changes 2026-11-05 18:28:36.602443580 +0100 @@ -1,0 +2,11 @@ +Mon Nov 2 10:10:27 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 34.3 + * depmod gained an -m/--moduledir option. + * Removed deprecated arguments for depmod: + --unresolved-error, --quiet, --root and --map. + * Removed deprecated arguments for rmmod: -w. + * Removed deprecated arguments for insmod: -p and -s. + * Optimized index reading by lazily reading nodes on demand. + +------------------------------------------------------------------- Old: ---- kmod-34.2.tar.sign kmod-34.2.tar.xz New: ---- kmod-34.3.tar.sign kmod-34.3.tar.xz kmod-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kmod-testsuite.spec ++++++ --- /var/tmp/diff_new_pack.RHlczZ/_old 2026-11-05 18:28:37.674488157 +0100 +++ /var/tmp/diff_new_pack.RHlczZ/_new 2026-11-05 18:28:37.676488240 +0100 @@ -1,7 +1,7 @@ # # spec file for package kmod-testsuite # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,13 +22,12 @@ Name: kmod-testsuite %define lname libkmod2 -Version: 34.2 +Version: 34.3 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 @@ -42,12 +41,10 @@ Patch6: 0012-modprobe-print-unsupported-status.patch Patch7: Revert-build-check-for-__xstat-declarations.patch Patch8: riscv-hwprobe.patch -BuildRequires: autoconf -BuildRequires: automake BuildRequires: docbook-xsl-stylesheets BuildRequires: kernel-default-devel BuildRequires: libopenssl-devel >= 1.1.0 -BuildRequires: libtool +BuildRequires: meson BuildRequires: pkg-config >= 0.21 BuildRequires: scdoc BuildRequires: xz @@ -69,37 +66,28 @@ buildloop with the kernel. %prep -%setup -q -n kmod-%version -%autopatch -p1 +%autosetup -p1 -n kmod-%version %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 \ +%set_build_flags +export LDFLAGS="$LDFLAGS -Wl,-z,relro,-z,now" +%meson \ +%if !0%{?use_zstd} + -Dzstd=disabled \ %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" + -Dmoduledir="%_prefix/lib/modules" -Dbuild-tests=true + +export KDIR="%kdir" +%meson_build %install -# empty %check result=0 -make check V=1 KDIR="%kdir" || result=$? -find . -name test-suite.log | xargs cat +export KDIR="%kdir" +%meson_test || result=$? +find . -name test-suite.log -exec cat "{}" "+" exit $result ++++++ kmod.spec ++++++ --- /var/tmp/diff_new_pack.RHlczZ/_old 2026-11-05 18:28:37.710489654 +0100 +++ /var/tmp/diff_new_pack.RHlczZ/_new 2026-11-05 18:28:37.711489696 +0100 @@ -1,7 +1,7 @@ # # spec file for package kmod # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,19 +22,19 @@ Name: kmod %define lname libkmod2 -Version: 34.2 +Version: 34.3 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 +Source5: kmod-rpmlintrc 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 @@ -43,10 +43,8 @@ Patch6: 0012-modprobe-print-unsupported-status.patch Patch7: Revert-build-check-for-__xstat-declarations.patch Patch8: riscv-hwprobe.patch -BuildRequires: autoconf -BuildRequires: automake BuildRequires: libopenssl-devel >= 1.1.0 -BuildRequires: libtool +BuildRequires: meson BuildRequires: pkg-config >= 0.21 BuildRequires: scdoc BuildRequires: xz @@ -76,8 +74,7 @@ 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. +with kmod. %package -n %lname Summary: Library to interact with Linux kernel modules @@ -85,8 +82,8 @@ 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. +libkmod allows programs to insert, remove and list modules, +checking their properties, dependencies and aliases. %package -n libkmod-devel Summary: Development files for libkmod @@ -95,8 +92,8 @@ 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. +libkmod allows programs to insert, remove and list modules, +checking their properties, dependencies and aliases. This package contains the development headers for the library found in %lname. @@ -108,36 +105,26 @@ %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" +%set_build_flags +export LDFLAGS="$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 \ +%meson \ +%if !0%{?use_zstd} + -Dzstd=disabled \ %endif - --includedir="%_includedir/kmod" \ - --with-rootlibdir="%_libdir" \ -%if 0%{?suse_version} > 1500 - --with-module-directory="%_prefix/lib/modules" \ -%endif - --bindir="%_bindir" -%make_build + -Dmoduledir="%_prefix/lib/modules" --includedir="%_includedir/kmod" + +%meson_build %install +%meson_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" +ln -s "%_bindir/kmod" "$b/%_bindir/lsmod" %if 0%{?suse_version} < 1550 - ln -s "%_bindir/kmod" "$b/bin/$i" +ln -s "%_bindir/kmod" "$b/bin/lsmod" %endif -done %post %{?regenerate_initrd_post} ++++++ 0010-modprobe-Implement-allow-unsupported-modules.patch ++++++ --- /var/tmp/diff_new_pack.RHlczZ/_old 2026-11-05 18:28:37.745491110 +0100 +++ /var/tmp/diff_new_pack.RHlczZ/_new 2026-11-05 18:28:37.748491234 +0100 @@ -9,16 +9,17 @@ Makefile.am | 4 +++- libkmod/libkmod-unsupported.c | 9 +++++++++ libkmod/libkmod-unsupported.h | 8 ++++++++ + meson.build | 1 + shared/macro.h | 1 + tools/modprobe.c | 8 +++++++- - 5 files changed, 28 insertions(+), 2 deletions(-) + 6 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 libkmod/libkmod-unsupported.c create mode 100644 libkmod/libkmod-unsupported.h -Index: kmod-34/Makefile.am +Index: kmod-34.3/Makefile.am =================================================================== ---- kmod-34.orig/Makefile.am -+++ kmod-34/Makefile.am +--- kmod-34.3.orig/Makefile.am ++++ kmod-34.3/Makefile.am @@ -113,7 +113,9 @@ libkmod_libkmod_la_LIBADD = \ ${libzstd_LIBS} ${liblzma_LIBS} ${zlib_LIBS} ${libcrypto_LIBS} @@ -30,10 +31,10 @@ 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 +Index: kmod-34.3/libkmod/libkmod-unsupported.c =================================================================== --- /dev/null -+++ kmod-34/libkmod/libkmod-unsupported.c ++++ kmod-34.3/libkmod/libkmod-unsupported.c @@ -0,0 +1,9 @@ +#include "libkmod-internal.h" +#include "libkmod-unsupported.h" @@ -44,10 +45,10 @@ + + config->block_unsupported = 0; +} -Index: kmod-34/libkmod/libkmod-unsupported.h +Index: kmod-34.3/libkmod/libkmod-unsupported.h =================================================================== --- /dev/null -+++ kmod-34/libkmod/libkmod-unsupported.h ++++ kmod-34.3/libkmod/libkmod-unsupported.h @@ -0,0 +1,8 @@ +#pragma once + @@ -57,10 +58,22 @@ + * library + */ +void kmod_internal_allow_unsupported(struct kmod_ctx *ctx); -Index: kmod-34/shared/macro.h +Index: kmod-34.3/meson.build =================================================================== ---- kmod-34.orig/shared/macro.h -+++ kmod-34/shared/macro.h +--- kmod-34.3.orig/meson.build ++++ kmod-34.3/meson.build +@@ -391,6 +391,7 @@ libkmod_files = files( + 'libkmod/libkmod-list.c', + 'libkmod/libkmod-module.c', + 'libkmod/libkmod-signature.c', ++ 'libkmod/libkmod-unsupported.c', + ) + + libkmod_deps = [] +Index: kmod-34.3/shared/macro.h +=================================================================== +--- kmod-34.3.orig/shared/macro.h ++++ kmod-34.3/shared/macro.h @@ -5,6 +5,7 @@ #pragma once @@ -69,10 +82,10 @@ #if defined(HAVE_STATIC_ASSERT) #define assert_cc(expr) _Static_assert((expr), #expr) -Index: kmod-34/tools/modprobe.c +Index: kmod-34.3/tools/modprobe.c =================================================================== ---- kmod-34.orig/tools/modprobe.c -+++ kmod-34/tools/modprobe.c +--- kmod-34.3.orig/tools/modprobe.c ++++ kmod-34.3/tools/modprobe.c @@ -27,6 +27,8 @@ #include "kmod.h" @@ -90,7 +103,7 @@ int use_all = 0; int do_remove = 0; int do_show_config = 0; -@@ -862,7 +865,7 @@ static int do_modprobe(int argc, char ** +@@ -863,7 +866,7 @@ static int do_modprobe(int argc, char ** kversion = optarg; break; case 128: @@ -99,7 +112,7 @@ break; case 's': env_modprobe_options_append("-s"); -@@ -944,6 +947,9 @@ static int do_modprobe(int argc, char ** +@@ -945,6 +948,9 @@ static int do_modprobe(int argc, char ** log_setup_kmod_log(ctx, verbose); ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.RHlczZ/_old 2026-11-05 18:28:37.814493979 +0100 +++ /var/tmp/diff_new_pack.RHlczZ/_new 2026-11-05 18:28:37.818494145 +0100 @@ -1,5 +1,5 @@ -mtime: 1781530396 -commit: f1b9bfecfa4ea024eef2f292a2bc9c157bf82b6b8454bdac9a0ac33b6613ffce +mtime: 1793791396 +commit: c12dcc7ac0b29984c2a603b2914a294312d7a5467b922aa886ea70356333f77c url: https://src.opensuse.org/jengelh/kmod revision: master ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-11-04 12:23:16.000000000 +0100 @@ -0,0 +1 @@ +.osc ++++++ kmod-34.2.tar.xz -> kmod-34.3.tar.xz ++++++ ++++ 2379 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/.github/actions/setup-alpine/action.yml new/kmod-34.3/.github/actions/setup-alpine/action.yml --- old/kmod-34.2/.github/actions/setup-alpine/action.yml 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/.github/actions/setup-alpine/action.yml 2026-10-30 14:51:32.000000000 +0100 @@ -22,7 +22,7 @@ git \ gtk-doc \ libtool \ - linux-edge-dev \ + linux-stable-dev \ meson \ openssl-dev \ scdoc \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/build-aux/compile new/kmod-34.3/build-aux/compile --- old/kmod-34.2/build-aux/compile 2025-03-28 05:03:33.358442800 +0100 +++ new/kmod-34.3/build-aux/compile 2026-10-30 14:52:52.034251000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2024-06-19.01; # UTC +scriptversion=2025-06-18.21; # UTC -# Copyright (C) 1999-2024 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify @@ -37,11 +37,11 @@ file_conv= -# func_file_conv build_file lazy +# func_file_conv build_file unneeded_conversions # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. +# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no +# conversion will take place. func_file_conv () { file=$1 @@ -51,9 +51,20 @@ # lazily determine how to convert abs files case `uname -s` in MINGW*) - file_conv=mingw + if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then + # MSYS2 environment. + file_conv=cygwin + else + # Original MinGW environment. + file_conv=mingw + fi ;; - CYGWIN* | MSYS*) + MSYS*) + # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell. + file_conv=cygwin + ;; + CYGWIN*) + # Cygwin environment. file_conv=cygwin ;; *) @@ -63,12 +74,14 @@ fi case $file_conv/,$2, in *,$file_conv,*) + # This is the optimization mentioned above: + # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert. ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/* | msys/*) - file=`cygpath -m "$file" || echo "$file"` + cygwin/*) + file=`cygpath -w "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` @@ -343,9 +356,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/build-aux/missing new/kmod-34.3/build-aux/missing --- old/kmod-34.2/build-aux/missing 2025-03-28 05:03:33.363275300 +0100 +++ new/kmod-34.3/build-aux/missing 2026-10-30 14:52:52.042167200 +0100 @@ -1,11 +1,11 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2024-06-07.14; # UTC +scriptversion=2025-06-18.21; # UTC # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells -# Copyright (C) 1996-2024 Free Software Foundation, Inc. +# Copyright (C) 1996-2025 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -228,9 +228,9 @@ exit $st # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/build-aux/test-driver new/kmod-34.3/build-aux/test-driver --- old/kmod-34.2/build-aux/test-driver 2025-03-28 05:03:33.426722000 +0100 +++ new/kmod-34.3/build-aux/test-driver 2026-10-30 14:52:52.083215200 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2024-06-19.01; # UTC +scriptversion=2025-06-18.21; # UTC -# Copyright (C) 2011-2024 Free Software Foundation, Inc. +# Copyright (C) 2011-2025 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -152,9 +152,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/configure.ac new/kmod-34.3/configure.ac --- old/kmod-34.2/configure.ac 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/configure.ac 2026-10-30 14:51:32.000000000 +0100 @@ -1,6 +1,6 @@ AC_PREREQ(2.64) AC_INIT([kmod], - [34.2], + [34.3], [[email protected]], [kmod], [http://git.kernel.org/?p=utils/kernel/kmod/kmod.git]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/libkmod/libkmod-builtin.c new/kmod-34.3/libkmod/libkmod-builtin.c --- old/kmod-34.2/libkmod/libkmod-builtin.c 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/libkmod/libkmod-builtin.c 2026-10-30 14:51:32.000000000 +0100 @@ -114,7 +114,7 @@ break; } if (!strbuf_pushchars(buf, dot + 1) || !strbuf_pushchar(buf, '\0')) { - count = -errno; + count = -ENOMEM; ERR(info->ctx, "get_strings: " "failed to append modinfo string\n"); return count; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/libkmod/libkmod-file.c new/kmod-34.3/libkmod/libkmod-file.c --- old/kmod-34.2/libkmod/libkmod-file.c 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/libkmod/libkmod-file.c 2026-10-30 14:51:32.000000000 +0100 @@ -95,6 +95,15 @@ return NULL; } + /* + * Bail out if underlying fd is not seekable - that is not supported + */ + if (lseek(file->fd, 0, SEEK_CUR) < 0) { + close(file->fd); + free(file); + return NULL; + } + sz = pread_str_safe(file->fd, buf, sizeof(buf), 0); if (sz != (sizeof(buf) - 1)) { if (sz < 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/libkmod/libkmod-module.c new/kmod-34.3/libkmod/libkmod-module.c --- old/kmod-34.2/libkmod/libkmod-module.c 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/libkmod/libkmod-module.c 2026-10-30 14:51:32.000000000 +0100 @@ -172,6 +172,7 @@ goto fail; } list = l_new; + n++; } DBG(ctx, "%zu dependencies for %s\n", n, mod->name); @@ -1704,7 +1705,7 @@ fail: closedir(d); - kmod_module_unref_list(list); + kmod_module_section_free_list(list); return NULL; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/m4/libtool.m4 new/kmod-34.3/m4/libtool.m4 --- old/kmod-34.2/m4/libtool.m4 2025-03-28 05:03:30.624604500 +0100 +++ new/kmod-34.3/m4/libtool.m4 2026-10-30 14:52:50.915098700 +0100 @@ -2978,6 +2978,18 @@ dynamic_linker='NetBSD ld.elf_so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -4839,6 +4851,12 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -5092,6 +5110,9 @@ ;; esac ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; @@ -5151,6 +5172,9 @@ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes @@ -5934,6 +5958,7 @@ if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + _LT_TAGVAR(link_all_deplibs, $1)=no else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/m4/ltversion.m4 new/kmod-34.3/m4/ltversion.m4 --- old/kmod-34.2/m4/ltversion.m4 2025-03-28 05:03:30.659825300 +0100 +++ new/kmod-34.3/m4/ltversion.m4 2026-10-30 14:52:50.951789900 +0100 @@ -10,15 +10,15 @@ # @configure_input@ -# serial 4442 ltversion.m4 +# serial 4441 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.5.4.1-baa1-dirty]) -m4_define([LT_PACKAGE_REVISION], [2.5.4.1]) +m4_define([LT_PACKAGE_VERSION], [2.5.4]) +m4_define([LT_PACKAGE_REVISION], [2.5.4]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.5.4.1-baa1-dirty' -macro_revision='2.5.4.1' +[macro_version='2.5.4' +macro_revision='2.5.4' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/man/modprobe.8.scd new/kmod-34.3/man/modprobe.8.scd --- old/kmod-34.2/man/modprobe.8.scd 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/man/modprobe.8.scd 2026-10-30 14:51:32.000000000 +0100 @@ -20,9 +20,9 @@ *modprobe* intelligently adds or removes a module from the Linux kernel: note that for convenience, there is no difference between \_ and - in module names (automatic underscore conversion is performed). *modprobe* looks in the module -directory @DISTCONFDIR@/`uname -r` for all the modules and other files, except -for the optional configuration files (see *modprobe.d*(5)). *modprobe* will also -use module options specified on the kernel command line in the form of +directory @MODULE_DIRECTORY@/`uname -r` for all the modules and other files, +except for the optional configuration files (see *modprobe.d*(5)). *modprobe* will +also use module options specified on the kernel command line in the form of <module>.<option> and blacklists in the form of modprobe.blacklist=<module>. Note that unlike in 2.4 series Linux kernels (which are not supported by this @@ -69,6 +69,11 @@ This option is commonly used by distributions in order to package up a Linux kernel module using module versioning deps. +*--show-exports* + Print out a list of symbols exported by the module. This option is + commonly used to inspect the function list, while investigating loading + of modules with partial or missing dependencies. + *-d*, *--dirname* Root directory for modules, / by default. @@ -150,6 +155,10 @@ require it. Your distribution kernel may not have been built to support removal of modules at all. +*--remove-holders* + This option causes *modprobe* to remove the mentioned module(s), alongside + other modules that depend on it/them - aka the reverse dependency list. + *-w* _TIMEOUT_MSEC_, *--wait*=_TIMEOUT_MSEC_ This option causes *modprobe -r *to continue trying to remove a module if it fails due to the module being busy, i.e. its refcount is not 0 at diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/meson.build new/kmod-34.3/meson.build --- old/kmod-34.2/meson.build 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/meson.build 2026-10-30 14:51:32.000000000 +0100 @@ -1,7 +1,7 @@ project( 'kmod', 'c', - version : '34.2', + version : '34.3', license : ['LGPLv2.1', 'GPL-2.0-or-later'], meson_version : '>=0.61.0', default_options : [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/scripts/sanitizer-env.sh new/kmod-34.3/scripts/sanitizer-env.sh --- old/kmod-34.2/scripts/sanitizer-env.sh 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/scripts/sanitizer-env.sh 2026-10-30 14:51:32.000000000 +0100 @@ -3,12 +3,12 @@ # set -euo pipefail # don't set these, since this script is sourced if [[ ${CC-} == *gcc* ]]; then - OUR_PRELOAD=$("$CC" -print-file-name=libasan.so) + OUR_PRELOAD=$($CC -print-file-name=libasan.so) elif [[ ${CC-} == *clang* ]]; then # With v19, the library lacks the CPU arch in its name - OUR_PRELOAD=$("$CC" -print-file-name=libclang_rt.asan.so) + OUR_PRELOAD=$($CC -print-file-name=libclang_rt.asan.so) if ! test -f "$OUR_PRELOAD"; then - OUR_PRELOAD=$("$CC" -print-file-name=libclang_rt.asan-x86_64.so) + OUR_PRELOAD=$($CC -print-file-name=libclang_rt.asan-x86_64.so) fi else cat <<- EOF >&2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/shared/util.c new/kmod-34.3/shared/util.c --- old/kmod-34.2/shared/util.c 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/shared/util.c 2026-10-30 14:51:32.000000000 +0100 @@ -79,10 +79,12 @@ case ']': return -EINVAL; case '[': - while (alias[i] != ']' && alias[i] != '\0') { + while (i < PATH_MAX - 1 && alias[i] != ']' && alias[i] != '\0') { buf[i] = alias[i]; i++; } + if (i >= PATH_MAX - 1) + return -EINVAL; if (alias[i] != ']') return -EINVAL; @@ -467,7 +469,7 @@ int mkdir_parents(const char *path, mode_t mode) { - char *end = strrchr(path, '/'); + const char *end = strrchr(path, '/'); /* no parent directories */ if (end == NULL) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/testsuite/testsuite.c new/kmod-34.3/testsuite/testsuite.c --- old/kmod-34.2/testsuite/testsuite.c 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/testsuite/testsuite.c 2026-10-30 14:51:32.000000000 +0100 @@ -261,7 +261,7 @@ } if (stat_mstamp(&rootfsst) > stat_mstamp(&stampst)) { - ERR("rootfs %s is dirty, please run 'meson compile testsuite/stamp-rootfs' before running this test\n", + ERR("rootfs %s is dirty, please run 'meson compile testsuite/create-rootfs' before running this test\n", rootfs); exit(EXIT_FAILURE); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/tools/modprobe.c new/kmod-34.3/tools/modprobe.c --- old/kmod-34.2/tools/modprobe.c 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/tools/modprobe.c 2026-10-30 14:51:32.000000000 +0100 @@ -787,6 +787,7 @@ break; case 5: remove_holders = 1; + do_remove = 1; break; case 'w': { char *endptr = NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/kmod-34.2/tools/rmmod.c new/kmod-34.3/tools/rmmod.c --- old/kmod-34.2/tools/rmmod.c 2025-03-28 05:01:47.000000000 +0100 +++ new/kmod-34.3/tools/rmmod.c 2026-10-30 14:51:32.000000000 +0100 @@ -15,6 +15,7 @@ #include <sys/types.h> #include <shared/macro.h> +#include <shared/strbuf.h> #include <libkmod/libkmod.h> @@ -63,16 +64,18 @@ holders = kmod_module_get_holders(mod); if (holders != NULL) { + DECLARE_STRBUF_WITH_STACK(buf, 128); struct kmod_list *itr; - ERR("Module %s is in use by:", kmod_module_get_name(mod)); - kmod_list_foreach(itr, holders) { struct kmod_module *hm = kmod_module_get_module(itr); - ERR(" %s", kmod_module_get_name(hm)); + strbuf_pushchar(&buf, ' '); + strbuf_pushchars(&buf, kmod_module_get_name(hm)); kmod_module_unref(hm); } - ERR("\n"); + + ERR("Module %s is in use by:%s\n", kmod_module_get_name(mod), + strbuf_str(&buf)); kmod_module_unref_list(holders); return -EBUSY; ++++++ kmod-rpmlintrc ++++++ # /usr/share/pkgconfig is sometimes used for non-development purposes, # and this is one such case addFilter("devel-file-in-non-devel-package")
