Various updates
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
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
@@ -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
PATCH 2/4 linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE
In reply to Joshua LockAs 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
@@ -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
@@ -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
@@ -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
PATCH 3/4 cogl: update upstream status for build_for_armv4t.patch
In reply to Joshua LockThis 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
@@ -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
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
@@ -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
Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE
In reply to Joshua LockQuoted 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.
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
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 ?
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!
Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE
In reply to Saul WoldQuoted 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
Re: [PATCH 2/4] linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE
In reply to Joshua LockQuoted 27 lines · Joshua Lock
As binutils is required by perf to build and is GPLv3 licensed adding GPLv3 to
INCOMPATIBLE_LICENSEwill 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_LICENSEperf is not built and it's dependencies are not added to build.Fixes [YOCTO #1880]
Signed-off-by Joshua Lock <[email protected]>--- 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@@ -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
Richard Purdie
AppliedQuoted 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,
JoshuaThe 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-contribjosh/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 inINCOMPATIBLE_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