Skip to contentSkip to conversation

linux-yocto: consolidated pull request

PATCH Applied Bruce Ashfield 2 participants 5 messages May 9, 2011 – May 10, 2011

lore
Share & tools
lore
#0 lore raw

cover linux-yocto: consolidated pull request

Saul/Richard,

The first two patches are a split and resend of the machine movement patch:

[
linux-yocto: move non-core machines to meta-yocto

The machine configuration of the non-core (non-qemu) machines has moved to meta-yocto. Moving the branch mappings, compatibility and SRCREVs of these machines to meta-yocto should also be done.

Anyone using meta-yocto to build these machines will see no impact from this change.
]

Patch #3 is a sanity check that shows a problem that Tom managed to hit, and cause us some significant debug time. If for some reason (we still don't have a root cause) the kernel repo is cloned without tags and/or meta data, we can now detect it and throw an informative error message rather than generating meta data and building "something".

cc Darren Hart <[email protected]>
cc Tom Zanussi <[email protected]>

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: zedd/kernel
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel

Thanks,
Bruce Ashfield <[email protected]>
---

Bruce Ashfield (3):
linux-yocto: remove non-core (qemu) machine compatibility
linux-yocto: move non-core machines to meta-yocto
linux-yocto: error if meta data not present

 meta-yocto/conf/layer.conf                         |    3 ++-
 .../linux/linux-yocto-stable_git.bbappend          |   12 ++++++++++++
 .../recipes-kernel/linux/linux-yocto_git.bbappend  |   12 ++++++++++++
 meta/classes/kernel-yocto.bbclass                  |    5 ++++-
 .../kern-tools/kern-tools-native_git.bb            |    2 +-
 .../recipes-kernel/linux/linux-yocto-stable_git.bb |   10 +---------
 meta/recipes-kernel/linux/linux-yocto_git.bb       |   15 ++++-----------
 7 files changed, 36 insertions(+), 23 deletions(-)
 create mode 100644 meta-yocto/recipes-kernel/linux/linux-yocto-stable_git.bbappend
 create mode 100644 meta-yocto/recipes-kernel/linux/linux-yocto_git.bbappend
#1 lore raw

PATCH 1/3 linux-yocto: remove non-core (qemu) machine compatibility

The machine configuration of the non-core (non-qemu) machines exists in other layers. Moving the branch mappings, compatibility and SRCREVs of these machines out of the main linux-yocto recipe is the first step in that move.

---
 .../recipes-kernel/linux/linux-yocto-stable_git.bb |   10 +---------
 meta/recipes-kernel/linux/linux-yocto_git.bb       |   11 +----------
 2 files changed, 2 insertions(+), 19 deletions(-)
meta/recipes-kernel/linux/linux-yocto-stable_git.bb +1 -9
index 93b06fd..66991ae 100644
@@ -7,10 +7,6 @@ KMACHINE_qemux86-64  = "common_pc_64"
 KMACHINE_qemuppc  = "qemu_ppc32"
 KMACHINE_qemumips = "mti_malta32_be"
 KMACHINE_qemuarm  = "arm_versatile_926ejs"
-KMACHINE_atom-pc  = "atom-pc"
-KMACHINE_routerstationpro = "routerstationpro"
-KMACHINE_mpc8315e-rdb = "fsl-mpc8315e-rdb"
-KMACHINE_beagleboard = "beagleboard"
 
 LINUX_VERSION ?= "2.6.34"
 LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
@@ -23,10 +19,6 @@ SRCREV_machine_qemumips = "c32d40f960e3c89d07f079bec4c96dcbfc749f0b"
 SRCREV_machine_qemuppc = "96d6bc31d3caaf62a966255479cc5cee0e76b1e9"
 SRCREV_machine_qemux86 = "72ca49ab08b8eb475cec82a10049503602325791"
 SRCREV_machine_qemux86-64 = "72ca49ab08b8eb475cec82a10049503602325791"
-SRCREV_machine_atom-pc = "72ca49ab08b8eb475cec82a10049503602325791"
-SRCREV_machine_routerstationpro = "49745cd45c92a89e70c6e2334caa80818c134562"
-SRCREV_machine_mpc8315e-rdb = "a1c0ed6bf4060c10874b2a8547d81b3169dcf16a"
-SRCREV_machine_beagleboard = "ef7f944e773950d4016b7643f9ecf052bbe250cd"
 SRCREV_machine = "72ca49ab08b8eb475cec82a10049503602325791"
 SRCREV_meta = "ec26387cb168e9e0976999b528b5a9dd62e3157a"
 
@@ -34,7 +26,7 @@ PR = "r1"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 SRCREV_FORMAT = "meta_machine"
 
-COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|atom-pc|routerstationpro|mpc8315e-rdb|beagleboard)"
+COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
 
 # this performs a fixup on historical kernel types with embedded _'s
 python __anonymous () {
meta/recipes-kernel/linux/linux-yocto_git.bb +1 -10
index 3b4e77e..d4f2ece 100644
@@ -7,10 +7,6 @@ KMACHINE_qemux86-64  = "yocto/standard/common-pc-64/base"
 KMACHINE_qemuppc  = "yocto/standard/qemu-ppc32"
 KMACHINE_qemumips = "yocto/standard/mti-malta32-be"
 KMACHINE_qemuarm  = "yocto/standard/arm-versatile-926ejs"
-KMACHINE_atom-pc  = "yocto/standard/common-pc/atom-pc"
-KMACHINE_routerstationpro = "yocto/standard/routerstationpro"
-KMACHINE_mpc8315e-rdb = "yocto/standard/fsl-mpc8315e-rdb"
-KMACHINE_beagleboard = "yocto/standard/beagleboard"
 
 KBRANCH = ${KMACHINE}
 KMETA = meta
@@ -23,11 +19,6 @@ SRCREV_machine_qemumips = "f5d26f2eda2be8b942172cda8f27de33ebf38ec3"
 SRCREV_machine_qemuppc = "7eb6c68d977d9039a2b5a734172b064a9d19cdc1"
 SRCREV_machine_qemux86 = "ad62d1aab734513cd96c8f4517f816420a218e77"
 SRCREV_machine_qemux86-64 = "b906f358fd404a1e74a961f25079274e0d933ee1"
-SRCREV_machine_emenlow = "c3bbcb676f929c4fc0511a6e66494b8770d015a1"
-SRCREV_machine_atom-pc = "b906f358fd404a1e74a961f25079274e0d933ee1"
-SRCREV_machine_routerstationpro = "95ca94d2e71ca2db6822a37a7f575fa79c3d05d0"
-SRCREV_machine_mpc8315e-rdb = "53c800c244e73d81d2832f6da306eeae3b09e5dc"
-SRCREV_machine_beagleboard = "b906f358fd404a1e74a961f25079274e0d933ee1"
 SRCREV_machine = "b906f358fd404a1e74a961f25079274e0d933ee1"
 SRCREV_meta = "ecab1e2bc12a8b0c4d064a00acc3260f6e8528c5"
 
@@ -37,7 +28,7 @@ SRCREV_FORMAT = "meta_machine"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
 
-COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|mpc8315e-rdb|routerstationpro|beagleboard)"
+COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
 
 # Functionality flags
 KERNEL_REVISION_CHECKING ?= "t"
Signature · 1 line
1.7.0.4
#2 lore raw

PATCH 2/3 linux-yocto: move non-core machines to meta-yocto

In reply to Bruce Ashfield

The non-qemu compatibility references have been removed from the main linux-yocto recipe. This change restores them in the meta-yocto layer.

---
 meta-yocto/conf/layer.conf                         |    3 ++-
 .../linux/linux-yocto-stable_git.bbappend          |   12 ++++++++++++
 .../recipes-kernel/linux/linux-yocto_git.bbappend  |   12 ++++++++++++
 3 files changed, 26 insertions(+), 1 deletions(-)
 create mode 100644 meta-yocto/recipes-kernel/linux/linux-yocto-stable_git.bbappend
 create mode 100644 meta-yocto/recipes-kernel/linux/linux-yocto_git.bbappend
meta-yocto/conf/layer.conf +2 -1
index f11d8ed..68786b2 100644
@@ -2,7 +2,8 @@
 BBPATH := "${BBPATH}:${LAYERDIR}"
 
 # We have a packages directory, add to BBFILES
-BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb"
+BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \
+            ${LAYERDIR}/recipes-*/*/*.bbappend"
 
 BBFILE_COLLECTIONS += "yocto"
 BBFILE_PATTERN_yocto := "^${LAYERDIR}/"
meta-yocto/recipes-kernel/linux/linux-yocto-stable_git.bbappend new file +12 -0
new file mode 100644
index 0000000..ea0287d
@@ -0,0 +1,12 @@
+KMACHINE_atom-pc  = "atom-pc"
+KMACHINE_routerstationpro = "routerstationpro"
+KMACHINE_mpc8315e-rdb = "fsl-mpc8315e-rdb"
+KMACHINE_beagleboard = "beagleboard"
+
+SRCREV_machine_atom-pc = "72ca49ab08b8eb475cec82a10049503602325791"
+SRCREV_machine_routerstationpro = "49745cd45c92a89e70c6e2334caa80818c134562"
+SRCREV_machine_mpc8315e-rdb = "a1c0ed6bf4060c10874b2a8547d81b3169dcf16a"
+SRCREV_machine_beagleboard = "ef7f944e773950d4016b7643f9ecf052bbe250cd"
+
+COMPATIBLE_MACHINE += "(atom-pc|routerstationpro|mpc8315e-rdb|beagleboard)"
+
meta-yocto/recipes-kernel/linux/linux-yocto_git.bbappend new file +12 -0
new file mode 100644
index 0000000..e4aa7fd
@@ -0,0 +1,12 @@
+KMACHINE_atom-pc  = "yocto/standard/common-pc/atom-pc"
+KMACHINE_routerstationpro = "yocto/standard/routerstationpro"
+KMACHINE_mpc8315e-rdb = "yocto/standard/fsl-mpc8315e-rdb"
+KMACHINE_beagleboard = "yocto/standard/beagleboard"
+
+SRCREV_machine_emenlow = "c3bbcb676f929c4fc0511a6e66494b8770d015a1"
+SRCREV_machine_atom-pc = "b906f358fd404a1e74a961f25079274e0d933ee1"
+SRCREV_machine_routerstationpro = "95ca94d2e71ca2db6822a37a7f575fa79c3d05d0"
+SRCREV_machine_mpc8315e-rdb = "53c800c244e73d81d2832f6da306eeae3b09e5dc"
+SRCREV_machine_beagleboard = "b906f358fd404a1e74a961f25079274e0d933ee1"
+
+COMPATIBLE_MACHINE = "(mpc8315e-rdb|routerstationpro|beagleboard)"
Signature · 1 line
1.7.0.4
#3 lore raw

PATCH 3/3 linux-yocto: error if meta data not present

In reply to Bruce Ashfield

There are valid reasons to build repositories without meta data present and there are times when this is an error. This change adds sanity tests to the build process to detect missing meta data and throw an informative error message.

Sanity checking is only triggered from recipes (linux-yocto) that always require meta data to be present. Other recipes are not impacted and can auto-generate meta data as required.

Without this change the build process suceeds, but incorrect meta data will be used (with no user knowledge), which is not the desired behaviour.

---
 meta/classes/kernel-yocto.bbclass                  |    5 ++++-
 .../kern-tools/kern-tools-native_git.bb            |    2 +-
 meta/recipes-kernel/linux/linux-yocto_git.bb       |    4 +++-
 3 files changed, 8 insertions(+), 3 deletions(-)
meta/classes/kernel-yocto.bbclass +4 -1
index ffc0b4c..818a07e 100644
@@ -13,7 +13,10 @@ do_patch() {
 	fi
 
 	# simply ensures that a branch of the right name has been created
-	createme ${ARCH} ${kbranch} ${defconfig}
+	if [ -n "${YOCTO_KERNEL_META_DATA}" ]; then
+		createme_flags="--disable-meta-gen"
+	fi
+	createme ${createme_flags} ${ARCH} ${kbranch} ${defconfig}
 	if [ $? -ne 0 ]; then
 		echo "ERROR. Could not create ${kbranch}"
 		exit 1
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +1 -1
index 820765e..c808e17 100644
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=e2bf4415f3d8
 
 DEPENDS = "git-native guilt-native"
 
-SRCREV = "c5896a60acc61f8966cfee3bb241ff564610cea4"
+SRCREV = "ab49d8e48b7e66d1b4f924385d65d062d25e44f7"
 PR = r10
 PV = "0.1+git${SRCPV}"
 
meta/recipes-kernel/linux/linux-yocto_git.bb +3 -1
index d4f2ece..f54033d 100644
@@ -22,7 +22,7 @@ SRCREV_machine_qemux86-64 = "b906f358fd404a1e74a961f25079274e0d933ee1"
 SRCREV_machine = "b906f358fd404a1e74a961f25079274e0d933ee1"
 SRCREV_meta = "ecab1e2bc12a8b0c4d064a00acc3260f6e8528c5"
 
-PR = "r17"
+PR = "r18"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 SRCREV_FORMAT = "meta_machine"
 
@@ -36,6 +36,8 @@ KERNEL_FEATURES="features/netfilter"
 KERNEL_FEATURES_append_qemux86=" cfg/sound"
 KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
 
+YOCTO_KERNEL_META_DATA=t
+
 # extra tasks
 addtask kernel_link_vmlinux after do_compile before do_install
 addtask validate_branches before do_patch after do_kernel_checkout
Signature · 1 line
1.7.0.4
Applied
#4 lore raw
In reply to Bruce Ashfield
Quoted 49 lines · Bruce Ashfield

Saul/Richard,

The first two patches are a split and resend of the machine movement patch:

[
linux-yocto: move non-core machines to meta-yocto

The machine configuration of the non-core (non-qemu) machines has moved to meta-yocto. Moving the branch mappings, compatibility and SRCREVs of these machines to meta-yocto should also be done.

Anyone using meta-yocto to build these machines will see no impact from this change.
]

Patch #3 is a sanity check that shows a problem that Tom managed to hit, and cause us some significant debug time. If for some reason (we still don't have a root cause) the kernel repo is cloned without tags and/or meta data, we can now detect it and throw an informative error message rather than generating meta data and building "something".

cc Darren Hart<[email protected]>
cc Tom Zanussi<[email protected]>

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: zedd/kernel
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel

Thanks,
Bruce Ashfield<[email protected]>
---

Bruce Ashfield (3):
linux-yocto: remove non-core (qemu) machine compatibility
linux-yocto: move non-core machines to meta-yocto
linux-yocto: error if meta data not present

  meta-yocto/conf/layer.conf                         |    3 ++-
  .../linux/linux-yocto-stable_git.bbappend          |   12 ++++++++++++
  .../recipes-kernel/linux/linux-yocto_git.bbappend  |   12 ++++++++++++
  meta/classes/kernel-yocto.bbclass                  |    5 ++++-
  .../kern-tools/kern-tools-native_git.bb            |    2 +-
  .../recipes-kernel/linux/linux-yocto-stable_git.bb |   10 +---------
  meta/recipes-kernel/linux/linux-yocto_git.bb       |   15 ++++-----------
  7 files changed, 36 insertions(+), 23 deletions(-)
Quoted 8 lines

create mode 100644 meta-yocto/recipes-kernel/linux/linux-yocto-stable_git.bbappend create mode 100644 meta-yocto/recipes-kernel/linux/linux-yocto_git.bbappend

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Merged into oe-core and poky master

Thanks
Sau!