Skip to contentSkip to conversation

kernel-yocto/tools: consolidated pull request

PATCH New Bruce Ashfield 1 participant 8 messages Jan 18, 2013

lore
Share & tools
lore
#0 lore raw

cover kernel-yocto/tools: consolidated pull request

Richard/Saul,

Here's a collection of bug fixes and changes that I was able to get ready and be comfortable with for 1.4 M3. The series contains some minor tweaks, some configuration updates, minor tools updates and the introduction of LTSI 3.4 content to the linux-yocto-3.4 tree (and BSPs).

Here's the breakdown of the changes:

[PATCH 1/7] kernel-yocto: remove unnecessary non-bare warning

In the past working from a non-bare clone would cause problems, due to branches not existing in the WORKDIR clone. This hasn't been true for some time, since the routines which convert remotes into local branches have been functioning without problems.

So we no longer need the warning and it can be removed.

This cleans up the output and removes a potentially alarming warning .. that shouldn't be alarming anymore.

[PATCH 2/7] linux-yocto: normalize repository naming and SRC_URI options

linux-yocto-tiny and linux-yocto had minor differences from the rest of the linux-yocto recipes. After this commit, all the recipes are using bareclone=1 and repository names that end with .git.

[PATCH 3/7] kernel-yocto: add KBUILD_OUTPUT to OE_TERMINAL_EXPORTS

Since linux-yocto based recipes have a split build and source directory, we should export KBUILD=${B} to the devshell. This allows the kernel to be incrementally build within the shell and not dirty the source directory (which breaks subsequent full builds).

This was discussed on the mailing lists in December and has been working locally for me ever since.

[PATCH 4/7] linux-yocto/meta: update include statements to explicit .scc format

The kernel tooling can support a "shorthand" method of including other features that doesn't require the full filename ending in .scc. This format is confusing when compared to the source tree, and is inconsitently use. This commit updates all shorthand includes to a full "include <foo>.scc" format.

This addresses [YOCTO #3418].

[PATCH 5/7] linux-yocto/routerstationpro: enable GPIO_SYSFS

We had a request to enable GPIO_SYSFS to allow easy use of the available GPIOs in the board out of the box. This is a simple / contained config item to enable, so there's no reason not to.

This addresses [YOCTO #3519]

[PATCH 6/7] linux-yocto/3.4: integrate LTSI-3.4

Updating the linux-yocto-3.4 SRCREVS to activate the merge of the 3.4.25-ltsi tree:

     http://git.linuxfoundation.org/?p=ltsi-kernel.git;a=tag;h=refs/tags/v3.4.25-ltsi

The pristine patch queue can be seen on the "ltsi" branch in the repository. This branch has been merged into the standard/base branch of linux-yocto-3.4 and to all BSP branches in the tree.

LTSI based BSPs or features are not activated as part of this commit, they are controlled by the meta branch of the kernel repository and are activated in separate patches.

This addresses [YOCTO #2396].

Notes:

- I've built and booted standard and preempt-rt qemu BSPs for all archs
- I've built the hardware reference BSPs
- I've built selected meta-intel BSPs

- There may be some fallout from this, but the changes look good and are largely orthogonal to the rest of the changes in the tree. This makes the significant source changes for M3, and I'll follow up shortly with a ltsi feature fragment and kernel type for pure-ltsi based testing.

[PATCH 7/7] guilt: add git 1.8.x support

Updating guilt to allow git 1.8.x as a supported version. This version has no impact on other functionality within the scripts, so no other adjustments are necessary.

This addresses [YOCTO #3275]

Cheers,

Bruce

The following changes since commit 3db277b18b8923daca545aa53bcfbbe9d43d3baa:

update-rc.d: fix failure on target (2013-01-17 20:16:46 +0000)

are available in the git repository at:

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

Bruce Ashfield (7):
kernel-yocto: remove unnecessary non-bare warning
linux-yocto: normalize repository naming and SRC_URI options
kernel-yocto: add KBUILD_OUTPUT to OE_TERMINAL_EXPORTS linux-yocto/meta: update include statements to explicit .scc format linux-yocto/routerstationpro: enable GPIO_SYSFS linux-yocto/3.4: integrate LTSI-3.4
guilt: add git 1.8.x support

 meta/classes/kernel-yocto.bbclass                  |    9 +++----
 ...lt-update-supported-git-versions-to-1.8.x.patch |   28 ++++++++++++++++++++
 meta/recipes-devtools/guilt/guilt-native_0.33.bb   |    3 ++-
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb    |    6 ++---
 meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb  |    6 ++---
 meta/recipes-kernel/linux/linux-yocto_3.4.bb       |   18 ++++++-------
 6 files changed, 48 insertions(+), 22 deletions(-)
 create mode 100644 meta/recipes-devtools/guilt/files/guilt-update-supported-git-versions-to-1.8.x.patch
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 1/7 kernel-yocto: remove unnecessary non-bare warning

In the past working from a non-bare clone would cause problems, due to branches not existing in the WORKDIR clone. This hasn't been true for some time, since the routines which convert remotes into local branches have been functioning without problems.

So we no longer need the warning and it can be removed.

---
 meta/classes/kernel-yocto.bbclass |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
meta/classes/kernel-yocto.bbclass +1 -5
index c74317e..99b3a46 100644
@@ -120,15 +120,11 @@ do_kernel_checkout() {
 
 	# A linux yocto SRC_URI should use the bareclone option. That
 	# ensures that all the branches are available in the WORKDIR version
-	# of the repository. If it wasn't passed, we should detect it, and put
-	# out a useful error message
+	# of the repository. 
 	if [ -d "${WORKDIR}/git/" ] && [ -d "${WORKDIR}/git/.git" ]; then
 		# we build out of {S}, so ensure that ${S} is clean and present
 		rm -rf ${S}
 		mkdir -p ${S}
-
-		echo "WARNING. ${WORKDIR}/git is not a bare clone."
-		echo "Ensure that the SRC_URI includes the 'bareclone=1' option."
 		
 		# We can fix up the kernel repository even if it wasn't a bare clone.
 		# If KMETA is defined, the branch must exist, but a machine branch
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 2/7 linux-yocto: normalize repository naming and SRC_URI options

In reply to Bruce Ashfield

linux-yocto-tiny and linux-yocto had minor differences from the rest of the linux-yocto recipes. After this commit, all the recipes are using bareclone=1 and repository names that end with .git.

---
 meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.4.bb      |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb +1 -1
index 5a4959e..80a1ecb 100644
@@ -18,7 +18,7 @@ SRCREV_meta ?= "7e0cd2990798aae80565baa17d3b6c771874f284"
 PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
-SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
+SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
 
 COMPATIBLE_MACHINE = "(qemux86)"
 
meta/recipes-kernel/linux/linux-yocto_3.4.bb +1 -1
index 70ed967..b7a2472 100644
@@ -11,7 +11,7 @@ SRCREV_machine_qemux86-64 ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
 SRCREV_machine ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
 SRCREV_meta ?= "7e0cd2990798aae80565baa17d3b6c771874f284"
 
-SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA};name=machine,meta"
+SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta"
 
 LINUX_VERSION ?= "3.4.24"
 
Signature · 1 line
1.7.10.4
#3 lore raw

PATCH 3/7 kernel-yocto: add KBUILD_OUTPUT to OE_TERMINAL_EXPORTS

In reply to Bruce Ashfield

Since linux-yocto based recipes have a split build and source directory, we should export KBUILD=${B} to the devshell. This allows the kernel to be incrementally build within the shell and not dirty the source directory (which breaks subsequent full builds).

---
 meta/classes/kernel-yocto.bbclass |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
meta/classes/kernel-yocto.bbclass +2 -1
index 99b3a46..aaee441 100644
@@ -340,5 +340,6 @@ do_kernel_link_vmlinux() {
 	ln -sf ../../../vmlinux
 }
 
-OE_TERMINAL_EXPORTS += "GUILT_BASE"
+OE_TERMINAL_EXPORTS += "GUILT_BASE KBUILD_OUTPUT"
 GUILT_BASE = "meta"
+KBUILD_OUTPUT = "${B}"
Signature · 1 line
1.7.10.4
#4 lore raw

PATCH 4/7 linux-yocto/meta: update include statements to explicit .scc format

In reply to Bruce Ashfield

The kernel tooling can support a "shorthand" method of including other features that doesn't require the full filename ending in .scc. This format is confusing when compared to the source tree, and is inconsitently use. This commit updates all shorthand includes to a full "include <foo>.scc" format.

[YOCTO #3418]

---
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb   |    2 +-
 meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.4.bb      |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb +1 -1
index 93adb06..2674090 100644
@@ -10,7 +10,7 @@ KMETA = "meta"
 
 SRCREV_machine ?= "729e8634f75bf10582916eae6b5b96325785c001"
 SRCREV_machine_qemuppc ?= "15ce18fac50c49ea4893b0d7ed3d0086ef9c7448"
-SRCREV_meta ?= "7e0cd2990798aae80565baa17d3b6c771874f284"
+SRCREV_meta ?= "d9646442b3763097a425c4e728525685bafc4b89"
 
 PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb +1 -1
index 80a1ecb..083cdf5 100644
@@ -13,7 +13,7 @@ LINUX_VERSION ?= "3.4.24"
 KMETA = "meta"
 
 SRCREV_machine ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
-SRCREV_meta ?= "7e0cd2990798aae80565baa17d3b6c771874f284"
+SRCREV_meta ?= "d9646442b3763097a425c4e728525685bafc4b89"
 
 PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_3.4.bb +1 -1
index b7a2472..35f0074 100644
@@ -9,7 +9,7 @@ SRCREV_machine_qemuppc ?= "1c8a1aa8cc839f0328edbfe0d755100368bc4ae6"
 SRCREV_machine_qemux86 ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
 SRCREV_machine_qemux86-64 ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
 SRCREV_machine ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
-SRCREV_meta ?= "7e0cd2990798aae80565baa17d3b6c771874f284"
+SRCREV_meta ?= "d9646442b3763097a425c4e728525685bafc4b89"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta"
 
Signature · 1 line
1.7.10.4
#5 lore raw

PATCH 5/7 linux-yocto/routerstationpro: enable GPIO_SYSFS

In reply to Bruce Ashfield

We had a request to enable GPIO_SYSFS to allow easy use of the available GPIOs in the board out of the box. This is a simple / contained config item to enable, so there's no reason not to.

[YOCTO #3519]

---
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb   |    2 +-
 meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.4.bb      |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb +1 -1
index 2674090..bcac395 100644
@@ -10,7 +10,7 @@ KMETA = "meta"
 
 SRCREV_machine ?= "729e8634f75bf10582916eae6b5b96325785c001"
 SRCREV_machine_qemuppc ?= "15ce18fac50c49ea4893b0d7ed3d0086ef9c7448"
-SRCREV_meta ?= "d9646442b3763097a425c4e728525685bafc4b89"
+SRCREV_meta ?= "2cbb5aca2c25e37b04828cf0b7d90e2f22af816e"
 
 PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb +1 -1
index 083cdf5..984476f 100644
@@ -13,7 +13,7 @@ LINUX_VERSION ?= "3.4.24"
 KMETA = "meta"
 
 SRCREV_machine ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
-SRCREV_meta ?= "d9646442b3763097a425c4e728525685bafc4b89"
+SRCREV_meta ?= "2cbb5aca2c25e37b04828cf0b7d90e2f22af816e"
 
 PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_3.4.bb +1 -1
index 35f0074..0ac51b9 100644
@@ -9,7 +9,7 @@ SRCREV_machine_qemuppc ?= "1c8a1aa8cc839f0328edbfe0d755100368bc4ae6"
 SRCREV_machine_qemux86 ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
 SRCREV_machine_qemux86-64 ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
 SRCREV_machine ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
-SRCREV_meta ?= "d9646442b3763097a425c4e728525685bafc4b89"
+SRCREV_meta ?= "2cbb5aca2c25e37b04828cf0b7d90e2f22af816e"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta"
 
Signature · 1 line
1.7.10.4
#6 lore raw

PATCH 6/7 linux-yocto/3.4: integrate LTSI-3.4

In reply to Bruce Ashfield

Updating the linux-yocto-3.4 SRCREVS to activate the merge of the 3.4.25-ltsi tree:

http://git.linuxfoundation.org/?p=ltsi-kernel.git;a=tag;h=refs/tags/v3.4.25-ltsi

The pristine patch queue can be seen on the "ltsi" branch in the repository. This branch has been merged into the standard/base branch of linux-yocto-3.4 and to all BSP branches in the tree.

LTSI based BSPs or features are not activated as part of this commit, they are controlled by the meta branch of the kernel repository and are activated in separate patches.

[YOCTO #2396]

---
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb   |    4 ++--
 meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.4.bb      |   12 ++++++------
 3 files changed, 9 insertions(+), 9 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb +2 -2
index bcac395..25e9a10 100644
@@ -8,8 +8,8 @@ LINUX_KERNEL_TYPE = "preempt-rt"
 
 KMETA = "meta"
 
-SRCREV_machine ?= "729e8634f75bf10582916eae6b5b96325785c001"
-SRCREV_machine_qemuppc ?= "15ce18fac50c49ea4893b0d7ed3d0086ef9c7448"
+SRCREV_machine ?= "086782fe576d96cda54068a2248c697a9f1946c6"
+SRCREV_machine_qemuppc ?= "4a3d7cbda063ece64ba286749e23bfd4b81831b8"
 SRCREV_meta ?= "2cbb5aca2c25e37b04828cf0b7d90e2f22af816e"
 
 PR = "${INC_PR}.0"
meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb +1 -1
index 984476f..17eb6dd 100644
@@ -12,7 +12,7 @@ LINUX_VERSION ?= "3.4.24"
 
 KMETA = "meta"
 
-SRCREV_machine ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
+SRCREV_machine ?= "7146d001a5f95068a3e2da23a8b3d15aeb20087a"
 SRCREV_meta ?= "2cbb5aca2c25e37b04828cf0b7d90e2f22af816e"
 
 PR = "${INC_PR}.0"
meta/recipes-kernel/linux/linux-yocto_3.4.bb +6 -6
index 0ac51b9..62eb4be 100644
@@ -3,12 +3,12 @@ require recipes-kernel/linux/linux-yocto.inc
 KBRANCH_DEFAULT = "standard/base"
 KBRANCH = "${KBRANCH_DEFAULT}"
 
-SRCREV_machine_qemuarm ?= "50986c7d971c28505acdbdcab6601f4d5b6dbff4"
-SRCREV_machine_qemumips  ?= "4d355c57fe0d9f117c272f1679fa3d3f451a8c8e"
-SRCREV_machine_qemuppc ?= "1c8a1aa8cc839f0328edbfe0d755100368bc4ae6"
-SRCREV_machine_qemux86 ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
-SRCREV_machine_qemux86-64 ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
-SRCREV_machine ?= "5432e2acb6053f9f7563cf63abd101ed2fdc1b6f"
+SRCREV_machine_qemuarm ?= "2ed05c280920e592f62d09bda15ab006baffa996"
+SRCREV_machine_qemumips  ?= "81ef4ad8f02c979a236a460c6831dcb4fbf2ef3c"
+SRCREV_machine_qemuppc ?= "6b5d5a60ca6c3cf05d28c9ad447c133563340232"
+SRCREV_machine_qemux86 ?= "7146d001a5f95068a3e2da23a8b3d15aeb20087a"
+SRCREV_machine_qemux86-64 ?= "7146d001a5f95068a3e2da23a8b3d15aeb20087a"
+SRCREV_machine ?= "7146d001a5f95068a3e2da23a8b3d15aeb20087a"
 SRCREV_meta ?= "2cbb5aca2c25e37b04828cf0b7d90e2f22af816e"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta"
Signature · 1 line
1.7.10.4
#7 lore raw

PATCH 7/7 guilt: add git 1.8.x support

In reply to Bruce Ashfield

Updating guilt to allow git 1.8.x as a supported version. This version has no impact on other functionality within the scripts, so no other adjustments are necessary.

[YOCTO #3275]

---
 ...lt-update-supported-git-versions-to-1.8.x.patch |   28 ++++++++++++++++++++
 meta/recipes-devtools/guilt/guilt-native_0.33.bb   |    3 ++-
 2 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/guilt/files/guilt-update-supported-git-versions-to-1.8.x.patch
meta/recipes-devtools/guilt/files/guilt-update-supported-git-versions-to-1.8.x.patch new file +28 -0
new file mode 100644
index 0000000..579d9bc
@@ -0,0 +1,28 @@
+From d7fb5d4e159071b6255181fcf436300038fe9e6c Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <[email protected]>
+Date: Wed, 16 Jan 2013 20:48:11 -0500
+Subject: [PATCH] guilt: update supported git versions to 1.8.x
+
+guilt errors on the new 1.8.x git series, when it shouldn't, since
+1.8.x works fine with the existing guilt version.
+
+Signed-off-by: Bruce Ashfield <[email protected]>
+---
+ guilt |    1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/guilt b/guilt
+index 346f929..6505653 100755
+--- a/guilt
++++ b/guilt
+@@ -37,6 +37,7 @@ case "$gitver" in
+ 	1.5.*)	;; # git config
+ 	1.6.*)	;; # git config
+ 	1.7.*)	;; # git config
++	1.8.*)	;; # git config
+ 	*)	die "Unsupported version of git ($gitver)" ;;
+ esac
+ 
+-- 
+1.7.10.4
+
meta/recipes-devtools/guilt/guilt-native_0.33.bb +2 -1
index 754b528..6652ab6 100644
@@ -4,7 +4,7 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b6f3400dc1a01cebafe8a52b3f344135"
 
 PV = "0.33"
-PR = "r2"
+PR = "r3"
 
 inherit native
 
@@ -20,6 +20,7 @@ SRC_URI = "http://ftp.de.debian.org/debian/pool/main/g/guilt/guilt_${PV}.orig.ta
 	   file://improve_auto_header_gen.patch \
 	   file://guilt-set-git_exec_path.patch \
 	   file://guilt-bash.patch \
+	   file://guilt-update-supported-git-versions-to-1.8.x.patch \
 	   file://optional_head_check.patch"
 
 SRC_URI[md5sum] = "d800c5e0743d90543ef51d797a626e09"
Signature · 1 line
1.7.10.4