Skip to contentSkip to conversation

linux-yocto: revision bump + pvr + checkout fix

PATCH Applied Bruce Ashfield 2 participants 5 messages Feb 28, 2012 – Mar 2, 2012

lore
Share & tools
lore
#0 lore raw

cover linux-yocto: revision bump + pvr + checkout fix

Richard/Saul,

Naturally right after I sent my previous version bump to 3.2.7, 3.2.8 came out with an x86 floating point fix that was worth picking up. Hence my quick bump to 3.2.8.

The other update to the 3.0/3.2 trees stages content for PVR functionality in some future BSP work.

And finally, I added some extra checks and safety to the kernel checkout code, since Saul was reporting issues that I couldn't reproduce, I can't be sure if they fix his problem. But they do fix issues with aborted builds and the korg recipe. I've built many kernels and as many recipes as possible with these in place.

cc Kishore Bodke <[email protected]>

Cheers,

Bruce

The following changes since commit d86e3082e695cde555df276a2436873fa5381130:
Otavio Salvador (1):
licenses.conf: fix quotting of SRC_DISTRIBUTE_LICENSES

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 (3):
linux-yocto: make kernel_checkout reentrant
linux-yocto/meta: add pvr feature description
linux-yocto: update to v3.2.8

 meta/classes/kernel-yocto.bbclass                 |   33 ++++++++++++--------
 meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb   |    2 +-
 meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb   |    8 ++--
 meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.0.bb      |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.2.bb      |   16 +++++-----
 6 files changed, 35 insertions(+), 28 deletions(-)
#1 lore raw

PATCH 1/3 linux-yocto: make kernel_checkout reentrant

The steps in do_kernel_checkout modify the source tree in WORKDIR. If it is called multiple times, or interrupted, the tree is left in an inconsistent state.

This change adds protections around branch names, and around the manipulations of directories to ensure that it is safe to call at any point.

---
 meta/classes/kernel-yocto.bbclass |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)
meta/classes/kernel-yocto.bbclass +20 -13
index 5f3cb63..187e3cc 100644
@@ -139,17 +139,17 @@ do_patch() {
 }
 
 do_kernel_checkout() {
-	# we build out of {S}, so ensure that ${S} is clean and present
-	rm -rf ${S}
-	mkdir -p ${S}/.git
-
 	set +e
 
 	# 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
-	if [ -d "${WORKDIR}/git/.git" ]; then
+	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}/.git
+
 		echo "WARNING. ${WORKDIR}/git is not a bare clone."
 		echo "Ensure that the SRC_URI includes the 'bareclone=1' option."
 		
@@ -158,12 +158,14 @@ do_kernel_checkout() {
 		mv ${WORKDIR}/git/.git ${S}
 		rm -rf ${WORKDIR}/git/
 		cd ${S}
-		git branch -a | grep -q ${KMETA}
-		if [ $? -ne 0 ]; then
-			echo "ERROR. The branch '${KMETA}' is required and was not"
-			echo "found. Ensure that the SRC_URI points to a valid linux-yocto"
-			echo "kernel repository"
-			exit 1
+		if [ -n "${YOCTO_KERNEL_META_DATA}" ] && [ -n "${KMETA}" ]; then
+			git branch -a | grep -q ${KMETA}
+			if [ $? -ne 0 ]; then
+				echo "ERROR. The branch '${KMETA}' is required and was not"
+				echo "found. Ensure that the SRC_URI points to a valid linux-yocto"
+				echo "kernel repository"
+				exit 1
+			fi
 		fi
 	 	if [ -z "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ] && [ -n "${KBRANCH}" ] ; then
 			git branch -a | grep -q ${KBRANCH}
@@ -174,10 +176,15 @@ do_kernel_checkout() {
 				exit 1
 			fi
 		fi
-	else
+	fi
+	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}/.git
+
 		mv ${WORKDIR}/git/* ${S}/.git
 		rm -rf ${WORKDIR}/git/
-		cd ${S}
+		cd ${S}	
 		git config core.bare false
 	fi
 	# end debare
Signature · 1 line
1.7.0.4
#2 lore raw

PATCH 2/3 linux-yocto/meta: add pvr feature description

In reply to Bruce Ashfield

Updating the 3.0 and 3.2 kernel SRCREVS to make the PVR feature description available to machines with the appropriate hardware.

---
 meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb   |    2 +-
 meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb   |    2 +-
 meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.0.bb      |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.2.bb      |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb +1 -1
index 41a37fe..8090535 100644
@@ -16,7 +16,7 @@ LINUX_KERNEL_TYPE = "preempt-rt"
 
 SRCREV_machine ?= "03705f7f066d83b4cd3a6088781d47e3b9e45b71"
 SRCREV_machine_qemuppc ?= "c8b184e8171f6f5a8017be4c5bf1e7a38c3f3002"
-SRCREV_meta ?= "808b49474268040ab27c8ee687b60807a11547b4"
+SRCREV_meta ?= "d7b46785d6781e2c23d754f35f09bebd3b74b5bb"
 
 PR = "r1"
 PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb +1 -1
index 3370729..b0dacb4 100644
@@ -16,7 +16,7 @@ LINUX_KERNEL_TYPE = "preempt-rt"
 
 SRCREV_machine ?= "2043e8b786dfd06a41a66780141f731d2d788696"
 SRCREV_machine_qemuppc ?= "ec400326633f011c3b7d390beb765ad955145a29"
-SRCREV_meta ?= "5db8963f9aefc70b4483ca4ccce8f2ef6964e2c3"
+SRCREV_meta ?= "4c648bbbc7d2204d1b24f444aebb10f91c4ecae3"
 
 
 PR = "r0"
meta/recipes-kernel/linux/linux-yocto-tiny_3.0.bb +1 -1
index f4eedb7..32d502f 100644
@@ -8,7 +8,7 @@ KBRANCH = "${KMACHINE}"
 LINUX_VERSION ?= "3.0.22"
 
 SRCREV_machine ?= "c578f3a1f357142a6e02a1df4ae9aa16f45094d6"
-SRCREV_meta ?= "808b49474268040ab27c8ee687b60807a11547b4"
+SRCREV_meta ?= "d7b46785d6781e2c23d754f35f09bebd3b74b5bb"
 
 PR = "r1"
 PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_3.0.bb +1 -1
index 8e7842e..58e1f6b 100644
@@ -18,7 +18,7 @@ SRCREV_machine_qemuppc ?= "804aff4612bb7a53ac4679412c2a78bc06e3c4ce"
 SRCREV_machine_qemux86 ?= "7b0476fde681e828417d8fa86c47b0ca539ade70"
 SRCREV_machine_qemux86-64 ?= "14fe1742198bd5a85fbcf6e53d336838ff87b2ef"
 SRCREV_machine ?= "c578f3a1f357142a6e02a1df4ae9aa16f45094d6"
-SRCREV_meta ?= "808b49474268040ab27c8ee687b60807a11547b4"
+SRCREV_meta ?= "d7b46785d6781e2c23d754f35f09bebd3b74b5bb"
 
 PR = "r3"
 PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_3.2.bb +1 -1
index 9be1bd9..65e1ea0 100644
@@ -24,7 +24,7 @@ SRCREV_machine_qemuppc ?= "8fc0489fffe4c626f9a8053ad86014e75073a3d0"
 SRCREV_machine_qemux86 ?= "0fae9c2722039df3e93398d314ee10e3f4330b86"
 SRCREV_machine_qemux86-64 ?= "0fae9c2722039df3e93398d314ee10e3f4330b86"
 SRCREV_machine ?= "0fae9c2722039df3e93398d314ee10e3f4330b86"
-SRCREV_meta ?= "5db8963f9aefc70b4483ca4ccce8f2ef6964e2c3"
+SRCREV_meta ?= "4c648bbbc7d2204d1b24f444aebb10f91c4ecae3"
 
 PR = "r0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
Signature · 1 line
1.7.0.4
#3 lore raw

PATCH 3/3 linux-yocto: update to v3.2.8

In reply to Bruce Ashfield

3.2.8 was released and contains a floating point fix for x86 32 bit and some x86-64 fixes. So it's worth picking up right away.

---
 meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb |    6 +++---
 meta/recipes-kernel/linux/linux-yocto_3.2.bb    |   14 +++++++-------
 2 files changed, 10 insertions(+), 10 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb +3 -3
index b0dacb4..bbb227f 100644
@@ -11,11 +11,11 @@ KMACHINE_qemumips = "mti-malta32-be"
 KBRANCH = "standard/preempt-rt/base"
 KBRANCH_qemuppc = "standard/preempt-rt/qemu-ppc32"
 
-LINUX_VERSION ?= "3.2.7"
+LINUX_VERSION ?= "3.2.8"
 LINUX_KERNEL_TYPE = "preempt-rt"
 
-SRCREV_machine ?= "2043e8b786dfd06a41a66780141f731d2d788696"
-SRCREV_machine_qemuppc ?= "ec400326633f011c3b7d390beb765ad955145a29"
+SRCREV_machine ?= "6ab03c43328172425a6f632bff694a8da6c99f0e"
+SRCREV_machine_qemuppc ?= "470deb222a704f84f3acf3a013a19d2da399d511"
 SRCREV_meta ?= "4c648bbbc7d2204d1b24f444aebb10f91c4ecae3"
 
 
meta/recipes-kernel/linux/linux-yocto_3.2.bb +7 -7
index 65e1ea0..ecde039 100644
@@ -15,15 +15,15 @@ KBRANCH_qemuppc  = "standard/default/qemu-ppc32"
 KBRANCH_qemumips = "standard/default/mti-malta32-be"
 KBRANCH_qemuarm  = "standard/default/arm-versatile-926ejs"
 
-LINUX_VERSION ?= "3.2.7"
+LINUX_VERSION ?= "3.2.8"
 
 
-SRCREV_machine_qemuarm ?= "c2028a144fe035719af7c5e9989fedc62ccf3c2c"
-SRCREV_machine_qemumips ?= "7dfffd937d4755cba0fcf3f2b9b69a1c62262084"
-SRCREV_machine_qemuppc ?= "8fc0489fffe4c626f9a8053ad86014e75073a3d0"
-SRCREV_machine_qemux86 ?= "0fae9c2722039df3e93398d314ee10e3f4330b86"
-SRCREV_machine_qemux86-64 ?= "0fae9c2722039df3e93398d314ee10e3f4330b86"
-SRCREV_machine ?= "0fae9c2722039df3e93398d314ee10e3f4330b86"
+SRCREV_machine_qemuarm ?= "2fdc18ce2b9bf95519a02640cb45930ae7587dd4"
+SRCREV_machine_qemumips ?= "2b2a6bad57fe403f1180c4b9021210da87d02c20"
+SRCREV_machine_qemuppc ?= "eabeabc4c8a17822772895d3ba22989ae18a58c3"
+SRCREV_machine_qemux86 ?= "ea5bd45e564520ca4ecdb10f7af63263d5fe33f7"
+SRCREV_machine_qemux86-64 ?= "f54af84c64408a0259a919d1fd2405c0115c0a0b"
+SRCREV_machine ?= "21ab5dca134a6bf1316aa59f69f9ee9e091d5702"
 SRCREV_meta ?= "4c648bbbc7d2204d1b24f444aebb10f91c4ecae3"
 
 PR = "r0"
Signature · 1 line
1.7.0.4
#4 lore raw
In reply to Bruce Ashfield
Quoted 27 lines · Bruce Ashfield

Richard/Saul,

Naturally right after I sent my previous version bump to 3.2.7, 3.2.8 came out with an x86 floating point fix that was worth picking up. Hence my quick bump to 3.2.8.

The other update to the 3.0/3.2 trees stages content for PVR functionality in some future BSP work.

And finally, I added some extra checks and safety to the kernel checkout code, since Saul was reporting issues that I couldn't reproduce, I can't be sure if they fix his problem. But they do fix issues with aborted builds and the korg recipe. I've built many kernels and as many recipes as possible with these in place.

cc Kishore Bodke <[email protected]>

Cheers,

Bruce

The following changes since commit d86e3082e695cde555df276a2436873fa5381130:
Otavio Salvador (1):
licenses.conf: fix quotting of SRC_DISTRIBUTE_LICENSES

are available in the git repository at:

Quoted 7 lines

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

Bruce Ashfield (3):
linux-yocto: make kernel_checkout reentrant
linux-yocto/meta: add pvr feature description
linux-yocto: update to v3.2.8

Merged to master, thanks.

Richard