All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific
@ 2023-06-20 22:19 Jose Quaresma
  2023-06-20 22:19 ` [PATCH V3 2/3] kernel-module-split: use context manager to open files Jose Quaresma
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Jose Quaresma @ 2023-06-20 22:19 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma, Ola x Nilsson, Peter Kjellerstedt

Also take the oportunity to only add configuration files to FILES
and CONFFILES when they exist and are used.

The modules-load.d [1] - Configure kernel modules to load at boot
should install their configuration files in /usr/lib/modules-load.d.

The modprobe.d [2] - Configuration directory for modprobe
should install their configuration files in /lib/modprobe.d

[1] https://www.freedesktop.org/software/systemd/man/modules-load.d.html
[2] https://www.man7.org/linux/man-pages//man5/modprobe.d.5.html

[YOCTO #12212] https://bugzilla.yoctoproject.org/show_bug.cgi?id=12212

CC: Ola x Nilsson <Ola.x.Nilsson@axis.com>
CC: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
---

v3: fix v2 build issue and only add configuration files to FILES
and CONFFILES when they exist and are used.

v2: use the same location as before on the class and define the new
location just for systemd.

 .../kernel-module-split.bbclass               | 36 ++++++++++---------
 .../distro/include/init-manager-systemd.inc   |  4 +++
 2 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/meta/classes-recipe/kernel-module-split.bbclass b/meta/classes-recipe/kernel-module-split.bbclass
index 50882c31a7..e7ee6c55be 100644
--- a/meta/classes-recipe/kernel-module-split.bbclass
+++ b/meta/classes-recipe/kernel-module-split.bbclass
@@ -30,8 +30,11 @@ fi
 
 PACKAGE_WRITE_DEPS += "kmod-native depmodwrapper-cross"
 
+modulesloaddir ??= "${sysconfdir}/modules-load.d"
+modprobedir ??= "${sysconfdir}/modprobe.d"
+
 do_install:append() {
-	install -d ${D}${sysconfdir}/modules-load.d/ ${D}${sysconfdir}/modprobe.d/
+	install -d ${D}${modulesloaddir} ${D}${modprobedir}
 }
 
 KERNEL_SPLIT_MODULES ?= "1"
@@ -93,8 +96,9 @@ python split_kernel_module_packages () {
 
         dvar = d.getVar('PKGD')
 
-        # If autoloading is requested, output /etc/modules-load.d/<name>.conf and append
+        # If autoloading is requested, output ${modulesloaddir}/<name>.conf and append
         # appropriate modprobe commands to the postinst
+        autoloadpath = '%s/%s.conf' % (d.getVar('modulesloaddir'), basename)
         autoloadlist = (d.getVar("KERNEL_MODULE_AUTOLOAD") or "").split()
         autoload = d.getVar('module_autoload_%s' % basename)
         if autoload and autoload == basename:
@@ -102,14 +106,16 @@ python split_kernel_module_packages () {
         if autoload and basename not in autoloadlist:
             bb.warn("module_autoload_%s is defined but '%s' isn't included in KERNEL_MODULE_AUTOLOAD, please add it there" % (basename, basename))
         if basename in autoloadlist:
-            name = '%s/etc/modules-load.d/%s.conf' % (dvar, basename)
-            f = open(name, 'w')
+            f = open("%s%s" % (dvar, autoloadpath), 'w')
             if autoload:
                 for m in autoload.split():
                     f.write('%s\n' % m)
             else:
                 f.write('%s\n' % basename)
             f.close()
+            autoloadpath2append = ' %s' % autoloadpath
+            d.appendVar('FILES:%s' % pkg, autoloadpath2append)
+            d.appendVar('CONFFILES:%s' % pkg, autoloadpath2append)
             postinst = d.getVar('pkg_postinst:%s' % pkg)
             if not postinst:
                 bb.fatal("pkg_postinst:%s not defined" % pkg)
@@ -117,24 +123,19 @@ python split_kernel_module_packages () {
             d.setVar('pkg_postinst:%s' % pkg, postinst)
 
         # Write out any modconf fragment
+        modconfpath = '%s/%s.conf' % (d.getVar('modprobedir'), basename)
         modconflist = (d.getVar("KERNEL_MODULE_PROBECONF") or "").split()
         modconf = d.getVar('module_conf_%s' % basename)
         if modconf and basename in modconflist:
-            name = '%s/etc/modprobe.d/%s.conf' % (dvar, basename)
-            f = open(name, 'w')
+            f = open("%s%s" % (dvar, modconfpath), 'w')
             f.write("%s\n" % modconf)
             f.close()
+            modconfpath2append = ' %s' % modconfpath
+            d.appendVar('FILES:%s' % pkg, modconfpath2append)
+            d.appendVar('CONFFILES:%s' % pkg, modconfpath2append)
         elif modconf:
             bb.error("Please ensure module %s is listed in KERNEL_MODULE_PROBECONF since module_conf_%s is set" % (basename, basename))
 
-        files = d.getVar('FILES:%s' % pkg)
-        files = "%s /etc/modules-load.d/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename)
-        d.setVar('FILES:%s' % pkg, files)
-
-        conffiles = d.getVar('CONFFILES:%s' % pkg)
-        conffiles = "%s /etc/modules-load.d/%s.conf /etc/modprobe.d/%s.conf" % (conffiles, basename, basename)
-        d.setVar('CONFFILES:%s' % pkg, conffiles)
-
         if "description" in vals:
             old_desc = d.getVar('DESCRIPTION:' + pkg) or ""
             d.setVar('DESCRIPTION:' + pkg, old_desc + "; " + vals["description"])
@@ -167,10 +168,11 @@ python split_kernel_module_packages () {
     splitmods = d.getVar('KERNEL_SPLIT_MODULES')
     postinst = d.getVar('pkg_postinst:modules')
     postrm = d.getVar('pkg_postrm:modules')
+    modulesloaddir = d.getVar('modulesloaddir')
+    modprobedir = d.getVar('modprobedir')
 
     if splitmods != '1':
-        etcdir = d.getVar('sysconfdir')
-        d.appendVar('FILES:' + metapkg, '%s/modules-load.d/ %s/modprobe.d/ %s/modules/' % (etcdir, etcdir, d.getVar("nonarch_base_libdir")))
+        d.appendVar('FILES:' + metapkg, '%s %s %s/modules' % (modulesloaddir, modprobedir, d.getVar("nonarch_base_libdir")))
         d.appendVar('pkg_postinst:%s' % metapkg, postinst)
         d.prependVar('pkg_postrm:%s' % metapkg, postrm);
         return
@@ -189,7 +191,7 @@ python split_kernel_module_packages () {
     # avoid warnings. removedirs only raises an OSError if an empty
     # directory cannot be removed.
     dvar = d.getVar('PKGD')
-    for dir in ["%s/etc/modprobe.d" % (dvar), "%s/etc/modules-load.d" % (dvar), "%s/etc" % (dvar)]:
+    for dir in ["%s%s" % (dvar, modprobedir), "%s%s" % (dvar, modulesloaddir)]:
         if len(os.listdir(dir)) == 0:
             os.rmdir(dir)
 }
diff --git a/meta/conf/distro/include/init-manager-systemd.inc b/meta/conf/distro/include/init-manager-systemd.inc
index 7867d90028..fc13089764 100644
--- a/meta/conf/distro/include/init-manager-systemd.inc
+++ b/meta/conf/distro/include/init-manager-systemd.inc
@@ -5,3 +5,7 @@ VIRTUAL-RUNTIME_init_manager ??= "systemd"
 VIRTUAL-RUNTIME_initscripts ??= "systemd-compat-units"
 VIRTUAL-RUNTIME_login_manager ??= "shadow-base"
 VIRTUAL-RUNTIME_dev_manager ??= "systemd"
+
+# use autoload and probeconf distribution specific
+modulesloaddir ?= "${libdir}/modules-load.d"
+modprobedir ?= "${nonarch_base_libdir}/modprobe.d"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH V3 2/3] kernel-module-split: use context manager to open files
  2023-06-20 22:19 [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific Jose Quaresma
@ 2023-06-20 22:19 ` Jose Quaresma
  2023-06-20 22:19 ` [PATCH V3 3/3] kernel: autoload and probeconf are handled by kernel-module-split Jose Quaresma
  2023-06-21 20:22 ` [OE-core] [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific Luca Ceresoli
  2 siblings, 0 replies; 7+ messages in thread
From: Jose Quaresma @ 2023-06-20 22:19 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
---

v3: new patch in added tu use context manager to open files

 .../kernel-module-split.bbclass               | 23 ++++++++-----------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/meta/classes-recipe/kernel-module-split.bbclass b/meta/classes-recipe/kernel-module-split.bbclass
index e7ee6c55be..a8ed9e3976 100644
--- a/meta/classes-recipe/kernel-module-split.bbclass
+++ b/meta/classes-recipe/kernel-module-split.bbclass
@@ -76,9 +76,8 @@ python split_kernel_module_packages () {
             cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile)
         subprocess.check_call(cmd, shell=True)
         # errors='replace': Some old kernel versions contain invalid utf-8 characters in mod descriptions (like 0xf6, 'ö')
-        f = open(tmpfile, errors='replace')
-        l = f.read().split("\000")
-        f.close()
+        with open(tmpfile, errors='replace') as f:
+            l = f.read().split("\000")
         os.close(tf[0])
         os.unlink(tmpfile)
         if compressed:
@@ -106,13 +105,12 @@ python split_kernel_module_packages () {
         if autoload and basename not in autoloadlist:
             bb.warn("module_autoload_%s is defined but '%s' isn't included in KERNEL_MODULE_AUTOLOAD, please add it there" % (basename, basename))
         if basename in autoloadlist:
-            f = open("%s%s" % (dvar, autoloadpath), 'w')
-            if autoload:
-                for m in autoload.split():
-                    f.write('%s\n' % m)
-            else:
-                f.write('%s\n' % basename)
-            f.close()
+            with open("%s%s" % (dvar, autoloadpath), 'w') as f:
+                if autoload:
+                    for m in autoload.split():
+                        f.write('%s\n' % m)
+                else:
+                    f.write('%s\n' % basename)
             autoloadpath2append = ' %s' % autoloadpath
             d.appendVar('FILES:%s' % pkg, autoloadpath2append)
             d.appendVar('CONFFILES:%s' % pkg, autoloadpath2append)
@@ -127,9 +125,8 @@ python split_kernel_module_packages () {
         modconflist = (d.getVar("KERNEL_MODULE_PROBECONF") or "").split()
         modconf = d.getVar('module_conf_%s' % basename)
         if modconf and basename in modconflist:
-            f = open("%s%s" % (dvar, modconfpath), 'w')
-            f.write("%s\n" % modconf)
-            f.close()
+            with open("%s%s" % (dvar, modconfpath), 'w') as f:
+                f.write("%s\n" % modconf)
             modconfpath2append = ' %s' % modconfpath
             d.appendVar('FILES:%s' % pkg, modconfpath2append)
             d.appendVar('CONFFILES:%s' % pkg, modconfpath2append)
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH V3 3/3] kernel: autoload and probeconf are handled by kernel-module-split
  2023-06-20 22:19 [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific Jose Quaresma
  2023-06-20 22:19 ` [PATCH V3 2/3] kernel-module-split: use context manager to open files Jose Quaresma
@ 2023-06-20 22:19 ` Jose Quaresma
  2023-06-21 20:22 ` [OE-core] [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific Luca Ceresoli
  2 siblings, 0 replies; 7+ messages in thread
From: Jose Quaresma @ 2023-06-20 22:19 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
---
 meta/classes-recipe/kernel.bbclass | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass
index 81513173b1..91a33bcbdd 100644
--- a/meta/classes-recipe/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -463,8 +463,6 @@ kernel_do_install() {
 	install -m 0644 .config ${D}/${KERNEL_IMAGEDEST}/config-${KERNEL_VERSION}
 	install -m 0644 vmlinux ${D}/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION}
 	[ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/${KERNEL_IMAGEDEST}/Module.symvers-${KERNEL_VERSION}
-	install -d ${D}${sysconfdir}/modules-load.d
-	install -d ${D}${sysconfdir}/modprobe.d
 }
 
 # Must be ran no earlier than after do_kernel_checkout or else Makefile won't be in ${S}/Makefile
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific
  2023-06-20 22:19 [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific Jose Quaresma
  2023-06-20 22:19 ` [PATCH V3 2/3] kernel-module-split: use context manager to open files Jose Quaresma
  2023-06-20 22:19 ` [PATCH V3 3/3] kernel: autoload and probeconf are handled by kernel-module-split Jose Quaresma
@ 2023-06-21 20:22 ` Luca Ceresoli
  2023-06-21 23:18   ` Jose Quaresma
  2 siblings, 1 reply; 7+ messages in thread
From: Luca Ceresoli @ 2023-06-21 20:22 UTC (permalink / raw)
  To: Jose Quaresma
  Cc: openembedded-core, Jose Quaresma, Ola x Nilsson,
	Peter Kjellerstedt

Hi Jose,

On Tue, 20 Jun 2023 22:19:42 +0000
"Jose Quaresma" <quaresma.jose@gmail.com> wrote:

> Also take the oportunity to only add configuration files to FILES
> and CONFFILES when they exist and are used.
> 
> The modules-load.d [1] - Configure kernel modules to load at boot
> should install their configuration files in /usr/lib/modules-load.d.
> 
> The modprobe.d [2] - Configuration directory for modprobe
> should install their configuration files in /lib/modprobe.d
> 
> [1] https://www.freedesktop.org/software/systemd/man/modules-load.d.html
> [2] https://www.man7.org/linux/man-pages//man5/modprobe.d.5.html
> 
> [YOCTO #12212] https://bugzilla.yoctoproject.org/show_bug.cgi?id=12212
> 
> CC: Ola x Nilsson <Ola.x.Nilsson@axis.com>
> CC: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>

We're having this error on the autobuilders:

ERROR: linux-yocto-6.1.33+gitAUTOINC+db25e51e20_947f660bde-r0 do_package: QA Issue: linux-yocto: Files/directories were installed but not shipped in any package:
  /etc

May it be caused by this series?

Logs:

https://autobuilder.yoctoproject.org/typhoon/#/builders/23/builds/7665/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7376/steps/12/logs/stdio

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific
  2023-06-21 20:22 ` [OE-core] [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific Luca Ceresoli
@ 2023-06-21 23:18   ` Jose Quaresma
  2023-06-22  9:34     ` Luca Ceresoli
  0 siblings, 1 reply; 7+ messages in thread
From: Jose Quaresma @ 2023-06-21 23:18 UTC (permalink / raw)
  To: Luca Ceresoli
  Cc: openembedded-core, Jose Quaresma, Ola x Nilsson,
	Peter Kjellerstedt

[-- Attachment #1: Type: text/plain, Size: 1907 bytes --]

Hi Luca,

Luca Ceresoli <luca.ceresoli@bootlin.com> escreveu no dia quarta,
21/06/2023 à(s) 21:22:

> Hi Jose,
>
> On Tue, 20 Jun 2023 22:19:42 +0000
> "Jose Quaresma" <quaresma.jose@gmail.com> wrote:
>
> > Also take the oportunity to only add configuration files to FILES
> > and CONFFILES when they exist and are used.
> >
> > The modules-load.d [1] - Configure kernel modules to load at boot
> > should install their configuration files in /usr/lib/modules-load.d.
> >
> > The modprobe.d [2] - Configuration directory for modprobe
> > should install their configuration files in /lib/modprobe.d
> >
> > [1] https://www.freedesktop.org/software/systemd/man/modules-load.d.html
> > [2] https://www.man7.org/linux/man-pages//man5/modprobe.d.5.html
> >
> > [YOCTO #12212] https://bugzilla.yoctoproject.org/show_bug.cgi?id=12212
> >
> > CC: Ola x Nilsson <Ola.x.Nilsson@axis.com>
> > CC: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
>
> We're having this error on the autobuilders:
>
> ERROR: linux-yocto-6.1.33+gitAUTOINC+db25e51e20_947f660bde-r0 do_package:
> QA Issue: linux-yocto: Files/directories were installed but not shipped in
> any package:
>   /etc
>
> May it be caused by this series?
>

I have another mistake on the patch that doesn't work without systemd.
My fault, on my tests it's been working well because I use the systemd.
I will send a V4 and helpfully is the last one.

Sorry and thanks for testing.

Jose


>
> Logs:
>
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/23/builds/7665/steps/14/logs/stdio
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7376/steps/12/logs/stdio
>
> Luca
>
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>


-- 
Best regards,

José Quaresma

[-- Attachment #2: Type: text/html, Size: 3685 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific
  2023-06-21 23:18   ` Jose Quaresma
@ 2023-06-22  9:34     ` Luca Ceresoli
  2023-06-22 10:05       ` Jose Quaresma
  0 siblings, 1 reply; 7+ messages in thread
From: Luca Ceresoli @ 2023-06-22  9:34 UTC (permalink / raw)
  To: Jose Quaresma
  Cc: openembedded-core, Jose Quaresma, Ola x Nilsson,
	Peter Kjellerstedt

Hi Jose,

On Thu, 22 Jun 2023 00:18:03 +0100
"Jose Quaresma" <quaresma.jose@gmail.com> wrote:

> Hi Luca,
> 
> Luca Ceresoli <luca.ceresoli@bootlin.com> escreveu no dia quarta,
> 21/06/2023 à(s) 21:22:
> 
> > Hi Jose,
> >
> > On Tue, 20 Jun 2023 22:19:42 +0000
> > "Jose Quaresma" <quaresma.jose@gmail.com> wrote:
> >  
> > > Also take the oportunity to only add configuration files to FILES
> > > and CONFFILES when they exist and are used.
> > >
> > > The modules-load.d [1] - Configure kernel modules to load at boot
> > > should install their configuration files in /usr/lib/modules-load.d.
> > >
> > > The modprobe.d [2] - Configuration directory for modprobe
> > > should install their configuration files in /lib/modprobe.d
> > >
> > > [1] https://www.freedesktop.org/software/systemd/man/modules-load.d.html
> > > [2] https://www.man7.org/linux/man-pages//man5/modprobe.d.5.html
> > >
> > > [YOCTO #12212] https://bugzilla.yoctoproject.org/show_bug.cgi?id=12212
> > >
> > > CC: Ola x Nilsson <Ola.x.Nilsson@axis.com>
> > > CC: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > > Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>  
> >
> > We're having this error on the autobuilders:
> >
> > ERROR: linux-yocto-6.1.33+gitAUTOINC+db25e51e20_947f660bde-r0 do_package:
> > QA Issue: linux-yocto: Files/directories were installed but not shipped in
> > any package:
> >   /etc
> >
> > May it be caused by this series?
> >  
> 
> I have another mistake on the patch that doesn't work without systemd.
> My fault, on my tests it's been working well because I use the systemd.
> I will send a V4 and helpfully is the last one.
> 
> Sorry and thanks for testing.

No problem!

In case it helps your debugging, here is a different kind of error that
happened in the same AB run:

ERROR: lttng-modules-2.13.9-r0 do_package: Error executing a python function in exec_func_python() autogenerated:
...
Exception: FileNotFoundError: [Errno 2] No such file or directory: '/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/lttng-modules/2.13.9-r0/package/usr/lib/modprobe.d'

https://autobuilder.yoctoproject.org/typhoon/#/builders/106/builds/6304/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/6236/steps/11/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/103/builds/6233/steps/12/logs/stdio

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific
  2023-06-22  9:34     ` Luca Ceresoli
@ 2023-06-22 10:05       ` Jose Quaresma
  0 siblings, 0 replies; 7+ messages in thread
From: Jose Quaresma @ 2023-06-22 10:05 UTC (permalink / raw)
  To: Luca Ceresoli
  Cc: openembedded-core, Jose Quaresma, Ola x Nilsson,
	Peter Kjellerstedt

[-- Attachment #1: Type: text/plain, Size: 3340 bytes --]

Hi Luca,

Luca Ceresoli <luca.ceresoli@bootlin.com> escreveu no dia quinta,
22/06/2023 à(s) 10:34:

> Hi Jose,
>
> On Thu, 22 Jun 2023 00:18:03 +0100
> "Jose Quaresma" <quaresma.jose@gmail.com> wrote:
>
> > Hi Luca,
> >
> > Luca Ceresoli <luca.ceresoli@bootlin.com> escreveu no dia quarta,
> > 21/06/2023 à(s) 21:22:
> >
> > > Hi Jose,
> > >
> > > On Tue, 20 Jun 2023 22:19:42 +0000
> > > "Jose Quaresma" <quaresma.jose@gmail.com> wrote:
> > >
> > > > Also take the oportunity to only add configuration files to FILES
> > > > and CONFFILES when they exist and are used.
> > > >
> > > > The modules-load.d [1] - Configure kernel modules to load at boot
> > > > should install their configuration files in /usr/lib/modules-load.d.
> > > >
> > > > The modprobe.d [2] - Configuration directory for modprobe
> > > > should install their configuration files in /lib/modprobe.d
> > > >
> > > > [1]
> https://www.freedesktop.org/software/systemd/man/modules-load.d.html
> > > > [2] https://www.man7.org/linux/man-pages//man5/modprobe.d.5.html
> > > >
> > > > [YOCTO #12212]
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=12212
> > > >
> > > > CC: Ola x Nilsson <Ola.x.Nilsson@axis.com>
> > > > CC: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> > > > Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
> > >
> > > We're having this error on the autobuilders:
> > >
> > > ERROR: linux-yocto-6.1.33+gitAUTOINC+db25e51e20_947f660bde-r0
> do_package:
> > > QA Issue: linux-yocto: Files/directories were installed but not
> shipped in
> > > any package:
> > >   /etc
> > >
> > > May it be caused by this series?
> > >
> >
> > I have another mistake on the patch that doesn't work without systemd.
> > My fault, on my tests it's been working well because I use the systemd.
> > I will send a V4 and helpfully is the last one.
> >
> > Sorry and thanks for testing.
>
> No problem!
>
> In case it helps your debugging, here is a different kind of error that
> happened in the same AB run:
>
> ERROR: lttng-modules-2.13.9-r0 do_package: Error executing a python
> function in exec_func_python() autogenerated:
> ...
> Exception: FileNotFoundError: [Errno 2] No such file or directory:
> '/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/lttng-modules/2.13.9-r0/package/usr/lib/modprobe.d'
>
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/106/builds/6304/steps/12/logs/stdio
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/6236/steps/11/logs/stdio
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/103/builds/6233/steps/12/logs/stdio
>
>
It helps for sure, I have found this also when fixing the last issue on v3,
fixed in v4.

-    for dir in ["%s/etc/modprobe.d" % (dvar), "%s/etc/modules-load.d" %
(dvar), "%s/etc" % (dvar)]:
-        if len(os.listdir(dir)) == 0:
+    for dir in ["%s%s" % (dvar, modprobedir), "%s%s" % (dvar,
modulesloaddir), "%s%s" % (dvar, d.getVar('sysconfdir'))]:
+        if os.path.isdir(dir) and len(os.listdir(dir)) == 0:

Let's see if v4 will bring anything new.

Jose

Luca
>
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>


-- 
Best regards,

José Quaresma

[-- Attachment #2: Type: text/html, Size: 5961 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-06-22 10:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-20 22:19 [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific Jose Quaresma
2023-06-20 22:19 ` [PATCH V3 2/3] kernel-module-split: use context manager to open files Jose Quaresma
2023-06-20 22:19 ` [PATCH V3 3/3] kernel: autoload and probeconf are handled by kernel-module-split Jose Quaresma
2023-06-21 20:22 ` [OE-core] [PATCH V3 1/3] kernel-module-split: make autoload and probeconf distribution specific Luca Ceresoli
2023-06-21 23:18   ` Jose Quaresma
2023-06-22  9:34     ` Luca Ceresoli
2023-06-22 10:05       ` Jose Quaresma

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.