[oe] [RFC] fix for MACHINE_KERNEL_PR stuff

Marcin Juszkiewicz marcin at juszkiewicz.com.pl
Wed Jun 3 11:25:43 UTC 2009


This patch unbreaks current behaviour which was introduced by 
MACHINE_KERNEL_PR variable.

As most of target machines do not use it they have PR with broken value
(set to "r0" instead of value in recipe). I took other way which makes
both types of users happy -- those with MACHINE_KERNEL_PR in use and 
those without it.

By default we set M_K_PR to empty string instead of "r0" - this allows
to check is it set at all or not. If it is set then we set PR to this value.
Otherwise we ignore existance of that variable and use PR from recipe.

Please test and review it. If this will work I will request it for stable/2009.

Signed-off-by: Marcin Juszkiewicz <marcin at juszkiewicz.com.pl>

diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index 1323228..757b704 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -20,6 +20,12 @@ python __anonymous () {
     image = bb.data.getVar('INITRAMFS_IMAGE', d, True)
     if image != '' and image is not None:
         bb.data.setVar('INITRAMFS_TASK', '${INITRAMFS_IMAGE}:do_rootfs', d)
+
+    pr = bb.data.getVar('PR', d, True)
+    machine_kernel_pr = bb.data.getVar('MACHINE_KERNEL_PR', d, True)
+
+    if machine_kernel_pr:
+       bb.data.setVar('PR', machine_kernel_pr, d)
 }

 INITRAMFS_IMAGE ?= ""
@@ -64,10 +70,6 @@ export CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "tt
 KERNEL_VERSION = "${@get_kernelversion('${S}')}"
 KERNEL_MAJOR_VERSION = "${@get_kernelmajorversion('${KERNEL_VERSION}')}"

-# A machine.conf or local.conf can increase MACHINE_KERNEL_PR to force
-# rebuilds for kernel and external modules
-PR = "${MACHINE_KERNEL_PR}"
-
 KERNEL_LOCALVERSION ?= ""

 # kernels are generally machine specific
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index e711a1f..7bd548d 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -164,7 +164,7 @@ P = "${PN}-${PV}"

 # Define a PR for kernels that machines can override so things like
 # modules get rebuilt
-MACHINE_KERNEL_PR ?= "r0"
+MACHINE_KERNEL_PR = ""

 # Base package name
 # Automatically derives "foo" from "foo-native", "foo-cross" or "foo-initial"


Regards, 
-- 
JID:      hrw at jabber.org
Website:  http://marcin.juszkiewicz.com.pl/
LinkedIn: http://www.linkedin.com/in/marcinjuszkiewicz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20090603/5d8828a1/attachment-0002.sig>


More information about the Openembedded-devel mailing list