kernel.bbclass update
cover kernel.bbclass update
The following changes since commit 986de01251408605161e0f8343866a0e7ffe7910:
qmake2: remove (2012-03-21 13:50:44 +0100)
are available in the git repository at:
git://git.openembedded.org/meta-openembedded-contrib jansa/kernel
http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=jansa/kernel
Martin Jansa (3):
kernel.bbclass: import s/1/True/ changes from oe-core version kernel.bbclass: import QA warning fix for unpackaged files from
oe-core
kernel.bbclass: populate /etc/modules-load.d/ with module_autoload
entries too
meta-oe/classes/kernel.bbclass | 64 +++++++++++++++++++++++++--------------- 1 files changed, 40 insertions(+), 24 deletions(-)
Signature · 1 line
1.7.8.5
PATCH 1/3 kernel.bbclass: import s/1/True/ changes from oe-core version
--- meta-oe/classes/kernel.bbclass | 46 ++++++++++++++++++++-------------------- 1 files changed, 23 insertions(+), 23 deletions(-)
meta-oe/classes/kernel.bbclass +23 -23
@@ -11,9 +11,9 @@ INITRAMFS_IMAGE ?= "" INITRAMFS_TASK ?= "" python __anonymous () { - kerneltype = d.getVar('KERNEL_IMAGETYPE', 1) or '' + kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' if kerneltype == 'uImage': - depends = d.getVar("DEPENDS", 1) + depends = d.getVar("DEPENDS", True) depends = "%s u-boot-mkimage-native" % depends d.setVar("DEPENDS", depends)
@@ -80,7 +80,7 @@ EXTRA_OEMAKE = "" KERNEL_ALT_IMAGETYPE ??= "" -KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.getVar('KERNEL_IMAGETYPE', 1))}" +KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.getVar('KERNEL_IMAGETYPE', True))}" kernel_do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
@@ -311,10 +311,10 @@ module_conf_rfcomm = "alias bt-proto-3 rfcomm" python populate_packages_prepend () { def extract_modinfo(file): import tempfile, re - tempfile.tempdir = d.getVar("WORKDIR", 1) + tempfile.tempdir = d.getVar("WORKDIR", True) tf = tempfile.mkstemp() tmpfile = tf[1] - cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("PATH", 1), d.getVar("HOST_PREFIX", 1) or "", file, tmpfile) + cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("PATH", True), d.getVar("HOST_PREFIX", True) or "", file, tmpfile) os.system(cmd) f = open(tmpfile) l = f.read().split("\000")
@@ -333,18 +333,18 @@ python populate_packages_prepend () { def parse_depmod(): import re - dvar = d.getVar('PKGD', 1) + dvar = d.getVar('PKGD', True) if not dvar: bb.error("PKGD not defined") return - kernelver = d.getVar('KERNEL_VERSION', 1) + kernelver = d.getVar('KERNEL_VERSION', True) kernelver_stripped = kernelver m = re.match('^(.*-hh.*)[\.\+].*$', kernelver) if m: kernelver_stripped = m.group(1) - path = d.getVar("PATH", 1) - host_prefix = d.getVar("HOST_PREFIX", 1) or "" + path = d.getVar("PATH", True) + host_prefix = d.getVar("HOST_PREFIX", True) or "" cmd = "PATH=\"%s\" %sdepmod -n -a -r -b %s -F %s/boot/System.map-%s %s" % (path, host_prefix, dvar, dvar, kernelver, kernelver_stripped) f = os.popen(cmd, 'r')
@@ -382,9 +382,9 @@ python populate_packages_prepend () { def get_dependencies(file, pattern, format): # file no longer includes PKGD - file = file.replace(d.getVar('PKGD', 1) or '', '', 1) + file = file.replace(d.getVar('PKGD', True) or '', '', 1) # instead is prefixed with /lib/modules/${KERNEL_VERSION} - file = file.replace("/lib/modules/%s/" % d.getVar('KERNEL_VERSION', 1) or '', '', 1) + file = file.replace("/lib/modules/%s/" % d.getVar('KERNEL_VERSION', True) or '', '', 1) if module_deps.has_key(file): import re
@@ -403,40 +403,40 @@ python populate_packages_prepend () { import re vals = extract_modinfo(file) - dvar = d.getVar('PKGD', 1) + dvar = d.getVar('PKGD', True) # If autoloading is requested, output /etc/modutils/<name> and append # appropriate modprobe commands to the postinst - autoload = d.getVar('module_autoload_%s' % basename, 1) + autoload = d.getVar('module_autoload_%s' % basename, True) if autoload: name = '%s/etc/modutils/%s' % (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, 1) + postinst = d.getVar('pkg_postinst_%s' % pkg, True) if not postinst: bb.fatal("pkg_postinst_%s not defined" % pkg) - postinst += d.getVar('autoload_postinst_fragment', 1) % autoload + postinst += d.getVar('autoload_postinst_fragment', True) % autoload d.setVar('pkg_postinst_%s' % pkg, postinst) # Write out any modconf fragment - modconf = d.getVar('module_conf_%s' % basename, 1) + modconf = d.getVar('module_conf_%s' % basename, True) if modconf: name = '%s/etc/modprobe.d/%s.conf' % (dvar, basename) f = open(name, 'w') f.write("%s\n" % modconf) f.close() - files = d.getVar('FILES_%s' % pkg, 1) + 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) d.setVar('FILES_%s' % pkg, files) if vals.has_key("description"): - old_desc = d.getVar('DESCRIPTION_' + pkg, 1) or "" + old_desc = d.getVar('DESCRIPTION_' + pkg, True) or "" d.setVar('DESCRIPTION_' + pkg, old_desc + "; " + vals["description"]) - rdepends_str = d.getVar('RDEPENDS_' + pkg, 1) + rdepends_str = d.getVar('RDEPENDS_' + pkg, True) if rdepends_str: rdepends = rdepends_str.split() else:
@@ -448,12 +448,12 @@ python populate_packages_prepend () { module_regex = '^(.*)\.k?o$' module_pattern = 'kernel-module-%s' - postinst = d.getVar('pkg_postinst_modules', 1) - postrm = d.getVar('pkg_postrm_modules', 1) + postinst = d.getVar('pkg_postinst_modules', True) + postrm = d.getVar('pkg_postrm_modules', True) do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.bin$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.fw$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.cis$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') - do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % d.getVar("KERNEL_VERSION", 1)) + do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % d.getVar("KERNEL_VERSION", True)) import re metapkg = "kernel-modules"
@@ -465,7 +465,7 @@ python populate_packages_prepend () { pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1)) blacklist.append(pkg) metapkg_rdepends = [] - packages = d.getVar('PACKAGES', 1).split() + packages = d.getVar('PACKAGES', True).split() for pkg in packages[1:]: if not pkg in blacklist and not pkg in metapkg_rdepends: metapkg_rdepends.append(pkg)
Signature · 1 line
1.7.8.5
PATCH 2/3 kernel.bbclass: import QA warning fix for unpackaged files from oe-core
--- meta-oe/classes/kernel.bbclass | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
meta-oe/classes/kernel.bbclass +10 -0
@@ -110,6 +110,8 @@ kernel_do_install() { oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.order" rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.builtin" + rm "${D}/lib/modules/${KERNEL_VERSION}/build" + rm "${D}/lib/modules/${KERNEL_VERSION}/source" else bbnote "no modules to install" fi
@@ -455,6 +457,14 @@ python populate_packages_prepend () { do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.cis$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % d.getVar("KERNEL_VERSION", True)) + # If modutils and modprobe.d are empty at this point, remove them to + # 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)]: + if len(os.listdir(dir)) == 0: + os.rmdir(dir) + import re metapkg = "kernel-modules" d.setVar('ALLOW_EMPTY_' + metapkg, "1")
Signature · 1 line
1.7.8.5
PATCH 3/3 kernel.bbclass: populate /etc/modules-load.d/ with module_autoload entries too
In reply to Martin Jansa* /etc/modules-load.d/foo.conf is used by systemd like /etc/modutils/foo was with sysvinit
--- meta-oe/classes/kernel.bbclass | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
meta-oe/classes/kernel.bbclass +8 -2
@@ -127,6 +127,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 #
@@ -416,6 +417,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)
@@ -431,7 +437,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"):
@@ -461,7 +467,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)
Signature · 1 line
1.7.8.5
Quoted 18 lines · Martin Jansa
The following changes since commit
986de01251408605161e0f8343866a0e7ffe7910:qmake2: remove (2012-03-21 13:50:44 +0100)
are available in the git repository at:
git://git.openembedded.org/meta-openembedded-contrib jansa/kernel
http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=jansa/kernelMartin Jansa (3):
kernel.bbclass: import s/1/True/ changes from oe-core version kernel.bbclass: import QA warning fix for unpackaged files from oe-core
kernel.bbclass: populate/etc/modules-load.d/withmodule_autoloadentries toometa-oe/classes/kernel.bbclass | 64 +++++++++++++++++++++++++---------------
1 files changed, 40 insertions(+), 24 deletions(-)
Quoted 8 lines
--
1.7.8.5_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Can we hope this copy of kernel.bbclass will be removed from meta-oe one day? Is it still here because the machine_kernel_pr ?
I ask, because the differences between the two copies are not too many but are increasing with the time, i.e. do_compile_kernelmodules, do_uboot_mkimage, kernel_do_deploy.
IMHO it is very bad keeping two copies of a basic class like this one.
Regards
Andrea
Quoted 23 lines · Andrea Adami
Quoted 22 lines · Martin Jansa
The following changes since commit
986de01251408605161e0f8343866a0e7ffe7910:qmake2: remove (2012-03-21 13:50:44 +0100)
are available in the git repository at:
git://git.openembedded.org/meta-openembedded-contrib jansa/kernel
http://cgit.openembedded.org/cgit.cgi/meta-openembedded-contrib/log/?h=jansa/kernelMartin Jansa (3):
kernel.bbclass: import s/1/True/ changes from oe-core version kernel.bbclass: import QA warning fix for unpackaged files from oe-core
kernel.bbclass: populate/etc/modules-load.d/withmodule_autoloadentries toometa-oe/classes/kernel.bbclass | 64 +++++++++++++++++++++++++---------------
1 files changed, 40 insertions(+), 24 deletions(-)--
1.7.8.5
Quoted 7 lines
Quoted 4 lines
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-develCan we hope this copy of kernel.bbclass will be removed from meta-oe one day? Is it still here because the
machine_kernel_pr?
Yes it's still mostly because of machine_kernel_pr.
Quoted 3 lines
I ask, because the differences between the two copies are not too many but are increasing with the time, i.e.
do_compile_kernelmodules,do_uboot_mkimage,kernel_do_deploy.
That's why I was syncing some before my patches, feel free to merge rest if you test it.
Quoted 1 line
IMHO it is very bad keeping two copies of a basic class like this one.
Yes it is, you can ask for machine_kernel_pr inclusion in that old oe-core thread too..
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]