Skip to contentSkip to conversation

Various updates

PATCH Applied Joshua Lock 5 participants 12 messages Jan 24, 2012 – Jan 25, 2012

lore
Share & tools
lore
#0 lore raw

cover Various updates

The key patch in this series is the linux-tools change. With builds that don't include GPLv3 licensed packages the linux-yocto kernel was being skipped due to it pulling in perf and perf requiring binutils.

The short-term fix is to not build perf if GPLv3 is in INCOMPATIBLE_LICENSE, long term there's a bug open to move perf to a separate package.

Cheers,
Joshua

The following changes since commit a4a98b6d6273d4e716afbff0880d0ac2ff7be0a9:

gcc-common.inc: Fix comment (2012-01-24 14:38:31 +0000)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib josh/stuff
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=josh/stuff

Joshua Lock (4):
clutter-gst: update to 1.4.6
linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE
cogl: update upstream status for build_for_armv4t.patch
distro-tracking-fields: update entries for clutter-gst-1.8

 .../conf/distro/include/distro_tracking_fields.inc |    4 ++--
 ...r-gst-1.8_1.4.4.bb => clutter-gst-1.8_1.4.6.bb} |    4 ++--
 .../clutter/cogl/build_for_armv4t.patch            |    2 +-
 meta/recipes-kernel/linux/linux-tools.inc          |   20 ++++++++++++++++++--
 meta/recipes-kernel/linux/linux-yocto_2.6.37.bb    |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.0.bb       |    2 +-
 6 files changed, 25 insertions(+), 9 deletions(-)
 rename meta/recipes-graphics/clutter/{clutter-gst-1.8_1.4.4.bb => clutter-gst-1.8_1.4.6.bb} (80%)
Signature · 1 line
1.7.7.6
#1 lore raw

PATCH 1/4 clutter-gst: update to 1.4.6

---
 ...r-gst-1.8_1.4.4.bb => clutter-gst-1.8_1.4.6.bb} |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-graphics/clutter/{clutter-gst-1.8_1.4.4.bb => clutter-gst-1.8_1.4.6.bb} (80%)
meta/recipes-graphics/clutter/clutter-gst-1.8_1.4.6.bb renamed from meta/recipes-graphics/clutter/clutter-gst-1.8_1.4.4.bb +2 -2
similarity index 80%
rename from meta/recipes-graphics/clutter/clutter-gst-1.8_1.4.4.bb
rename to meta/recipes-graphics/clutter/clutter-gst-1.8_1.4.6.bb
index a0616c7..facb0a1 100644
@@ -13,8 +13,8 @@ SRC_URI = "http://source.clutter-project.org/sources/clutter-gst/1.4/clutter-gst
 
 S = "${WORKDIR}/clutter-gst-${PV}"
 
-SRC_URI[md5sum] = "c660649907785ee96f6e84d97f19d574"
-SRC_URI[sha256sum] = "23cb10e7629696a696ca8619614c517ff0a341e89a701075f2a123a2e26999e9"
+SRC_URI[md5sum] = "98aeed6baa7b3a80f10e7733080eb088"
+SRC_URI[sha256sum] = "54e2966e507563bd3f123a4e25780c2487f854c6cc3df3bedc8c6b5eb45e9769"
 
 do_configure_prepend () {
        # Disable DOLT
Signature · 1 line
1.7.7.6
#2 lore raw

PATCH 2/4 linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE

In reply to Joshua Lock

As binutils is required by perf to build and is GPLv3 licensed adding GPLv3 to INCOMPATIBLE_LICENSE will cause linux-yocto to be skipped.

Long term we should look at moving perf to a separate recipe but as a short term solution this patch will ensure that when GPLv3 is in INCOMPATIBLE_LICENSE perf is not built and it's dependencies are not added to build.

Fixes [YOCTO #1880]

---
 meta/recipes-kernel/linux/linux-tools.inc       |   20 ++++++++++++++++++--
 meta/recipes-kernel/linux/linux-yocto_2.6.37.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.0.bb    |    2 +-
 3 files changed, 20 insertions(+), 4 deletions(-)
meta/recipes-kernel/linux/linux-tools.inc +18 -2
index aa45dba..69e68c0 100644
@@ -1,5 +1,18 @@
 # included by kernel recipes if they want to build/provide
 # perf functionality from their tree.
+
+# perf requires binutils which is GPLv3 licensed, don't prevent the entire kernel
+# being built if GPLv3 is in INCOMPATIBLE_LICENSE
+python () {
+    d.setVar("BUILDPERF", "yes")
+    d.setVar("PERFDEPENDS", "virtual/${MLPREFIX}libc:do_populate_sysroot ${MLPREFIX}elfutils:do_populate_sysroot ${MLPREFIX}binutils:do_populate_sysroot")
+
+    if ((d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1):
+       # GPLv3, drop perf
+       d.setVar("BUILDPERF", "no")
+       d.setVar("PERFDEPENDS", "")
+}
+
 do_compile_perf_libc-uclibc () {
 	:
 }
@@ -7,11 +20,15 @@ do_install_perf_libc-uclibc () {
 	:
 }
 do_compile_perf() {
+    if [ "${BUILDPERF}" = "yes" ]; then
 	oe_runmake -C ${S}/tools/perf CC="${CC}" LD="${LD}" prefix=${prefix} NO_NEWT=1 NO_DWARF=1
+    fi
 }
 
 fakeroot do_install_perf() {
+    if [ "${BUILDPERF}" = "yes" ]; then
 	oe_runmake -C ${S}/tools/perf CC="${CC}" LD="${LD}" prefix=${prefix} DESTDIR=${D} install NO_NEWT=1 NO_DWARF=1
+    fi
 }
 
 
@@ -22,9 +39,8 @@ addtask install_perf after do_install before do_package
 do_compile_perf[umask] = 022
 do_install_perf[umask] = 022
 
-PERFDEPENDS = "virtual/${MLPREFIX}libc:do_populate_sysroot ${MLPREFIX}elfutils:do_populate_sysroot ${MLPREFIX}binutils:do_populate_sysroot"
-PERFDEPENDS_libc-uclibc = ""
 PERFRDEPENDS = "python perl elfutils"
 PERFRDEPENDS_libc-uclibc = ""
 do_compile_perf[depends] = "${PERFDEPENDS}"
+do_compile_perf_libc-uclibc[depends] = ""
 RDEPENDS_perf += "${PERFRDEPENDS}"
meta/recipes-kernel/linux/linux-yocto_2.6.37.bb +1 -1
index 34e563c..ce71393 100644
@@ -20,7 +20,7 @@ SRCREV_machine_qemux86-64 = "af2bfbe5f757361b5b027a24d67a93bfdfaaf33c"
 SRCREV_machine = "4ae8f8605c81c39b959948e23f7123294a5dfb3f"
 SRCREV_meta = "aeea99683c7283f1f3320bf2ee7085ee252d4e7e"
 
-PR = "r21"
+PR = "r22"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
meta/recipes-kernel/linux/linux-yocto_3.0.bb +1 -1
index 10859e7..9d51bd0 100644
@@ -21,7 +21,7 @@ SRCREV_machine_qemux86-64 ?= "3551fd0412965b1f6b0b2f6ba35f7fecdaddb58a"
 SRCREV_machine ?= "6f5b11830deba4a6262c8c4abf67e608924f649e"
 SRCREV_meta ?= "665fea1c249b4f335cb1c9a46a9f2c138d611f1a"
 
-PR = "r2"
+PR = "r3"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
Signature · 1 line
1.7.7.6
#3 lore raw

Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE

Quoted 2 lines · Joshua Lock

Long term we should look at moving perf to a separate recipe but as a short term solution this patch will ensure that when GPLv3 is in

would I be asking too much to do that instead of this patch :) I think it will be good thing in general since other layers now have to define these tasks if they inherit from oe-core kernel class.

#4 lore raw

Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE

Quoted 8 lines · Khem Raj
Quoted 2 lines · Joshua Lock

Long term we should look at moving perf to a separate recipe but as a short term solution this patch will ensure that when GPLv3 is in

would I be asking too much to do that instead of this patch :) I think it will be good thing in general since other layers now have to define these tasks if they inherit from oe-core kernel class.

Khem,

The issue is timing and resources to do this work, it a larger task that may take more than a few days to refactor perf into it's own recipe and share the source area (ala work-shared/gcc). We need to get the non-GPLv3 build working again and this seems like the most direct route to accomplish that.

Sau!

Quoted 5 lines

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

#5 lore raw

Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE

Quoted 6 lines · Saul Wold

The issue is timing and resources to do this work, it a larger task that may take more than a few days to refactor perf into it's own recipe and share the source area (ala work-shared/gcc).  We need to get the non-GPLv3 build working again and this seems like the most direct route to accomplish that.

is that a blocker for oe-core ?

#6 lore raw

Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE

Quoted 10 lines · Khem Raj
Quoted 6 lines · Saul Wold

The issue is timing and resources to do this work, it a larger task that may take more than a few days to refactor perf into it's own recipe and share the source area (ala work-shared/gcc). We need to get the non-GPLv3 build working again and this seems like the most direct route to accomplish that.

is that a blocker for oe-core ?

It's a blocker for oe-core & 1.2, and we are not sure get can get the refactor done by 1.2 given all the the other activities the team has, if there are some external resources available o complete this work, that would be very helpful!

Sau!

#7 lore raw

Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE

In reply to Saul Wold
Quoted 9 lines · Saul Wold
Quoted 8 lines · Khem Raj
Quoted 2 lines · Joshua Lock

Long term we should look at moving perf to a separate recipe but as a short term solution this patch will ensure that when GPLv3 is in

would I be asking too much to do that instead of this patch :) I think it will be good thing in general since other layers now have to define these tasks if they inherit from oe-core kernel class.

Quoted 6 lines

Khem,

The issue is timing and resources to do this work, it a larger task that may take more than a few days to refactor perf into it's own recipe and share the source area (ala work-shared/gcc). We need to get the non-GPLv3 build working again and this seems like the most direct route to accomplish that.

Sau!

This is a good workaround for this bug. Obviously a "refactor way" would be a better one in my opinion too. But for now, as this bug breaks a non-GPLv3 build, a fast solution, like this, is needed.

@g

#8 lore raw

Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE

In reply to Joshua Lock
Quoted 27 lines · Joshua Lock

As binutils is required by perf to build and is GPLv3 licensed adding GPLv3 to INCOMPATIBLE_LICENSE will cause linux-yocto to be skipped.

Long term we should look at moving perf to a separate recipe but as a short term solution this patch will ensure that when GPLv3 is in INCOMPATIBLE_LICENSE perf is not built and it's dependencies are not added to build.

Fixes [YOCTO #1880]

---
 meta/recipes-kernel/linux/linux-tools.inc       |   20 ++++++++++++++++++--
 meta/recipes-kernel/linux/linux-yocto_2.6.37.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.0.bb    |    2 +-
 3 files changed, 20 insertions(+), 4 deletions(-)
meta/recipes-kernel/linux/linux-tools.inc +3 -0
index aa45dba..69e68c0 100644
@@ -1,5 +1,18 @@
 # included by kernel recipes if they want to build/provide
 # perf functionality from their tree.
+
+# perf requires binutils which is GPLv3 licensed, don't prevent the entire kernel
+# being built if GPLv3 is in INCOMPATIBLE_LICENSE

meta/recipes-kernel/linux/linux-tools.inc line 15

Quoted 10 lines
meta/recipes-kernel/linux/linux-tools.inc +10 -0
+python () {
+    d.setVar("BUILDPERF", "yes")
+    d.setVar("PERFDEPENDS", "virtual/${MLPREFIX}libc:do_populate_sysroot ${MLPREFIX}elfutils:do_populate_sysroot ${MLPREFIX}binutils:do_populate_sysroot")
+
+    if ((d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1):
+       # GPLv3, drop perf
+       d.setVar("BUILDPERF", "no")
+       d.setVar("PERFDEPENDS", "")
+}
+

Can we make this a little neater, something like:

BUILDPERF = "yes"
BUILDPERF_libc-uclib = "no"
PERFDEPENDS = "virtual/${MLPREFIX}libc:do_populate_sysroot ${MLPREFIX}elfutils:do_populate_sysroot ${MLPREFIX}binutils:do_populate_sysroot" PERFDEPENDS_libc-uclibc = ""

Then just have the if statement in the anonymous python and drop the do_compile_perf_libc-uclibc and PERFDEPENDS_libc-uclibc.

This also makes it easy for an external recipe to just disable this code.

Cheers,

Richard

#9 lore raw

PATCH 3/4 cogl: update upstream status for build_for_armv4t.patch

In reply to Joshua Lock

This has patch has been merged into upstreams git repository and will be available in the next stable release.

---
 .../clutter/cogl/build_for_armv4t.patch            |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-graphics/clutter/cogl/build_for_armv4t.patch +1 -1
index 3635085..003e9ff 100644
@@ -3,7 +3,7 @@ check this to turn off the use of 'clz' instructions, which otherwise would
 cause compile errors like "selected processor does not support ARM mode 
 `clz r3,r0'". 
 
-Upstream-Status: Submitted
+Upstream-Status: Accepted (should be in the next cogl stable release)
 
 Signed-off-by: Wolfgang Denk <[email protected]>
 Signed-off-by: Joshua Lock <[email protected]>
Signature · 1 line
1.7.7.6
#10 lore raw

PATCH 4/4 distro-tracking-fields: update entries for clutter-gst-1.8

In reply to Joshua Lock
---
 .../conf/distro/include/distro_tracking_fields.inc |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
meta/conf/distro/include/distro_tracking_fields.inc +2 -2
index ce88b2e..a047315 100644
@@ -5567,8 +5567,8 @@ RECIPE_MAINTAINER_pn-clutter-gtk-1.8 = "Joshua Lock <[email protected]>"
 
 RECIPE_STATUS_pn-clutter-gst-1.8 = "red"
 DISTRO_PN_ALIAS_pn-clutter-gst-1.8 = "Fedora=clutter-gst Debian=libclutter-gst"
-RECIPE_LATEST_VERSION_pn-clutter-gst-1.8 = "1.4.2"
-RECIPE_LAST_UPDATE_pn-clutter-gst-1.8 = "Nov 09, 2011"
+RECIPE_LATEST_VERSION_pn-clutter-gst-1.8 = "1.4.6"
+RECIPE_LAST_UPDATE_pn-clutter-gst-1.8 = "Jan 24, 2012"
 RECIPE_MAINTAINER_pn-clutter-gst-1.8 = "Joshua Lock <[email protected]>"
 
 RECIPE_STATUS_pn-clutter-box2d = "red"
Signature · 1 line
1.7.7.6
#11 lore raw
In reply to Joshua Lock
Quoted 18 lines · Joshua Lock

The key patch in this series is the linux-tools change. With builds that don't include GPLv3 licensed packages the linux-yocto kernel was being skipped due to it pulling in perf and perf requiring binutils.

The short-term fix is to not build perf if GPLv3 is in INCOMPATIBLE_LICENSE, long term there's a bug open to move perf to a separate package.

Cheers,
Joshua

The following changes since commit a4a98b6d6273d4e716afbff0880d0ac2ff7be0a9:

gcc-common.inc: Fix comment (2012-01-24 14:38:31 +0000)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib josh/stuff
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=josh/stuff

Quoted 5 lines

Joshua Lock (4):
clutter-gst: update to 1.4.6
linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE
cogl: update upstream status for build_for_armv4t.patch
distro-tracking-fields: update entries for clutter-gst-1.8

Merged to master apart from linux-tools which I think can be improved slightly.

Cheers,

Richard