[OE-core] [oe-core][PATCH 1/6] kernel.bbclass: populate /etc/modules-load.d/ with module_autoload entries too

Martin Jansa martin.jansa at gmail.com
Fri Mar 23 23:11:16 UTC 2012


On Sat, Mar 24, 2012 at 12:00:04AM +0100, Andreas Oberritter wrote:
> On 23.03.2012 13:56, Martin Jansa wrote:
> > * /etc/modules-load.d/foo.conf is used by systemd like /etc/modutils/foo was with sysvinit
> 
> Martin,
> 
> the man-page[1] for modules-load.d says that packages should install
> .conf files to /usr/lib/modules-load.d, because /etc/modules-load.d is
> reserved for the system administrator. Did you take this into account
> when you decided to support /etc/modules-load.d?

You're right, /usr/lib/modules-load.d could be possibly better option.
I've used /etc mostly because I was using it since my first systemd
image (so I was sure it works) and I don't remember seeing /usr/lib in
man page when I was reading it back then (probably overlooked or
forgot).

Is it worth updating update-modules (maybe teaching update-modules to
look into all possible systemd directories too)?

Cheers,

> Regards,
> Andreas
> 
> [1] http://0pointer.de/public/systemd-man/modules-load.d.html
> 
> > 
> > Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> > ---
> >  meta/classes/kernel.bbclass |   10 ++++++++--
> >  1 files changed, 8 insertions(+), 2 deletions(-)
> > 
> > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > index 169df33..975ae13 100644
> > --- a/meta/classes/kernel.bbclass
> > +++ b/meta/classes/kernel.bbclass
> > @@ -122,6 +122,7 @@ kernel_do_install() {
> >  	install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION}
> >  	[ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION}
> >  	install -d ${D}/etc/modutils
> > +	install -d ${D}/etc/modules-load.d
> >  	install -d ${D}/etc/modprobe.d
> >  
> >  	#
> > @@ -411,6 +412,11 @@ python populate_packages_prepend () {
> >  			for m in autoload.split():
> >  				f.write('%s\n' % m)
> >  			f.close()
> > +			name = '%s/etc/modules-load.d/%s.conf' % (dvar, basename)
> > +			f = open(name, 'w')
> > +			for m in autoload.split():
> > +				f.write('%s\n' % m)
> > +			f.close()
> >  			postinst = d.getVar('pkg_postinst_%s' % pkg, True)
> >  			if not postinst:
> >  				bb.fatal("pkg_postinst_%s not defined" % pkg)
> > @@ -426,7 +432,7 @@ python populate_packages_prepend () {
> >  			f.close()
> >  
> >  		files = d.getVar('FILES_%s' % pkg, True)
> > -		files = "%s /etc/modutils/%s /etc/modutils/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename, basename)
> > +		files = "%s /etc/modutils/%s /etc/modutils/%s.conf /etc/modules-load.d/%s.conf /etc/modprobe.d/%s.conf" % (files, basename, basename, basename, basename)
> >  		d.setVar('FILES_%s' % pkg, files)
> >  
> >  		if vals.has_key("description"):
> > @@ -456,7 +462,7 @@ python populate_packages_prepend () {
> >  	# avoid warnings. removedirs only raises an OSError if an empty
> >  	# directory cannot be removed.
> >  	dvar = d.getVar('PKGD', True)
> > -	for dir in ["%s/etc/modutils" % (dvar), "%s/etc/modprobe.d" % (dvar)]:
> > +	for dir in ["%s/etc/modutils" % (dvar), "%s/etc/modprobe.d" % (dvar), "%s/etc/modules-load.d" % (dvar)]:
> >  		if len(os.listdir(dir)) == 0:
> >  			os.rmdir(dir)
> >  
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20120324/bbed9409/attachment-0002.sig>


More information about the Openembedded-core mailing list