* [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1
@ 2025-03-13 14:13 Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 1/4] scdoc: Import from meta-wayland Alex Kiernan
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Alex Kiernan @ 2025-03-13 14:13 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
Bring scdoc in from meta-wayland to support generation of the manpages. Convert
to meson from autotools. Clean up usage of kmod in eudev.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
Changes in v3:
- Fix maintainer for scdoc
- Stop using autotools in scdoc (it just has a Makefile)
- Set upstream commit correctly for scdoc 1.11.3
- Fix scdcoc metadata
- Link to v2: https://lore.kernel.org/r/20250313-upgrade-kmod-v2-0-2103ca9a26ad@gmail.com
---
Alex Kiernan (4):
scdoc: Import from meta-wayland
scdoc: Upgrade 1.11.2 -> 1.11.3
kmod: Upgrade 33 -> 34.1
eudev: Drop --output=... from kmod call in init script
meta/conf/distro/include/maintainers.inc | 1 +
meta/recipes-core/udev/eudev/init | 3 +-
.../scdoc/scdoc/0001-Makefile-drop-static.patch | 23 +++++++++
meta/recipes-extended/scdoc/scdoc_1.11.3.bb | 22 ++++++++
.../kmod/kmod/avoid_parallel_tests.patch | 30 -----------
meta/recipes-kernel/kmod/kmod/gtkdocdir.patch | 30 -----------
meta/recipes-kernel/kmod/kmod/run-ptest | 5 --
.../kmod/{kmod_33.bb => kmod_34.1.bb} | 58 +++++++++-------------
8 files changed, 70 insertions(+), 102 deletions(-)
---
base-commit: cb9bff9eac3670253076d5d09c6893e372be40a8
change-id: 20250313-kmod-ac33fdaf6452
Best regards,
--
Alex Kiernan <alex.kiernan@gmail.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH OE-Core v3 1/4] scdoc: Import from meta-wayland
2025-03-13 14:13 [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Alex Kiernan
@ 2025-03-13 14:13 ` Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 2/4] scdoc: Upgrade 1.11.2 -> 1.11.3 Alex Kiernan
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Alex Kiernan @ 2025-03-13 14:13 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
scdoc is a simple man page generator for POSIX systems written in C99.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
meta/conf/distro/include/maintainers.inc | 1 +
.../0001-Makefile-dont-add-static-to-LDFLAGS.patch | 27 ++++++++++++++++++++++
meta/recipes-extended/scdoc/scdoc_git.bb | 25 ++++++++++++++++++++
3 files changed, 53 insertions(+)
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 5515d46ca5b1aad22c46665c78e4707bc22e3a0a..2b47d3103c03b1b8a11f40566fdd5334d906860d 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -761,6 +761,7 @@ RECIPE_MAINTAINER:pn-sassc = "Simone Weiß <simone.p.weiss@posteo.com>"
RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-sato-icon-theme = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER:pn-sbc = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-scdoc = "Alex Kiernan <alex.kiernan@gmail.com>"
RECIPE_MAINTAINER:pn-screen = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-seatd = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-sed = "Chen Qi <Qi.Chen@windriver.com>"
diff --git a/meta/recipes-extended/scdoc/scdoc/0001-Makefile-dont-add-static-to-LDFLAGS.patch b/meta/recipes-extended/scdoc/scdoc/0001-Makefile-dont-add-static-to-LDFLAGS.patch
new file mode 100644
index 0000000000000000000000000000000000000000..b520e949c0b31c0908118cba4f6c2b6ea26f5a26
--- /dev/null
+++ b/meta/recipes-extended/scdoc/scdoc/0001-Makefile-dont-add-static-to-LDFLAGS.patch
@@ -0,0 +1,27 @@
+From 2cac433806d9622dbc005fe5738f1ae8c33a98cb Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Thu, 13 Jul 2023 19:26:40 +0200
+Subject: [PATCH] Makefile: dont add -static to LDFLAGS
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Inappropriate [oe-specific]
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 60a80b8..49021fa 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,6 @@
+ VERSION=1.11.2
+ CFLAGS?=-g
+ MAINFLAGS:=-DVERSION='"$(VERSION)"' -Wall -Wextra -Werror -Wno-unused-parameter
+-LDFLAGS+=-static
+ INCLUDE+=-Iinclude
+ PREFIX?=/usr/local
+ BINDIR?=$(PREFIX)/bin
+--
+2.39.3
+
diff --git a/meta/recipes-extended/scdoc/scdoc_git.bb b/meta/recipes-extended/scdoc/scdoc_git.bb
new file mode 100644
index 0000000000000000000000000000000000000000..224e5417342e9db820456ec54476a1e3cac0e4e4
--- /dev/null
+++ b/meta/recipes-extended/scdoc/scdoc_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "scdoc is a simple man page generator for POSIX systems written in C99."
+HOMEPAGE = "https://github.com/ddevault/scdoc"
+BUGTRACKER = "https://github.com/ddevault/scdoc/issues"
+SECTION = "base/doc"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=31752b4a8edd3fb9ddba1cb90fada74d"
+
+SRC_URI = " \
+ git://git.sr.ht/~sircmpwn/scdoc;protocol=https;branch=master \
+ file://0001-Makefile-dont-add-static-to-LDFLAGS.patch \
+"
+
+DEPENDS = "scdoc-native"
+
+S = "${WORKDIR}/git"
+PV = "1.11.2"
+SRCREV = "afeda241f3f9b2c27e461f32d9c2a704ab82ef61"
+
+EXTRA_OEMAKE:class-native = "PREFIX=${prefix}"
+EXTRA_OEMAKE:class-target = "PREFIX=${prefix} HOST_SCDOC=${STAGING_BINDIR_NATIVE}/scdoc"
+
+inherit autotools-brokensep
+
+BBCLASSEXTEND = "native"
+
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH OE-Core v3 2/4] scdoc: Upgrade 1.11.2 -> 1.11.3
2025-03-13 14:13 [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 1/4] scdoc: Import from meta-wayland Alex Kiernan
@ 2025-03-13 14:13 ` Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 3/4] kmod: Upgrade 33 -> 34.1 Alex Kiernan
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Alex Kiernan @ 2025-03-13 14:13 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
Swap static link removal patch to a backport of upstream, remove autotools
usage (this is just a Makefile recipe), fix up metadata.
Changes:
Dimitry Andric (1):
Fix clang 15 -Wstrict-prototypes warnings
Drew DeVault (2):
README.md: mention system packages
Update version to 1.11.3
Eli Schwartz (2):
remove useless re-declarations of standard functions
get rid of some unused includes
Humm (3):
use .PP for paragraph breaks
scdoc(1), scdoc(5): follow conventions more closely
simplify list output
Max Schillinger (1):
fix formatting of escaped backticks
Simon Branch (2):
scdoc.5: fix capitalization of subsection headers
scdoc.5: fix formatting in the preamble
Simon Ser (1):
man: add section about SOURCE_DATE_EPOCH
jturtle (1):
Emit '\e' instead of '\\'
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
.../0001-Makefile-dont-add-static-to-LDFLAGS.patch | 27 ----------------------
.../scdoc/scdoc/0001-Makefile-drop-static.patch | 23 ++++++++++++++++++
meta/recipes-extended/scdoc/scdoc_1.11.3.bb | 22 ++++++++++++++++++
meta/recipes-extended/scdoc/scdoc_git.bb | 25 --------------------
4 files changed, 45 insertions(+), 52 deletions(-)
diff --git a/meta/recipes-extended/scdoc/scdoc/0001-Makefile-dont-add-static-to-LDFLAGS.patch b/meta/recipes-extended/scdoc/scdoc/0001-Makefile-dont-add-static-to-LDFLAGS.patch
deleted file mode 100644
index b520e949c0b31c0908118cba4f6c2b6ea26f5a26..0000000000000000000000000000000000000000
--- a/meta/recipes-extended/scdoc/scdoc/0001-Makefile-dont-add-static-to-LDFLAGS.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 2cac433806d9622dbc005fe5738f1ae8c33a98cb Mon Sep 17 00:00:00 2001
-From: Markus Volk <f_l_k@t-online.de>
-Date: Thu, 13 Jul 2023 19:26:40 +0200
-Subject: [PATCH] Makefile: dont add -static to LDFLAGS
-
-Signed-off-by: Markus Volk <f_l_k@t-online.de>
-
-Upstream-Status: Inappropriate [oe-specific]
----
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 60a80b8..49021fa 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,7 +1,6 @@
- VERSION=1.11.2
- CFLAGS?=-g
- MAINFLAGS:=-DVERSION='"$(VERSION)"' -Wall -Wextra -Werror -Wno-unused-parameter
--LDFLAGS+=-static
- INCLUDE+=-Iinclude
- PREFIX?=/usr/local
- BINDIR?=$(PREFIX)/bin
---
-2.39.3
-
diff --git a/meta/recipes-extended/scdoc/scdoc/0001-Makefile-drop-static.patch b/meta/recipes-extended/scdoc/scdoc/0001-Makefile-drop-static.patch
new file mode 100644
index 0000000000000000000000000000000000000000..631d06375b9dba7710d5054bc666eb6c71ec393c
--- /dev/null
+++ b/meta/recipes-extended/scdoc/scdoc/0001-Makefile-drop-static.patch
@@ -0,0 +1,23 @@
+From 3667cced504bc40b176d4570d99a83fe67599f3a Mon Sep 17 00:00:00 2001
+From: Drew DeVault <sir@cmpwn.com>
+Date: Wed, 4 Sep 2024 10:07:46 +0200
+Subject: [PATCH] Makefile: drop -static
+
+Upstream-Status: Backport [https://git.sr.ht/~sircmpwn/scdoc/commit/3667cced504bc40b176d4570d99a83fe67599f3a]
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 96ad48cd04a6..49f076aadd39 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,6 @@
+ VERSION=1.11.3
+ CFLAGS?=-g
+ MAINFLAGS:=-DVERSION='"$(VERSION)"' -Wall -Wextra -Werror -Wno-unused-parameter
+-LDFLAGS+=-static
+ INCLUDE+=-Iinclude
+ PREFIX?=/usr/local
+ BINDIR?=$(PREFIX)/bin
diff --git a/meta/recipes-extended/scdoc/scdoc_1.11.3.bb b/meta/recipes-extended/scdoc/scdoc_1.11.3.bb
new file mode 100644
index 0000000000000000000000000000000000000000..7bbedcb66da024206445fb4061b1fa29437a7eb2
--- /dev/null
+++ b/meta/recipes-extended/scdoc/scdoc_1.11.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "scdoc is a simple man page generator for POSIX systems written in C99."
+HOMEPAGE = "https://git.sr.ht/~sircmpwn/scdoc"
+SECTION = "base/doc"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=31752b4a8edd3fb9ddba1cb90fada74d"
+
+DEPENDS = "scdoc-native"
+
+SRC_URI = "git://git.sr.ht/~sircmpwn/scdoc;protocol=https;branch=master \
+ file://0001-Makefile-drop-static.patch "
+SRCREV = "0528bcb993cac6c412acd3ae2e09539e994c0a59"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+EXTRA_OEMAKE = "PREFIX=${prefix}"
+EXTRA_OEMAKE:append:class-target = " HOST_SCDOC=${STAGING_BINDIR_NATIVE}/scdoc"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/scdoc/scdoc_git.bb b/meta/recipes-extended/scdoc/scdoc_git.bb
deleted file mode 100644
index 224e5417342e9db820456ec54476a1e3cac0e4e4..0000000000000000000000000000000000000000
--- a/meta/recipes-extended/scdoc/scdoc_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "scdoc is a simple man page generator for POSIX systems written in C99."
-HOMEPAGE = "https://github.com/ddevault/scdoc"
-BUGTRACKER = "https://github.com/ddevault/scdoc/issues"
-SECTION = "base/doc"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=31752b4a8edd3fb9ddba1cb90fada74d"
-
-SRC_URI = " \
- git://git.sr.ht/~sircmpwn/scdoc;protocol=https;branch=master \
- file://0001-Makefile-dont-add-static-to-LDFLAGS.patch \
-"
-
-DEPENDS = "scdoc-native"
-
-S = "${WORKDIR}/git"
-PV = "1.11.2"
-SRCREV = "afeda241f3f9b2c27e461f32d9c2a704ab82ef61"
-
-EXTRA_OEMAKE:class-native = "PREFIX=${prefix}"
-EXTRA_OEMAKE:class-target = "PREFIX=${prefix} HOST_SCDOC=${STAGING_BINDIR_NATIVE}/scdoc"
-
-inherit autotools-brokensep
-
-BBCLASSEXTEND = "native"
-
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH OE-Core v3 3/4] kmod: Upgrade 33 -> 34.1
2025-03-13 14:13 [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 1/4] scdoc: Import from meta-wayland Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 2/4] scdoc: Upgrade 1.11.2 -> 1.11.3 Alex Kiernan
@ 2025-03-13 14:13 ` Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 4/4] eudev: Drop --output=... from kmod call in init script Alex Kiernan
2025-03-13 20:04 ` [OE-core] [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Mathieu Dubois-Briand
4 siblings, 0 replies; 7+ messages in thread
From: Alex Kiernan @ 2025-03-13 14:13 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
Migrate to meson from autotools. Drop remnants of ptest support which was
removed in 2015:
https://git.openembedded.org/openembedded-core/commit/?id=f80d136bdd578468035a88125fa1b84973fd912b
Remove configuration directory/symlink handling which is now done by the meson
build. Fix manpage generation.
kmod 34
=======
- Improvements
- Drop pre-built .ko modules from git - distros/packages will need the
linux-headers to be able to run the testsuite. There was limited use
of the feature, while linters complained about "source-not-included"
or "source-contains-prebuilt-binary".
- Switch build system to meson: autotools is still supported but slated
for removal on next release. This is the transition release to help
distros and integrators to move to the new build system. Default options
target distros while developers can use the build-dev.ini configuration
file.
- Allow to load decompression libraries on demand: liblzma.so, libz.so
and libzstd.so can now be loaded on demand, only when there is
such a need. For use during early boot for loading modules, if
configured well it means none of these libraries are loaded: the
module loading logic via finit_module() will just hand over to kernel
the open file descriptor and kernel will use its own decompress routine.
If kernel doesn't handle decompression or if the module is compressed
with a different algorithm than the one configured in the kernel,
libkmod can still open the module by dynamically loading the
correspondent library.
Tools inspecting the module contents, like modinfo, will load that
single decompression library instead all of them.
For distros building with meson it's possible to choose the behavior
per library. Examples: a) -Ddlopen=all uses dlopen behavior for all
the libraries; b) -Ddlopen=xz, will make only xz to be dlopen'ed
while other enabled libraries will be linked in at build time.
The use of dlopen is annotated in the ELF file by using the ELF
Package Metadata spec as documented in
https://systemd.io/ELF_PACKAGE_METADATA/. Example:
$ dlopen-notes.py libkmod.so
# build/libkmod.so
[
{
"feature": "xz",
"description": "Support for uncompressing xz-compressed modules",
"priority": "recommended",
"soname": [
"liblzma.so.5"
]
}
]
- Add -m / --moduledir to depmod to override in runtime the module
directory that was already possible to set on build time. Document
the interaction between the dir options: base, module and output.
- Better error propagation in libkmod for its internal APIs and libc
functions up to the callers.
- Improve libkmod API documentation by adding new sections, documenting
functions previously missing, rewording existing ones, adding version
information, cross-referencing, etc.
- Remove deprecated arguments for depmod: --unresolved-error, --quiet,
--root and --map.
- Remove deprecated arguments for rmmod: -w.
- Remove deprecated arguments for insmod: -p and -s.
- Add --syslog and --force for insmod to normalize it with other tools.
- Add bash, fish and zsh shell-completion for insmod, rmmod and lsmod.
- Remove depmod_module_directory_override from .pc as the kernel side
is not making use of it and will likely not need it.
- Improve builtin module listing and retrieving information from its
modinfo index which reduces the amount of needed syscalls by 90%.
- Improve zstd decompression by using streaming bufferless mode which
reduces the amount of syscalls by 65%.
- Increase use of pread while parsing ELF and indexes in order to reduce
syscalls and improve performance.
- Improve module sorting in depmod to speedup the use of the
modules.order index and support duplicate lines in it.
- Avoid misaligned memory access while reading module signature in
libkmod.
- Add more documentation for contributing to kmod. New developers are
welcome to look at the new README.md and CONTRIBUTING.md files for
information on process, coding style, build/installation, etc.
- Overhaul man pages with multiple clarifications, section rewrites and
additional documentation.
- Drop --with-rootlibdir as it's seldom used and was partially broken.
- Drop strndupa() and alloca() for increased libc compatibility.
- Better handling of LFS for increased compatibility with libc.
- Protect kmod_get_dirname() and kmod_new() against NULL argument.
- Normalize --version / --help output across all tools.
- Always include log priority in messages, even when building with debug.
- Optimize index reading by lazily reading nodes on demand, reducing
FILE overhead and reducing code duplication wrt FILE vs mmap
implementations, etc.
- Switch index to pre-order to improve performance in both read and
write, meaning faster lookup and faster depmod. Some examples:
a) traversing all indexes via configuration dump shows a 9%
improvement on Raspberry Pi 2. b) writing the indexes takes 90% less
lseek() calls, leading to a performance gain of 13%.
- Make symlink install locations more similar to what distros are
using: by default it installs the kmod binary as bin/kmod and the
symlinks are located in e.g. `sbin/depmod -> ../bin/kmod`. Changing
the sbin location is sufficient to move the symlinks to the
appropriate place, so distros using `--sbin /usr/bin` will have them
installed in that directory. This avoids distros having to remove the
symlink and add the symlinks by themselves. (meson only)
- Install configuration directories,
/{etc,usr/lib}/{depmod,modprobe}.d/ as part of installation, matching
what several distros do during packaging. (meson only)
- Bug fixes
- Fix testsuite using when using configurable module dir.
- Fix typos on documentation and source code.
- Fix out of bound access in multiple places when using long paths,
synthetic huge files, or handling memory allocation errors, or
inconsistent variable types, particularly on 32b builds.
- Fix internal array APIs, with better error checking: improve execution on
very memory-constrained scenarios or very long paths.
- Fix absolute path handling in depmod.
- Fix libkmod memory leaks on error handling when getting builtin
module list.
- Do not crash on invalid modules.builtin.modinfo file.
- Fix link with lld resulting in empty testsuite.
- Fix testsuite build/execution with musl.
- Others
- Adopt clang-format and editorconfig for coding style and setup CI
action to keep the codebase consistent.
- Adopt codespell in CI.
- Adopt CodeQL integration in CI.
- Adopt Codecov in CI.
- Adopt SPDX copyright and license identifiers throughout the project.
- Add more distros to CI, 32b builds, clang as compiler and lld as
linker.
- Add support for clang sanitizers and squelch warnings.
- Add tests for builtin modules from modinfo index file.
- Multiple testsuite refactors and fixes to make it simpler to write tests.
- Add CI coverage for docs
- Improve strbuf implementation with more error checks and generalize
it to cover the role of scratchbuf. This allows to remove the
scratchbuf implementation.
- Use common array and strbuf code in depmod to remove duplication.
- Add abstraction and use more compiler builtins for addition and
multiplication with overflow checking.
- Normalize use of C attributes throughout the project.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
.../kmod/kmod/avoid_parallel_tests.patch | 30 -----------
meta/recipes-kernel/kmod/kmod/gtkdocdir.patch | 30 -----------
meta/recipes-kernel/kmod/kmod/run-ptest | 5 --
.../kmod/{kmod_33.bb => kmod_34.1.bb} | 58 +++++++++-------------
4 files changed, 23 insertions(+), 100 deletions(-)
diff --git a/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch b/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch
deleted file mode 100644
index 6db4fa7e97e55ea0d9e34c8caa35357ff2052adb..0000000000000000000000000000000000000000
--- a/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7a22abf188e5b688080bb1321a77588474114339 Mon Sep 17 00:00:00 2001
-From: Tudor Florea <tudor.florea@enea.com>
-Date: Fri, 6 Sep 2013 21:11:57 +0000
-Subject: [PATCH] kmod: avoid parallel-tests
-
-Avoid parallel-tests as it remove
-buildtest-TESTS and runtest-TESTS targets required by ptest.
-In automake 1.13.4 parallel-tests is assumed by defauls.
-In order to have buildtest-TESTS and runtest-TESTS targets
-serial-tests is now required
-
-Signed-off-by: Tudor Florea <tudor.florea@enea.com>
-Upstream-Status: Inappropriate (disable feature incompatible with ptest)
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 2f1c525..7056aae 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -14,7 +14,7 @@ AC_USE_SYSTEM_EXTENSIONS
- AC_SYS_LARGEFILE
- AC_PREFIX_DEFAULT([/usr])
- AM_MAINTAINER_MODE([enable])
--AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests parallel-tests])
-+AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests serial-tests])
- AM_SILENT_RULES([yes])
- LT_INIT([disable-static pic-only])
-
diff --git a/meta/recipes-kernel/kmod/kmod/gtkdocdir.patch b/meta/recipes-kernel/kmod/kmod/gtkdocdir.patch
deleted file mode 100644
index 91d622b8c7b04a34b875efb8c2579614bdb90668..0000000000000000000000000000000000000000
--- a/meta/recipes-kernel/kmod/kmod/gtkdocdir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 90fb7bb85002cde39de3b3d2e2481933390832af Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@arm.com>
-Date: Fri, 8 Dec 2023 22:35:45 +0000
-Subject: [PATCH] configure: set docdir in GTK_DOC_CHECK
-
-By passing --docdir in the GTK_DOC_CHECK arguments (to match
-autogen.sh) autoreconf will work out of the box.
-
-Without this autoreconf fails due to the documentation not being in
-./docs, the default location.
-
-Upstream-Status: Submitted [https://lore.kernel.org/linux-modules/20231208224511.1363066-1-ross.burton@arm.com/T/#u]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7056aae..d53a20c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -236,7 +236,7 @@ AS_IF([test "x$enable_coverage" = "xyes"], [
- AM_CONDITIONAL([ENABLE_COVERAGE], [test "x$enable_coverage" = "xyes"])
-
- m4_ifdef([GTK_DOC_CHECK], [
--GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat])
-+GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat --docdir libkmod/docs])
- ], [
- AM_CONDITIONAL([ENABLE_GTK_DOC], false)])
-
diff --git a/meta/recipes-kernel/kmod/kmod/run-ptest b/meta/recipes-kernel/kmod/kmod/run-ptest
deleted file mode 100755
index 598dd2cb5fbad194a135e5d06601847e00df1586..0000000000000000000000000000000000000000
--- a/meta/recipes-kernel/kmod/kmod/run-ptest
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-touch testsuite/stamp-rootfs
-tar xf testmodule.tar
-make -k runtest-TESTS 2>/dev/null| grep -e ^PASS -e ^FAIL
-find testsuite -name *.ko -exec rm -f {} \;
diff --git a/meta/recipes-kernel/kmod/kmod_33.bb b/meta/recipes-kernel/kmod/kmod_34.1.bb
similarity index 58%
rename from meta/recipes-kernel/kmod/kmod_33.bb
rename to meta/recipes-kernel/kmod/kmod_34.1.bb
index 15f42766f3b5e484a8f0519fc037b32fa62a4754..8154e6ec57498711d8948d94787962e73c866b7f 100644
--- a/meta/recipes-kernel/kmod/kmod_33.bb
+++ b/meta/recipes-kernel/kmod/kmod_34.1.bb
@@ -13,28 +13,28 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://libkmod/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://tools/COPYING;md5=751419260aa954499f7abaabaa882bbe \
"
-inherit autotools bash-completion gtk-doc pkgconfig update-alternatives
+inherit bash-completion gtk-doc manpages meson pkgconfig update-alternatives
-SRCREV = "e193aeb99a04fb4b63ce47eb2c7f119db59446a0"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git;branch=master;protocol=https \
+SRC_URI = "https://www.kernel.org/pub/linux/utils/kernel/${BPN}/${BP}.tar.xz \
file://depmod-search.conf \
- file://avoid_parallel_tests.patch \
- file://gtkdocdir.patch \
"
+SRC_URI[sha256sum] = "125957c9125fc5db1bd6a2641a1c9a6a0b500882fb8ccf7fb6483fcae5309b17"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "--enable-tools"
+EXTRA_OEMESON += "\
+ -Ddistconfdir=${nonarch_base_libdir} \
+ --bindir=${base_bindir} \
+ --sbindir=${base_sbindir} \
+ -Dtools=true \
+"
PACKAGECONFIG ??= "zlib xz openssl"
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
-PACKAGECONFIG[logging] = " --enable-logging,--disable-logging"
-PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, scdoc-native"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
-PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
+PACKAGECONFIG[debug] = "-Ddebug-messages=true,-Ddebug-messages=false"
+PACKAGECONFIG[logging] = " -Dlogging=true,-Dlogging=false"
+PACKAGECONFIG[manpages] = "-Dmanpages=true,-Dmanpages=false,scdoc-native"
+PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl"
+PACKAGECONFIG[xz] = "-Dxz=enabled,-Dxz=disabled,xz"
+PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib"
+PACKAGECONFIG[zstd] = "-Dzstd=enabled,-Dzstd=disabled,zstd"
PROVIDES += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
RPROVIDES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
@@ -44,24 +44,7 @@ RREPLACES:${PN} += "module-init-tools-insmod-static module-init-tools-depmod mod
# to force user to remove old module-init-tools and replace them with kmod variants
RCONFLICTS:libkmod2 += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
-# autotools set prefix to /usr, however we want them in /bin and /sbin
-EXTRA_OECONF += "--bindir=${base_bindir} --sbindir=${base_sbindir}"
-
do_install:append () {
- install -dm755 ${D}${base_bindir}
- install -dm755 ${D}${base_sbindir}
- # add symlinks to kmod
- [ -e ${D}${base_bindir}/lsmod ] || ln -rs ${D}${base_bindir}/kmod ${D}${base_bindir}/lsmod
- for tool in insmod rmmod depmod modinfo modprobe; do
- rm -f ${D}${base_bindir}/${tool}
- ln -rs ${D}${base_bindir}/kmod ${D}${base_sbindir}/${tool}
- done
- # configuration directories
- install -dm755 ${D}${nonarch_base_libdir}/depmod.d
- install -dm755 ${D}${nonarch_base_libdir}/modprobe.d
- install -dm755 ${D}${sysconfdir}/depmod.d
- install -dm755 ${D}${sysconfdir}/modprobe.d
-
# install depmod.d file for search/ dir
install -Dm644 "${UNPACKDIR}/depmod-search.conf" "${D}${nonarch_base_libdir}/depmod.d/search.conf"
@@ -69,6 +52,11 @@ do_install:append () {
echo "exclude .debug" > ${D}${nonarch_base_libdir}/depmod.d/exclude.conf
}
+PACKAGES += "${PN}-fish-completion ${PN}-zsh-completion"
+
+FILES:${PN}-fish-completion = "${datadir}/fish"
+FILES:${PN}-zsh-completion = "${datadir}/zsh"
+
ALTERNATIVE_PRIORITY = "70"
ALTERNATIVE:kmod = "insmod modprobe rmmod modinfo bin-lsmod lsmod depmod"
@@ -78,9 +66,9 @@ ALTERNATIVE_LINK_NAME[insmod] = "${base_sbindir}/insmod"
ALTERNATIVE_LINK_NAME[modprobe] = "${base_sbindir}/modprobe"
ALTERNATIVE_LINK_NAME[rmmod] = "${base_sbindir}/rmmod"
ALTERNATIVE_LINK_NAME[modinfo] = "${base_sbindir}/modinfo"
-ALTERNATIVE_LINK_NAME[bin-lsmod] = "${base_bindir}/lsmod"
+ALTERNATIVE_LINK_NAME[bin-lsmod] = "${base_sbindir}/lsmod"
ALTERNATIVE_LINK_NAME[lsmod] = "${base_sbindir}/lsmod"
-ALTERNATIVE_TARGET[lsmod] = "${base_bindir}/lsmod.${BPN}"
+ALTERNATIVE_TARGET[lsmod] = "${base_sbindir}/lsmod.${BPN}"
PACKAGES =+ "libkmod"
FILES:libkmod = "${base_libdir}/libkmod*${SOLIBS} ${libdir}/libkmod*${SOLIBS}"
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH OE-Core v3 4/4] eudev: Drop --output=... from kmod call in init script
2025-03-13 14:13 [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Alex Kiernan
` (2 preceding siblings ...)
2025-03-13 14:13 ` [PATCH OE-Core v3 3/4] kmod: Upgrade 33 -> 34.1 Alex Kiernan
@ 2025-03-13 14:13 ` Alex Kiernan
2025-03-13 20:04 ` [OE-core] [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Mathieu Dubois-Briand
4 siblings, 0 replies; 7+ messages in thread
From: Alex Kiernan @ 2025-03-13 14:13 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
This awkward invocation is no longer required as kmod just uses the stdout file
descriptor, rather than explicitly opening /dev/stdout.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
meta/recipes-core/udev/eudev/init | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/meta/recipes-core/udev/eudev/init b/meta/recipes-core/udev/eudev/init
index 477a525b21212ad72d2661e27e1218fca9fee5db..790cd3b9339b6334dbab1feaa65f8948d72c76ea 100644
--- a/meta/recipes-core/udev/eudev/init
+++ b/meta/recipes-core/udev/eudev/init
@@ -27,8 +27,7 @@ make_static_nodes () {
[ -e /lib/modules/$(uname -r)/modules.devname ] || return 0
[ -x @KMOD@ ] || return 0
- #output to /proc/self/fd/1 since /dev/stdout not created by udevd yet
- @KMOD@ static-nodes --format=tmpfiles --output=/proc/self/fd/1 |
+ @KMOD@ static-nodes --format=tmpfiles |
while read TTYPE TPATH TMODE TUSER TGROUP TAGE TARG; do
case "${TTYPE}" in
'd')
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1
2025-03-13 14:13 [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Alex Kiernan
` (3 preceding siblings ...)
2025-03-13 14:13 ` [PATCH OE-Core v3 4/4] eudev: Drop --output=... from kmod call in init script Alex Kiernan
@ 2025-03-13 20:04 ` Mathieu Dubois-Briand
2025-03-14 7:38 ` Alex Kiernan
4 siblings, 1 reply; 7+ messages in thread
From: Mathieu Dubois-Briand @ 2025-03-13 20:04 UTC (permalink / raw)
To: alex.kiernan, openembedded-core
On Thu Mar 13, 2025 at 3:13 PM CET, Alex Kiernan via lists.openembedded.org wrote:
> Bring scdoc in from meta-wayland to support generation of the manpages. Convert
> to meson from autotools. Clean up usage of kmod in eudev.
>
> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> ---
> Changes in v3:
> - Fix maintainer for scdoc
> - Stop using autotools in scdoc (it just has a Makefile)
> - Set upstream commit correctly for scdoc 1.11.3
> - Fix scdcoc metadata
> - Link to v2: https://lore.kernel.org/r/20250313-upgrade-kmod-v2-0-2103ca9a26ad@gmail.com
>
> ---
Hi,
Thanks for the new version, but it appears to be failing on the
selftests:
AssertionError: Regex didn't match: 'Line \\d+ of \\"/usr/src/debug/kmod/.*/tools/kmod.c\\" starts at address 0x[0-9A-Fa-f]+ <kmod_help>' not found in 'Reading symbols from /tmp/debugfs-xvl6_emr/bin/kmod...\nReading symbols from /tmp/debugfs-xvl6_emr/bin/.debug/kmod...\n0x00007ffff7fe3ac0 in _start () from /tmp/debugfs-xvl6_emr/lib/ld-linux-x86-64.so.2\nLine 118 of "/usr/include/bits/stdio2.h" starts at address 0x55555555edd0 <kmod_help> and ends at 0x55555555edd7 <kmod_help+7>.'
https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/1759546/raw_inline
Can you have a look at this ?
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [OE-core] [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1
2025-03-13 20:04 ` [OE-core] [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Mathieu Dubois-Briand
@ 2025-03-14 7:38 ` Alex Kiernan
0 siblings, 0 replies; 7+ messages in thread
From: Alex Kiernan @ 2025-03-14 7:38 UTC (permalink / raw)
To: Mathieu Dubois-Briand, Ross Burton; +Cc: openembedded-core
On Thu, Mar 13, 2025 at 8:04 PM Mathieu Dubois-Briand
<mathieu.dubois-briand@bootlin.com> wrote:
>
> On Thu Mar 13, 2025 at 3:13 PM CET, Alex Kiernan via lists.openembedded.org wrote:
> > Bring scdoc in from meta-wayland to support generation of the manpages. Convert
> > to meson from autotools. Clean up usage of kmod in eudev.
> >
> > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > ---
> > Changes in v3:
> > - Fix maintainer for scdoc
> > - Stop using autotools in scdoc (it just has a Makefile)
> > - Set upstream commit correctly for scdoc 1.11.3
> > - Fix scdcoc metadata
> > - Link to v2: https://lore.kernel.org/r/20250313-upgrade-kmod-v2-0-2103ca9a26ad@gmail.com
> >
> > ---
>
> Hi,
>
> Thanks for the new version, but it appears to be failing on the
> selftests:
>
> AssertionError: Regex didn't match: 'Line \\d+ of \\"/usr/src/debug/kmod/.*/tools/kmod.c\\" starts at address 0x[0-9A-Fa-f]+ <kmod_help>' not found in 'Reading symbols from /tmp/debugfs-xvl6_emr/bin/kmod...\nReading symbols from /tmp/debugfs-xvl6_emr/bin/.debug/kmod...\n0x00007ffff7fe3ac0 in _start () from /tmp/debugfs-xvl6_emr/lib/ld-linux-x86-64.so.2\nLine 118 of "/usr/include/bits/stdio2.h" starts at address 0x55555555edd0 <kmod_help> and ends at 0x55555555edd7 <kmod_help+7>.'
>
> https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/1759546/raw_inline
>
I'm not really sure what the right fix is here... the output from the
gdb command that's being called is now:
# gdb /bin/kmod -ex "info line kmod_help"
GNU gdb (GDB) 16.2
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-poky-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /bin/kmod...
Reading symbols from /bin/.debug/kmod...
warning: could not convert 'kmod_help' from the host encoding
(ANSI_X3.4-1968) to UTF-32.
This normally should not happen, please file a bug report.
Line 118 of "/usr/include/bits/stdio2.h" starts at address 0xaac0
<kmod_help> and ends at 0xaacc <kmod_help+12>.
I suspect this is really collateral damage as the test is just using
kmod as a handy target when @Ross Burton rewrote it - does that look
right? And would changing the regex to:
r"Line \d+ of \".*\" starts at address 0x[0-9A-Fa-f]+ <kmod_help>"
be reasonable, since I'm guessing that the debug info is just confused
here, but that's not relevant to the thing which is actually being
tested?
--
Alex Kiernan
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-03-14 7:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-13 14:13 [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 1/4] scdoc: Import from meta-wayland Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 2/4] scdoc: Upgrade 1.11.2 -> 1.11.3 Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 3/4] kmod: Upgrade 33 -> 34.1 Alex Kiernan
2025-03-13 14:13 ` [PATCH OE-Core v3 4/4] eudev: Drop --output=... from kmod call in init script Alex Kiernan
2025-03-13 20:04 ` [OE-core] [PATCH OE-Core v3 0/4] Upgrade kmod 33 -> 34.1 Mathieu Dubois-Briand
2025-03-14 7:38 ` Alex Kiernan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.