Merge native BBCLASSEXTENDs and SDK, PACKAGECONFIG fix
cover Merge native BBCLASSEXTENDs and SDK, PACKAGECONFIG fix
gtk+-native is usefull at least for gtk+3 build, see
http://git.openembedded.org/meta-openembedded/commit/?id=c0f4fff835b59aab108ddba40957d8291fb937b8
for details.
.bbappends with just added BBCLASSEXTEND are IMHO worse for maintenance then moving it to oe-core directly.
Tested with gtk+-native build with oe-core only and then again with all layers (and extra patchset removing native BBCLASSEXTENDs from meta-oe).
The following changes since commit b60d0c57a2e16d690fd11c6349917efc57630004:
gettext/awk/sed/grep: Backport WARNING fixes to GPLv2 versions (2012-03-21 16:30:37 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib jansa/pull
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/pull
Denis 'GNUtoo' Carikli (2):
xev: move from meta-demoapps
classes: scons: add EXTRA_OESCONS
Martin Jansa (11):
bitbake.conf: use TUNE_PKGARCH instead of TARGET_ARCH in SDK_NAME base.bbclass: extract *virtclass_map_dependencies logic from
native/nativesdk bbclasses and call it from packageconfig
xorg: add more native BBCLASSEXTENDs for gtk+-native
gtk+: import native support from meta-oe
librsvg: import native support from meta-oe
pixman: add native support and perl-native to DEPENDS from meta-oe
cairo: import native support from meta-oe
tiff: import native support from meta-oe
libusb*: import native support from meta-oe
pango: import native support and --disable-introspection from meta-oe
rootfs_ipk: replace 3 opkg-cl calls with one in get_package_filename
.../recipes-graphics/xorg-app/xev_1.0.3.bb | 7 --
meta/classes/base.bbclass | 77 ++++++++++++++++++--
meta/classes/native.bbclass | 25 +------
meta/classes/nativesdk.bbclass | 27 +-------
meta/classes/rootfs_ipk.bbclass | 7 +-
meta/classes/scons.bbclass | 6 +-
meta/conf/bitbake.conf | 4 +-
meta/recipes-gnome/gtk+/gtk+.inc | 4 +
meta/recipes-gnome/librsvg/librsvg_2.32.1.bb | 2 +
meta/recipes-graphics/cairo/cairo.inc | 1 +
meta/recipes-graphics/cairo/cairo_1.10.2.bb | 2 +-
meta/recipes-graphics/pango/pango.inc | 3 +
.../recipes-graphics/xorg-app/xev/diet-x11.patch | 0
meta/recipes-graphics/xorg-app/xev_1.0.3.bb | 10 +++
.../xorg-lib/libxcomposite_0.4.3.bb | 1 +
.../recipes-graphics/xorg-lib/libxcursor_1.1.13.bb | 1 +
meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb | 1 +
meta/recipes-graphics/xorg-lib/libxfixes_5.0.bb | 2 +-
meta/recipes-graphics/xorg-lib/libxrandr_1.3.2.bb | 2 +-
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb | 3 +-
.../xorg-proto/compositeproto_0.4.2.bb | 1 +
.../xorg-proto/damageproto_1.2.1.bb | 1 +
meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb | 2 +-
.../xorg-proto/randrproto_1.3.2.bb | 2 +-
meta/recipes-multimedia/libtiff/tiff_4.0.1.bb | 1 +
meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 ++-
meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 +
27 files changed, 123 insertions(+), 78 deletions(-)
delete mode 100644 meta-demoapps/recipes-graphics/xorg-app/xev_1.0.3.bb
rename {meta-demoapps => meta}/recipes-graphics/xorg-app/xev/diet-x11.patch (100%)
create mode 100644 meta/recipes-graphics/xorg-app/xev_1.0.3.bbSignature · 1 line
1.7.8.5
PATCH 1/13 bitbake.conf: use TUNE_PKGARCH instead of TARGET_ARCH in SDK_NAME
* also use weak assignment for SDK_NAME_PREFIX as suggested by khem
* TUNE_PKGARCH is not 100% right too, because such SDK image usually has few machine specific packages included (e.g. base-files, securetty, opkg configs) but those are not important for SDK users so it's better to have one SDK for whole e.g. armv7a-vfp-neon then 6 SDK for each machine which would work the same.
You can see diff between crespo and om-gta04 SDK here:
http://build.shr-project.org/shr-core/sdk/oecore-i686-armv7a-vfp-neon-toolchain-efl-crespo-om-gta04.diff
--- meta/conf/bitbake.conf | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/conf/bitbake.conf +2 -2
@@ -365,8 +365,8 @@ PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}" # SDK variables, ################################################################## -SDK_NAME_PREFIX = "oecore" -SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TARGET_ARCH}" +SDK_NAME_PREFIX ?= "oecore" +SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}" SDKPATH = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}" SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
Signature · 1 line
1.7.8.5
PATCH 2/13 xev: move from meta-demoapps
From: Denis 'GNUtoo' Carikli <[email protected]>
* The location where xev was located didn't contain xorg-app-common.inc, but still xev requires it. So moving it fixes that issue.
* File checksums and License checksums were also added.
---
.../recipes-graphics/xorg-app/xev_1.0.3.bb | 7 -------
.../recipes-graphics/xorg-app/xev/diet-x11.patch | 0
meta/recipes-graphics/xorg-app/xev_1.0.3.bb | 10 ++++++++++
3 files changed, 10 insertions(+), 7 deletions(-)
delete mode 100644 meta-demoapps/recipes-graphics/xorg-app/xev_1.0.3.bb
rename {meta-demoapps => meta}/recipes-graphics/xorg-app/xev/diet-x11.patch (100%)
create mode 100644 meta/recipes-graphics/xorg-app/xev_1.0.3.bbmeta-demoapps/recipes-graphics/xorg-app/xev_1.0.3.bb deleted +0 -7
@@ -1,7 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "X Event Viewer" -LICENSE = "MIT" -PE = "1" - -SRC_URI += "file://diet-x11.patch;patch=1"
meta/recipes-graphics/xorg-app/xev/diet-x11.patch renamed from meta-demoapps/recipes-graphics/xorg-app/xev/diet-x11.patch +0 -0
meta/recipes-graphics/xorg-app/xev_1.0.3.bb new file +10 -0
@@ -0,0 +1,10 @@ +require xorg-app-common.inc +LIC_FILES_CHKSUM = "file://xev.c;startline=0;endline=35;md5=db2e69260ca64f1d332efa6ab4b7e2b5" +DESCRIPTION = "X Event Viewer" +LICENSE = "MIT" +PE = "1" + +SRC_URI += "file://diet-x11.patch" + +SRC_URI[md5sum] = "a9532c3d1683c99bb5df1895cb3a60b1" +SRC_URI[sha256sum] = "d4ac7ae154ee9733be27a5f55586abb9362c768f5fb8a4fc7fd2645100a9313a"
Signature · 1 line
1.7.8.5
PATCH 3/13 classes: scons: add EXTRA_OESCONS
In reply to Martin JansaFrom: Denis 'GNUtoo' Carikli <[email protected]>
--- meta/classes/scons.bbclass | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
meta/classes/scons.bbclass +4 -2
@@ -1,12 +1,14 @@ DEPENDS += "python-scons-native" +EXTRA_OESCONS ?= "" + scons_do_compile() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} || \ + ${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \ bbfatal "scons build execution failed." } scons_do_install() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} prefix=${D}${prefix} install || \ + ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} prefix=${D}${prefix} install ${EXTRA_OESCONS}|| \ bbfatal "scons install execution failed." }
Signature · 1 line
1.7.8.5
PATCH 4/13 base.bbclass: extract *virtclass_map_dependencies logic from native/nativesdk bbclasses and call it from packageconfig
In reply to Martin Jansa* if some package is using PACKAGECONFIG and also BBCLASSEXTEND then it could be called twice but without this PACKAGECONFIG was adding items to DEPENDS after virtclass handler so foo-native was depending on bar instead of bar-foo when bar was added by PACKAGECONFIG
see: http://lists.linuxtogo.org/pipermail/openembedded-core/2012-February/017772.html
--- meta/classes/base.bbclass | 77 ++++++++++++++++++++++++++++++++++++--- meta/classes/native.bbclass | 25 +------------ meta/classes/nativesdk.bbclass | 27 +------------- 3 files changed, 73 insertions(+), 56 deletions(-)
meta/classes/base.bbclass +71 -6
@@ -223,6 +223,59 @@ def get_layers_branch_rev(d): s1= layers_branch_rev[i][p1:] return layers_branch_rev +def native_virtclass_map_dependencies(d): + def map_dependencies(varname, d, suffix = ""): + if suffix: + varname = varname + "_" + suffix + deps = d.getVar(varname, True) + if not deps: + return + deps = bb.utils.explode_deps(deps) + newdeps = [] + for dep in deps: + if dep.endswith("-cross"): + newdeps.append(dep.replace("-cross", "-native")) + elif not dep.endswith("-native"): + newdeps.append(dep + "-native") + else: + newdeps.append(dep) + d.setVar(varname, " ".join(newdeps)) + + map_dependencies("DEPENDS", d) + for pkg in [d.getVar("PN", True), "", "${PN}"]: + map_dependencies("RDEPENDS", d, pkg) + map_dependencies("RRECOMMENDS", d, pkg) + map_dependencies("RSUGGESTS", d, pkg) + map_dependencies("RPROVIDES", d, pkg) + map_dependencies("RREPLACES", d, pkg) + +def nativesdk_virtclass_map_dependencies(d): + def map_dependencies(varname, d, suffix = ""): + if suffix: + varname = varname + "_" + suffix + deps = d.getVar(varname, True) + if not deps: + return + deps = bb.utils.explode_deps(deps) + newdeps = [] + for dep in deps: + if dep.endswith("-native") or dep.endswith("-cross"): + newdeps.append(dep) + elif dep.endswith("-gcc-intermediate") or dep.endswith("-gcc-initial") or dep.endswith("-gcc") or dep.endswith("-g++"): + newdeps.append(dep + "-crosssdk") + elif not dep.endswith("-nativesdk"): + newdeps.append(dep.replace("-nativesdk", "") + "-nativesdk") + else: + newdeps.append(dep) + d.setVar(varname, " ".join(newdeps)) + + map_dependencies("DEPENDS", d) + #for pkg in (d.getVar("PACKAGES", True).split() + [""]): + # map_dependencies("RDEPENDS", d, pkg) + # map_dependencies("RRECOMMENDS", d, pkg) + # map_dependencies("RSUGGESTS", d, pkg) + # map_dependencies("RPROVIDES", d, pkg) + # map_dependencies("RREPLACES", d, pkg) addhandler base_eventhandler python base_eventhandler() {
@@ -293,8 +346,10 @@ do_build () { : } -python () { - import exceptions, string, re +addhandler packageconfig_handler +python packageconfig_handler () { + if not isinstance(e, bb.event.RecipePreFinalise): + return # Handle PACKAGECONFIG #
@@ -302,14 +357,14 @@ python () { # # PACKAGECONFIG ?? = "<default options>" # PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends" - pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {} + pkgconfigflags = e.data.getVarFlags("PACKAGECONFIG") or {} if pkgconfigflags: - pkgconfig = (d.getVar('PACKAGECONFIG', True) or "").split() + pkgconfig = (e.data.getVar('PACKAGECONFIG', True) or "").split() def appendVar(varname, appends): if not appends: return - varname = d.expand(varname) - d.appendVar(varname, " " + " ".join(appends)) + varname = e.data.expand(varname) + e.data.appendVar(varname, " " + " ".join(appends)) extradeps = [] extrardeps = []
@@ -332,6 +387,16 @@ python () { appendVar('DEPENDS', extradeps) appendVar('RDEPENDS_${PN}', extrardeps) appendVar('EXTRA_OECONF', extraconf) + classextend = e.data.getVar('BBCLASSEXTEND', True) or "" + pn = e.data.getVar("PN", True) + if "native" in classextend and pn.endswith("-native"): + native_virtclass_map_dependencies(e.data) + if "nativesdk" in classextend and pn.endswith("-nativesdk"): + nativesdk_virtclass_map_dependencies(e.data) +} + +python () { + import exceptions, string, re # If PRINC is set, try and increase the PR value by the amount specified princ = d.getVar('PRINC', True)
meta/classes/native.bbclass +1 -24
@@ -112,30 +112,7 @@ python native_virtclass_handler () { if not pn.endswith("-native"): return - def map_dependencies(varname, d, suffix = ""): - if suffix: - varname = varname + "_" + suffix - deps = d.getVar(varname, True) - if not deps: - return - deps = bb.utils.explode_deps(deps) - newdeps = [] - for dep in deps: - if dep.endswith("-cross"): - newdeps.append(dep.replace("-cross", "-native")) - elif not dep.endswith("-native"): - newdeps.append(dep + "-native") - else: - newdeps.append(dep) - d.setVar(varname, " ".join(newdeps)) - - map_dependencies("DEPENDS", e.data) - for pkg in [e.data.getVar("PN", True), "", "${PN}"]: - map_dependencies("RDEPENDS", e.data, pkg) - map_dependencies("RRECOMMENDS", e.data, pkg) - map_dependencies("RSUGGESTS", e.data, pkg) - map_dependencies("RPROVIDES", e.data, pkg) - map_dependencies("RREPLACES", e.data, pkg) + native_virtclass_map_dependencies(e.data) provides = e.data.getVar("PROVIDES", True) for prov in provides.split():
meta/classes/nativesdk.bbclass +1 -26
@@ -72,32 +72,7 @@ python () { if not pn.endswith("-nativesdk"): return - def map_dependencies(varname, d, suffix = ""): - if suffix: - varname = varname + "_" + suffix - deps = d.getVar(varname, True) - if not deps: - return - deps = bb.utils.explode_deps(deps) - newdeps = [] - for dep in deps: - if dep.endswith("-native") or dep.endswith("-cross"): - newdeps.append(dep) - elif dep.endswith("-gcc-intermediate") or dep.endswith("-gcc-initial") or dep.endswith("-gcc") or dep.endswith("-g++"): - newdeps.append(dep + "-crosssdk") - elif not dep.endswith("-nativesdk"): - newdeps.append(dep.replace("-nativesdk", "") + "-nativesdk") - else: - newdeps.append(dep) - d.setVar(varname, " ".join(newdeps)) - - map_dependencies("DEPENDS", d) - #for pkg in (d.getVar("PACKAGES", True).split() + [""]): - # map_dependencies("RDEPENDS", d, pkg) - # map_dependencies("RRECOMMENDS", d, pkg) - # map_dependencies("RSUGGESTS", d, pkg) - # map_dependencies("RPROVIDES", d, pkg) - # map_dependencies("RREPLACES", d, pkg) + nativesdk_virtclass_map_dependencies(d) provides = d.getVar("PROVIDES", True) for prov in provides.split():
Signature · 1 line
1.7.8.5
PATCH 5/13 xorg: add more native BBCLASSEXTENDs for gtk+-native
In reply to Martin Jansa* those are needed for gtk+-native after this patch
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-February/017772.html
is applied
* I had them in .bbappends for meta-oe, but adding native BBCLASSEXTEND doesn't add any maintenance cost to oe-core and makes recipe upgrades easier (no need to wait for .bbappend renames ready for meta-oe).
--- .../xorg-lib/libxcomposite_0.4.3.bb | 1 + .../recipes-graphics/xorg-lib/libxcursor_1.1.13.bb | 1 + meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb | 1 + meta/recipes-graphics/xorg-lib/libxfixes_5.0.bb | 2 +- meta/recipes-graphics/xorg-lib/libxrandr_1.3.2.bb | 2 +- .../xorg-proto/compositeproto_0.4.2.bb | 1 + .../xorg-proto/damageproto_1.2.1.bb | 1 + meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb | 2 +- .../xorg-proto/randrproto_1.3.2.bb | 2 +- 9 files changed, 9 insertions(+), 4 deletions(-)
meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb +1 -0
@@ -16,6 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3f2907aad541f6f226fbc58cc1b3cdf1" DEPENDS += " compositeproto virtual/libx11 libxfixes libxext" PROVIDES = "xcomposite" +BBCLASSEXTEND = "native" PE = "1" PR = "r0"
meta/recipes-graphics/xorg-lib/libxcursor_1.1.13.bb +1 -0
@@ -12,6 +12,7 @@ LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=8902e6643f7bcd7793b23dcd5d8031a4" DEPENDS += "libxrender libxfixes" +BBCLASSEXTEND = "native" PR = "r0" PE = "1"
meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb +1 -0
@@ -18,6 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9fe101f30dd24134cf43146863241868" DEPENDS += "virtual/libx11 damageproto libxfixes" PROVIDES = "xdamage" +BBCLASSEXTEND = "native" PR = "r1" PE = "1"
meta/recipes-graphics/xorg-lib/libxfixes_5.0.bb +1 -1
@@ -17,7 +17,7 @@ PE = "1" XORG_PN = "libXfixes" -BBCLASSEXTEND = "nativesdk" +BBCLASSEXTEND = "native nativesdk" SRC_URI[md5sum] = "678071bd7f9f7467e2fc712d81022318" SRC_URI[sha256sum] = "537a2446129242737a35db40081be4bbcc126e56c03bf5f2b142b10a79cda2e3"
meta/recipes-graphics/xorg-lib/libxrandr_1.3.2.bb +1 -1
@@ -18,7 +18,7 @@ PE = "1" XORG_PN = "libXrandr" -BBCLASSEXTEND = "nativesdk" +BBCLASSEXTEND = "native nativesdk" SRC_URI[md5sum] = "92473da2fccf5fac665be4fa4f2037fa" SRC_URI[sha256sum] = "7eaca216ab5233d7396119eb87c1989d350a3efead104d54b55f22cdd1d99b81"
meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb +1 -0
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2c4bfe136f4a4418ea2f2a96b7c8f3c5 \ file://composite.h;endline=43;md5=cbd44d4079053aa75930ed2f02b92926" CONFLICTS = "compositeext" +BBCLASSEXTEND = "native" PR = "r0" PE = "1"
meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb +1 -0
@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d5f5a2de65c3a84cbde769f07a769608 \ file://damagewire.h;endline=23;md5=4a4501a592dbc7de5ce89255e50d0296" CONFLICTS = "damageext" +BBCLASSEXTEND = "native" PR = "r0" PE = "1"
meta/recipes-graphics/xorg-proto/fixesproto_5.0.bb +1 -1
@@ -16,7 +16,7 @@ CONFLICTS = "fixesext" PR = "r0" PE = "1" -BBCLASSEXTEND = "nativesdk" +BBCLASSEXTEND = "native nativesdk" SRC_URI[md5sum] = "e7431ab84d37b2678af71e29355e101d" SRC_URI[sha256sum] = "ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce"
meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb +1 -1
@@ -14,7 +14,7 @@ CONFLICTS = "randrext" PR = "r0" PE = "1" -BBCLASSEXTEND = "nativesdk" +BBCLASSEXTEND = "native nativesdk" SRC_URI[md5sum] = "597491c0d8055e2a66f11350c4985775" SRC_URI[sha256sum] = "d90d00612cc49292bd8d9dc19efb1c9187385fbe87590d7279a02e5e1066dc71"
Signature · 1 line
1.7.8.5
PATCH 6/13 gtk+: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-gnome/gtk+/gtk+.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +4 -0
@@ -23,6 +23,9 @@ PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" PACKAGECONFIG[gtk-directfb] = "--with-gdktarget=directfb,,directfb" +BBCLASSEXTEND = "native" +EXTRA_OECONF_virtclass-native += "--disable-introspection" + inherit autotools pkgconfig PACKAGES += "libgail gtk-demo"
@@ -65,6 +68,7 @@ GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1" RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}" RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}" +RRECOMMENDS_${PN}_virtclass-native = "" do_install () { autotools_do_install
Signature · 1 line
1.7.8.5
Re: [PATCH 06/13] gtk+: import native support from meta-oe
Quoted 4 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-gnome/gtk+/gtk+.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
I really don't like the message having a gtk+-native around sends out. Why do we need this?
Cheers,
Richard
Re: [PATCH 06/13] gtk+: import native support from meta-oe
Quoted 8 lines · Richard Purdie
Quoted 4 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-gnome/gtk+/gtk+.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)I really don't like the message having a gtk+-native around sends out. Why do we need this?
See cover letter if you haven't already.
Quoted 10 lines
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Re: [PATCH 06/13] gtk+: import native support from meta-oe
Quoted 11 lines · Martin Jansa
Quoted 8 lines · Richard Purdie
Quoted 4 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-gnome/gtk+/gtk+.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)I really don't like the message having a gtk+-native around sends out. Why do we need this?
See cover letter if you haven't already.
Sorry, I'd looked at it but I'd missed the key bit. I think I thought the URL was a pull URL and my eyes skimmed it.
To be honest I don't think the update-icon-cache is good enough reason to build a full gtk+-native. If we let these pieces in the dependencies have a tendency to grow and people have no incentive to try and fix these issues.
I'd like to better understand why there is no other way to avoid this.
Cheers,
Richard
Re: [PATCH 06/13] gtk+: import native support from meta-oe
Quoted 8 lines · Richard Purdie
Quoted 7 lines · Martin Jansa
Quoted 6 lines · Richard Purdie
Quoted 4 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-gnome/gtk+/gtk+.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
I really don't like the message having a gtk+-native around sends out. Why do we need this?
See cover letter if you haven't already.
Sorry, I'd looked at it but I'd missed the key bit. I think I thought the URL was a pull URL and my eyes skimmed it.
No problem,
Quoted 4 lines
To be honest I don't think the update-icon-cache is good enough reason to build a full gtk+-native. If we let these pieces in the dependencies have a tendency to grow and people have no incentive to try and fix these issues.
Well agreed, but most of those natives are needed for librsvg-native which in turn is used in navit build to generate icons (which I can hardly replace with something thiner then librsvg and using e.g. autodetected ksvgtopng from host is even worse for reproducible builds).
So for minimal gtk+-native I only need libx11-native and libxrander-native, but the problem is that PACKAGECONFIG without that fix ignores all -native depends and with fix it correctly adds -native to all non-native deps added by PACKAGECONFIG
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-March/019348.html
Quoted 1 line
I'd like to better understand why there is no other way to avoid this.
I can look into gtk+3 build what else we need to provide to be able to build without --enable-gtk2-dependency or how to disable update-icon-cache during build so that people with gtk+ installed on host and without get the same result package, but I'm not really interested in gtk+3 so I was just fixing another build failure :/ so it can take some time...
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Re: [PATCH 06/13] gtk+: import native support from meta-oe
Quoted 24 lines · Martin Jansa
Quoted 8 lines · Richard Purdie
Quoted 7 lines · Martin Jansa
Quoted 6 lines · Richard Purdie
Quoted 4 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-gnome/gtk+/gtk+.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
I really don't like the message having a gtk+-native around sends out. Why do we need this?
See cover letter if you haven't already.
Sorry, I'd looked at it but I'd missed the key bit. I think I thought the URL was a pull URL and my eyes skimmed it.
No problem,
Quoted 4 lines
To be honest I don't think the update-icon-cache is good enough reason to build a full gtk+-native. If we let these pieces in the dependencies have a tendency to grow and people have no incentive to try and fix these issues.
Quoted 4 lines
Well agreed, but most of those natives are needed for librsvg-native which in turn is used in navit build to generate icons (which I can hardly replace with something thiner then librsvg and using e.g. autodetected ksvgtopng from host is even worse for reproducible builds).
librsvg-native I don't mind as much, I'm ok with taking those patches.
Quoted 5 lines
So for minimal gtk+-native I only need libx11-native and libxrander-native, but the problem is that PACKAGECONFIG without that fix ignores all -native depends and with fix it correctly adds -native to all non-native deps added by PACKAGECONFIG
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-March/019348.html
Right, I'm aware of that issue and sorry for not responding yet. Basically, I wanted to do some proper patch review and write a reasonable response to it and I've been lacking the time to do so.
Firstly, I agree we need to fix it there is no question of that. The patch moving everything to base.bbclass concerns me though, not least as it undoes a lot of the work I've been trying to do with regard to abstracting the bbclassextend code into lib/oe/*.py. I therefore think an alternative approach is going to be needed but I've not managed to come up with that yet :(.
Quoted 8 lines
Quoted 1 line
I'd like to better understand why there is no other way to avoid this.
I can look into gtk+3 build what else we need to provide to be able to build without --enable-gtk2-dependency or how to disable update-icon-cache during build so that people with gtk+ installed on host and without get the same result package, but I'm not really interested in gtk+3 so I was just fixing another build failure :/ so it can take some time...
This is one case I think we need to do the right thing and not take short cuts. I don't mind the extends for librsvg-native but I don't want to take gtk+-native or pango-native and any of the the dependencies only they need.
I also agree we need to fix PACKAGECONFIG but I don't like the direction the patch takes and haven't had time to come up with an alternative. I wish I had more time and was able to give a better reply.
Cheers,
Richard
Re: [PATCH 06/13] gtk+: import native support from meta-oe
Quoted 42 lines · Richard Purdie
Quoted 24 lines · Martin Jansa
Quoted 8 lines · Richard Purdie
Quoted 7 lines · Martin Jansa
Quoted 6 lines · Richard Purdie
Quoted 4 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-gnome/gtk+/gtk+.inc | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
I really don't like the message having a gtk+-native around sends out. Why do we need this?
See cover letter if you haven't already.
Sorry, I'd looked at it but I'd missed the key bit. I think I thought the URL was a pull URL and my eyes skimmed it.
No problem,
Quoted 4 lines
To be honest I don't think the update-icon-cache is good enough reason to build a full gtk+-native. If we let these pieces in the dependencies have a tendency to grow and people have no incentive to try and fix these issues.
Quoted 4 lines
Well agreed, but most of those natives are needed for librsvg-native which in turn is used in navit build to generate icons (which I can hardly replace with something thiner then librsvg and using e.g. autodetected ksvgtopng from host is even worse for reproducible builds).
librsvg-native I don't mind as much, I'm ok with taking those patches.
Quoted 5 lines
So for minimal gtk+-native I only need libx11-native and libxrander-native, but the problem is that PACKAGECONFIG without that fix ignores all -native depends and with fix it correctly adds -native to all non-native deps added by PACKAGECONFIG
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-March/019348.htmlRight, I'm aware of that issue and sorry for not responding yet. Basically, I wanted to do some proper patch review and write a reasonable response to it and I've been lacking the time to do so.
Quoted 6 lines
Firstly, I agree we need to fix it there is no question of that. The patch moving everything to base.bbclass concerns me though, not least as it undoes a lot of the work I've been trying to do with regard to abstracting the bbclassextend code into
lib/oe/*.py. I therefore think an alternative approach is going to be needed but I've not managed to come up with that yet :(.
Ah I haven't noticed lib/oe/classextend.py, well because it's not used in native/nativesdk handler only in multilib.
Quoted 9 lines
Quoted 8 lines
Quoted 1 line
I'd like to better understand why there is no other way to avoid this.
I can look into gtk+3 build what else we need to provide to be able to build without --enable-gtk2-dependency or how to disable update-icon-cache during build so that people with gtk+ installed on host and without get the same result package, but I'm not really interested in gtk+3 so I was just fixing another build failure :/ so it can take some time...
Quoted 8 lines
This is one case I think we need to do the right thing and not take short cuts. I don't mind the extends for librsvg-native but I don't want to take gtk+-native or pango-native and any of the the dependencies only they need.
I also agree we need to fix PACKAGECONFIG but I don't like the direction the patch takes and haven't had time to come up with an alternative. I wish I had more time and was able to give a better reply.
OK I'll keep this locally to keep gtk+-native building (it's nicer than
http://git.openembedded.org/meta-openembedded-contrib/commit/?h=shr&id=91890091cabbfe40705838ac787be898bae37805
work around) till you come up with better alternative.
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
PATCH 7/13 librsvg: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-gnome/librsvg/librsvg_2.32.1.bb | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
meta/recipes-gnome/librsvg/librsvg_2.32.1.bb +2 -0
@@ -8,6 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ SECTION = "x11/utils" DEPENDS = "gtk+ libcroco cairo libxml2 popt" +DEPENDS_virtclass-native = "cairo-native pango-native gdk-pixbuf-native" +BBCLASSEXTEND = "native" PR = "r5"
Signature · 1 line
1.7.8.5
PATCH 8/13 pixman: add native support and perl-native to DEPENDS from meta-oe
In reply to Martin Jansa--- meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb +2 -1
@@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ file://pixman/pixman-matrix.c;endline=25;md5=ba6e8769bfaaee2c41698755af04c4be \ file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \ " -DEPENDS += "zlib libpng" +DEPENDS += "zlib libpng perl-native" +BBCLASSEXTEND = "native" PE = "1"
Signature · 1 line
1.7.8.5
PATCH 9/13 cairo: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-graphics/cairo/cairo.inc | 1 + meta/recipes-graphics/cairo/cairo_1.10.2.bb | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-graphics/cairo/cairo.inc +1 -0
@@ -16,6 +16,7 @@ PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'gtk-directfb', 'gtk-directfb', '', d)}" PACKAGECONFIG[x11] = "--with-x=yes,--without-x,${X11DEPENDS}" PACKAGECONFIG[gtk-directfb] = "--enable-directfb=yes,,directfb" +BBCLASSEXTEND = "native" #check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points require cairo-fpu.inc
meta/recipes-graphics/cairo/cairo_1.10.2.bb +1 -1
@@ -2,7 +2,7 @@ require cairo.inc LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" -PR = "r5" +PR = "r6" SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
Signature · 1 line
1.7.8.5
PATCH 10/13 tiff: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-multimedia/libtiff/tiff_4.0.1.bb | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
meta/recipes-multimedia/libtiff/tiff_4.0.1.bb +1 -0
@@ -3,6 +3,7 @@ LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf" HOMEPAGE = "http://www.remotesensing.org/libtiff/" DEPENDS = "zlib jpeg lzo" +BBCLASSEXTEND = "native" PR = "r0" SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \
Signature · 1 line
1.7.8.5
PATCH 11/13 libusb*: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 +++++-- meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-)
meta/recipes-support/libusb/libusb-compat_0.1.3.bb +5 -2
@@ -13,9 +13,12 @@ DEPENDS = "libusb1" # Besides, libusb-0.1 uses a per 1ms polling that hurts a lot to power # consumption. PROVIDES = "libusb" +PROVIDES += "virtual/libusb0" +PROVIDES_virtclass-native += "virtual/libusb0-native" +BBCLASSEXTEND = "native nativesdk" PE = "1" -PR = "r4" +PR = "r5" SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-${PV}.tar.bz2 \ file://0.1.0-beta1-gcc3.4-fix.patch"
@@ -23,7 +26,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-${PV}.tar.bz2 \ SRC_URI[md5sum] = "570ac2ea085b80d1f74ddc7c6a93c0eb" SRC_URI[sha256sum] = "a590a03b6188030ee1ca1a0af55685fcde005ca807b963970f839be776031d94" -inherit autotools pkgconfig binconfig +inherit autotools pkgconfig binconfig lib_package EXTRA_OECONF = "--libdir=${base_libdir}"
meta/recipes-support/libusb/libusb1_1.0.8.bb +2 -0
@@ -6,6 +6,8 @@ SECTION = "libs" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +BBCLASSEXTEND = "native nativesdk" + PR = "r4" SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.bz2"
Signature · 1 line
1.7.8.5
PATCH 12/13 pango: import native support and --disable-introspection from meta-oe
In reply to Martin Jansa* see http://git.openembedded.org/meta-openembedded/commit/?id=3f4c8edc60b3426dd96f76504169d742a04c1ce1
for details about --disable-introspection
--- meta/recipes-graphics/pango/pango.inc | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
meta/recipes-graphics/pango/pango.inc +3 -0
@@ -15,6 +15,8 @@ DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv gtk-doc-native cai PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}" +BBCLASSEXTEND = "native" +DEPENDS_virtclass-native = "glib-2.0-native cairo-native" PACKAGES_DYNAMIC = "pango-module-*"
@@ -33,6 +35,7 @@ EXTRA_AUTORECONF = "" FULL_OPTIMIZATION_arm = "-O2" EXTRA_OECONF = "--disable-glibtest \ + --disable-introspection \ --enable-explicit-deps=no \ --disable-debug"
Signature · 1 line
1.7.8.5
PATCH 13/13 rootfs_ipk: replace 3 opkg-cl calls with one in get_package_filename
In reply to Martin Jansa* || true is needed for cases where grep doesn't find anything
* and quotes around info are needed to keep line breaks
--- meta/classes/rootfs_ipk.bbclass | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
meta/classes/rootfs_ipk.bbclass +4 -3
@@ -127,9 +127,10 @@ list_installed_packages() { } get_package_filename() { - name=`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" | awk '/^Package/ {printf $2"_"}'` - name=$name`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" | awk -F: '/^Version/ {printf $NF"_"}' | sed 's/^\s*//g'` - name=$name`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" | awk '/^Archi/ {print $2".ipk"}'` + info=`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" || true` + name=`echo "${info}" | awk '/^Package/ {printf $2"_"}'` + name=$name`echo "${info}" | awk -F: '/^Version/ {printf $NF"_"}' | sed 's/^\s*//g'` + name=$name`echo "${info}" | awk '/^Archi/ {print $2".ipk"}'` fullname=`find ${DEPLOY_DIR_IPK} -name "$name" || true` if [ "$fullname" = "" ] ; then
Signature · 1 line
1.7.8.5
cover Merge native BBCLASSEXTENDs and SDK fix
In reply to Martin JansaV2: removes 3 patches from original patchset because of RPs feedback
[oe-core][PATCH 04/13] base.bbclass: extract *virtclass_map_dependencies logic from native/nativesdk bbclasses and call it f [oe-core][PATCH 05/13] xorg: add more native BBCLASSEXTENDs for gtk+-native
[oe-core][PATCH 06/13] gtk+: import native support from meta-oe
pango-native is not nice, but retested today on RP's request and it's really mandatory dependency of librsvg (pangoft2 dependency is dropped in newer librsvg versions, but pangocairo is mandatory in all).
The following changes since commit 7ad7c837bac0cd086098be0d7cdf5cd8388a8696:
taglib: Refresh patch after recent accidental breakage (2012-03-23 18:30:45 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib jansa/pull
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/pull
Denis 'GNUtoo' Carikli (2):
xev: move from meta-demoapps
classes: scons: add EXTRA_OESCONS
Martin Jansa (8):
bitbake.conf: use TUNE_PKGARCH instead of TARGET_ARCH in SDK_NAME
librsvg: import native support from meta-oe
pixman: add native support and perl-native to DEPENDS from meta-oe
cairo: import native support from meta-oe
tiff: import native support from meta-oe
libusb*: import native support from meta-oe
pango: import native support and --disable-introspection from meta-oe
rootfs_ipk: replace 3 opkg-cl calls with one in get_package_filename
.../recipes-graphics/xorg-app/xev_1.0.3.bb | 7 -------
meta/classes/rootfs_ipk.bbclass | 7 ++++---
meta/classes/scons.bbclass | 6 ++++--
meta/conf/bitbake.conf | 4 ++--
meta/recipes-gnome/librsvg/librsvg_2.32.1.bb | 2 ++
meta/recipes-graphics/cairo/cairo.inc | 1 +
meta/recipes-graphics/cairo/cairo_1.10.2.bb | 2 +-
meta/recipes-graphics/pango/pango.inc | 3 +++
.../recipes-graphics/xorg-app/xev/diet-x11.patch | 0
meta/recipes-graphics/xorg-app/xev_1.0.3.bb | 10 ++++++++++
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb | 3 ++-
meta/recipes-multimedia/libtiff/tiff_4.0.1.bb | 1 +
meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 +++++--
meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 ++
14 files changed, 37 insertions(+), 18 deletions(-)
delete mode 100644 meta-demoapps/recipes-graphics/xorg-app/xev_1.0.3.bb
rename {meta-demoapps => meta}/recipes-graphics/xorg-app/xev/diet-x11.patch (100%)
create mode 100644 meta/recipes-graphics/xorg-app/xev_1.0.3.bbSignature · 1 line
1.7.8.5
PATCH 1/10 bitbake.conf: use TUNE_PKGARCH instead of TARGET_ARCH in SDK_NAME
* also use weak assignment for SDK_NAME_PREFIX as suggested by khem
* TUNE_PKGARCH is not 100% right too, because such SDK image usually has few machine specific packages included (e.g. base-files, securetty, opkg configs) but those are not important for SDK users so it's better to have one SDK for whole e.g. armv7a-vfp-neon then 6 SDK for each machine which would work the same.
You can see diff between crespo and om-gta04 SDK here:
http://build.shr-project.org/shr-core/sdk/oecore-i686-armv7a-vfp-neon-toolchain-efl-crespo-om-gta04.diff
--- meta/conf/bitbake.conf | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/conf/bitbake.conf +2 -2
@@ -366,8 +366,8 @@ PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}" # SDK variables, ################################################################## -SDK_NAME_PREFIX = "oecore" -SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TARGET_ARCH}" +SDK_NAME_PREFIX ?= "oecore" +SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}" SDKPATH = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}" SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
Signature · 1 line
1.7.8.5
PATCH 2/10 xev: move from meta-demoapps
From: Denis 'GNUtoo' Carikli <[email protected]>
* The location where xev was located didn't contain xorg-app-common.inc, but still xev requires it. So moving it fixes that issue.
* File checksums and License checksums were also added.
---
.../recipes-graphics/xorg-app/xev_1.0.3.bb | 7 -------
.../recipes-graphics/xorg-app/xev/diet-x11.patch | 0
meta/recipes-graphics/xorg-app/xev_1.0.3.bb | 10 ++++++++++
3 files changed, 10 insertions(+), 7 deletions(-)
delete mode 100644 meta-demoapps/recipes-graphics/xorg-app/xev_1.0.3.bb
rename {meta-demoapps => meta}/recipes-graphics/xorg-app/xev/diet-x11.patch (100%)
create mode 100644 meta/recipes-graphics/xorg-app/xev_1.0.3.bbmeta-demoapps/recipes-graphics/xorg-app/xev_1.0.3.bb deleted +0 -7
@@ -1,7 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "X Event Viewer" -LICENSE = "MIT" -PE = "1" - -SRC_URI += "file://diet-x11.patch;patch=1"
meta/recipes-graphics/xorg-app/xev/diet-x11.patch renamed from meta-demoapps/recipes-graphics/xorg-app/xev/diet-x11.patch +0 -0
meta/recipes-graphics/xorg-app/xev_1.0.3.bb new file +10 -0
@@ -0,0 +1,10 @@ +require xorg-app-common.inc +LIC_FILES_CHKSUM = "file://xev.c;startline=0;endline=35;md5=db2e69260ca64f1d332efa6ab4b7e2b5" +DESCRIPTION = "X Event Viewer" +LICENSE = "MIT" +PE = "1" + +SRC_URI += "file://diet-x11.patch" + +SRC_URI[md5sum] = "a9532c3d1683c99bb5df1895cb3a60b1" +SRC_URI[sha256sum] = "d4ac7ae154ee9733be27a5f55586abb9362c768f5fb8a4fc7fd2645100a9313a"
Signature · 1 line
1.7.8.5
PATCH 3/10 classes: scons: add EXTRA_OESCONS
In reply to Martin JansaFrom: Denis 'GNUtoo' Carikli <[email protected]>
--- meta/classes/scons.bbclass | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
meta/classes/scons.bbclass +4 -2
@@ -1,12 +1,14 @@ DEPENDS += "python-scons-native" +EXTRA_OESCONS ?= "" + scons_do_compile() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} || \ + ${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \ bbfatal "scons build execution failed." } scons_do_install() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} prefix=${D}${prefix} install || \ + ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} prefix=${D}${prefix} install ${EXTRA_OESCONS}|| \ bbfatal "scons install execution failed." }
Signature · 1 line
1.7.8.5
PATCH 4/10 librsvg: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-gnome/librsvg/librsvg_2.32.1.bb | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
meta/recipes-gnome/librsvg/librsvg_2.32.1.bb +2 -0
@@ -8,6 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ SECTION = "x11/utils" DEPENDS = "gtk+ libcroco cairo libxml2 popt" +DEPENDS_virtclass-native = "cairo-native pango-native gdk-pixbuf-native" +BBCLASSEXTEND = "native" PR = "r5"
Signature · 1 line
1.7.8.5
PATCH 5/10 pixman: add native support and perl-native to DEPENDS from meta-oe
In reply to Martin Jansa--- meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb +2 -1
@@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ file://pixman/pixman-matrix.c;endline=25;md5=ba6e8769bfaaee2c41698755af04c4be \ file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \ " -DEPENDS += "zlib libpng" +DEPENDS += "zlib libpng perl-native" +BBCLASSEXTEND = "native" PR = "r1"
Signature · 1 line
1.7.8.5
Re: [PATCHv 05/10] pixman: add native support and perl-native to DEPENDS from meta-oe
Quoted 10 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb +0
-0
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ · line 16
Quoted 6 lines
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb +2
-1@@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ file://pixman/pixman-matrix.c;endline=25;md5=ba6e8769bfaaee2c41698755af04c4be \ file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \ " -DEPENDS += "zlib libpng" +DEPENDS += "zlib libpng perl-native" +BBCLASSEXTEND = "native"
Er, why does this need perl-native? If it really does, the correct way to do this is with "inherit perlnative" and then PATH gets set correctly. I'd prefer not to add that dependency if its not needed though.
Cheers,
Richard
Re: [PATCHv 05/10] pixman: add native support and perl-native to DEPENDS from meta-oe
Quoted 6 lines · Richard Purdie
Quoted 5 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
Quoted 16 lines
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ · line 16
Quoted 11 lines
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb +2
-1@@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ file://pixman/pixman-matrix.c;endline=25;md5=ba6e8769bfaaee2c41698755af04c4be \ file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \ " -DEPENDS += "zlib libpng" +DEPENDS += "zlib libpng perl-native" +BBCLASSEXTEND = "native"Er, why does this need perl-native? If it really does, the correct way to do this is with "inherit perlnative" and then PATH gets set correctly. I'd prefer not to add that dependency if its not needed though.
It was added 2 years ago
http://git.openembedded.org/openembedded/commit/?id=c1993858d847ac17f4bd00655adf5655fd9d2c6c
and it's still mandatory dep:
configure.ac:AC_PATH_PROG(PERL, perl, no)
configure.ac:if test "x$PERL" = xno; then
configure.ac: AC_MSG_ERROR([Perl is required to build pixman.])
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Re: [PATCHv 05/10] pixman: add native support and perl-native to DEPENDS from meta-oe
Quoted 24 lines · Martin Jansa
Quoted 6 lines · Richard Purdie
Quoted 5 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)Quoted 16 lines
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ · line 16
Quoted 11 lines
meta/recipes-graphics/xorg-lib/pixman_0.25.2.bb +2
-1@@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \ file://pixman/pixman-matrix.c;endline=25;md5=ba6e8769bfaaee2c41698755af04c4be \ file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \ " -DEPENDS += "zlib libpng" +DEPENDS += "zlib libpng perl-native" +BBCLASSEXTEND = "native"Er, why does this need perl-native? If it really does, the correct way to do this is with "inherit perlnative" and then PATH gets set correctly. I'd prefer not to add that dependency if its not needed though.
Quoted 7 lines
It was added 2 years ago
http://git.openembedded.org/openembedded/commit/?id=c1993858d847ac17f4bd00655adf5655fd9d2c6cand it's still mandatory dep:
configure.ac:AC_PATH_PROG(PERL, perl, no)
configure.ac:if test "x$PERL" = xno; then
configure.ac:AC_MSG_ERROR([Perl is required to build pixman.])
We do assume plain perl is present on the system we're building on. I'd imagine that perl is good enough for the purposes of building pixman?
We did use to have race conditions around using the host perl which is why we now have perlnative.bbclass. I therefore believe the dependency is unnecessary...
Cheers,
Richard
PATCH 6/10 cairo: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-graphics/cairo/cairo.inc | 1 + meta/recipes-graphics/cairo/cairo_1.10.2.bb | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-graphics/cairo/cairo.inc +1 -0
@@ -16,6 +16,7 @@ PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'gtk-directfb', 'gtk-directfb', '', d)}" PACKAGECONFIG[x11] = "--with-x=yes,--without-x,${X11DEPENDS}" PACKAGECONFIG[gtk-directfb] = "--enable-directfb=yes,,directfb" +BBCLASSEXTEND = "native" #check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points require cairo-fpu.inc
meta/recipes-graphics/cairo/cairo_1.10.2.bb +1 -1
@@ -2,7 +2,7 @@ require cairo.inc LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" -PR = "r5" +PR = "r6" SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
Signature · 1 line
1.7.8.5
PATCH 7/10 tiff: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-multimedia/libtiff/tiff_4.0.1.bb | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
meta/recipes-multimedia/libtiff/tiff_4.0.1.bb +1 -0
@@ -3,6 +3,7 @@ LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf" HOMEPAGE = "http://www.remotesensing.org/libtiff/" DEPENDS = "zlib jpeg lzo" +BBCLASSEXTEND = "native" PR = "r0" SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \
Signature · 1 line
1.7.8.5
PATCH 8/10 libusb*: import native support from meta-oe
In reply to Martin Jansa--- meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 +++++-- meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-)
meta/recipes-support/libusb/libusb-compat_0.1.3.bb +5 -2
@@ -13,9 +13,12 @@ DEPENDS = "libusb1" # Besides, libusb-0.1 uses a per 1ms polling that hurts a lot to power # consumption. PROVIDES = "libusb" +PROVIDES += "virtual/libusb0" +PROVIDES_virtclass-native += "virtual/libusb0-native" +BBCLASSEXTEND = "native nativesdk" PE = "1" -PR = "r4" +PR = "r5" SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-${PV}.tar.bz2 \ file://0.1.0-beta1-gcc3.4-fix.patch"
@@ -23,7 +26,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-${PV}.tar.bz2 \ SRC_URI[md5sum] = "570ac2ea085b80d1f74ddc7c6a93c0eb" SRC_URI[sha256sum] = "a590a03b6188030ee1ca1a0af55685fcde005ca807b963970f839be776031d94" -inherit autotools pkgconfig binconfig +inherit autotools pkgconfig binconfig lib_package EXTRA_OECONF = "--libdir=${base_libdir}"
meta/recipes-support/libusb/libusb1_1.0.8.bb +2 -0
@@ -6,6 +6,8 @@ SECTION = "libs" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +BBCLASSEXTEND = "native nativesdk" + PR = "r4" SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.bz2"
Signature · 1 line
1.7.8.5
Re: [PATCHv 08/10] libusb*: import native support from meta-oe
Quoted 5 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 +++++-- meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-)
Looking at this, it makes no sense. Why does our build system need to be trying to extract information from the *native* system's USB bus?
I can understand pango and cairo for font rendering in something like icons but libusb-native?
Are you really sure we need this and have no other options as I can't see it actually being used...
Looking at the other patches, I'm guessing they're broken without your PACKAGECONFIG change to fix -natives. A goal of this release is to have everything building and working that we ship. These 'simple' BBCLASSEXTENDs are likely going to change that.
I don't really want to spend my weekend trying to fix and then test the PACKAGECONFIG change so I can merge these patches, particular as I've spent most of the week including the evenings just getting things to build. Arguably there could be other PACKAGECONFIG issue already I guess so we probably should fix that before release anyway. With -rc1 on Monday, that will be tricky :(.
Cheers,
Richard
Re: [PATCHv 08/10] libusb*: import native support from meta-oe
Quoted 7 lines · Richard Purdie
Quoted 5 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 +++++-- meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-)
Quoted 5 lines
Looking at this, it makes no sense. Why does our build system need to be trying to extract information from the *native* system's USB bus?
I can understand pango and cairo for font rendering in something like icons but libusb-native?
It's useful e.g. for native tools dfu-util, libftdi, usbpath
Quoted 2 lines
Are you really sure we need this and have no other options as I can't see it actually being used...
Yes we can keep .bbappends with BBCLASSEXTEND = "native" in meta-oe, but my point was that having 2 lines in .bb is less error-prone then renaming .bbappends after version upgrade in oe-core.
Quoted 4 lines
Looking at the other patches, I'm guessing they're broken without your PACKAGECONFIG change to fix -natives. A goal of this release is to have everything building and working that we ship. These 'simple' BBCLASSEXTENDs are likely going to change that.
Those weren't failing for me (maybe just because their native deps are "usually" built before them), gtk+-native was first where I've seen libx11-native and libxrender-native missing in every build from scratch.
And this happens only since gtk+ was improved with PACKAGECONFIG to respect DISTRO_FEAURES.. that's how I've found that bug.
Quoted 6 lines
I don't really want to spend my weekend trying to fix and then test the PACKAGECONFIG change so I can merge these patches, particular as I've spent most of the week including the evenings just getting things to build. Arguably there could be other PACKAGECONFIG issue already I guess so we probably should fix that before release anyway. With -rc1 on Monday, that will be tricky :(.
I don't mind if you merge it after release or whenever. I'm using shr branches anyway.
Maybe it would be usefull to put patches you think are good enough to be merged after release to master-next or somewhere so that people know that some patches are considered generaly OK, but not just before release. Or create named branch for release.
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Re: [PATCHv 08/10] libusb*: import native support from meta-oe
In reply to Martin JansaQuoted 11 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 +++++-- meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-)meta/recipes-support/libusb/libusb-compat_0.1.3.bb +0
-0
meta/recipes-support/libusb/libusb-compat_0.1.3.bb DEPENDS = "libusb1" · line 17
Quoted 5 lines
meta/recipes-support/libusb/libusb-compat_0.1.3.bb +2
-0@@ -13,9 +13,12 @@ DEPENDS = "libusb1" # Besides, libusb-0.1 uses a per 1ms polling that hurts a lot to power # consumption. PROVIDES = "libusb" +PROVIDES += "virtual/libusb0" +PROVIDES_virtclass-native += "virtual/libusb0-native"
Doesn't the -native class extension code handle the above correctly now?
i.e. PROVIDES = "libusb virtual/libusb0"
should be enough?
Cheers,
Richard
Re: [PATCHv 08/10] libusb*: import native support from meta-oe
Quoted 20 lines · Richard Purdie
Quoted 11 lines · Martin Jansa
Signed-off-by Martin Jansa <[email protected]>--- meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 +++++-- meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-)meta/recipes-support/libusb/libusb-compat_0.1.3.bb +0
-0meta/recipes-support/libusb/libusb-compat_0.1.3.bb DEPENDS = "libusb1" · line 17
Quoted 5 lines
meta/recipes-support/libusb/libusb-compat_0.1.3.bb +2
-0@@ -13,9 +13,12 @@ DEPENDS = "libusb1" # Besides, libusb-0.1 uses a per 1ms polling that hurts a lot to power # consumption. PROVIDES = "libusb" +PROVIDES += "virtual/libusb0" +PROVIDES_virtclass-native += "virtual/libusb0-native"Doesn't the -native class extension code handle the above correctly now?
Quoted 3 lines
i.e. PROVIDES = "libusb virtual/libusb0"
should be enough?
Ah right, will simplify that (it's because it was needed in this form in bbappend).
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
PATCH v2 8/10 libusb*: import native support from meta-oe
In reply to Richard Purdie--- meta/recipes-support/libusb/libusb-compat_0.1.3.bb | 7 ++++--- meta/recipes-support/libusb/libusb1_1.0.8.bb | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-)
meta/recipes-support/libusb/libusb-compat_0.1.3.bb +4 -3
@@ -12,10 +12,11 @@ DEPENDS = "libusb1" # so here libusb-0.1 is removed completely instead of adding virtual/libusb0. # Besides, libusb-0.1 uses a per 1ms polling that hurts a lot to power # consumption. -PROVIDES = "libusb" +PROVIDES = "libusb virtual/libusb0" +BBCLASSEXTEND = "native nativesdk" PE = "1" -PR = "r4" +PR = "r5" SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-${PV}.tar.bz2 \ file://0.1.0-beta1-gcc3.4-fix.patch"
@@ -23,7 +24,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-${PV}.tar.bz2 \ SRC_URI[md5sum] = "570ac2ea085b80d1f74ddc7c6a93c0eb" SRC_URI[sha256sum] = "a590a03b6188030ee1ca1a0af55685fcde005ca807b963970f839be776031d94" -inherit autotools pkgconfig binconfig +inherit autotools pkgconfig binconfig lib_package EXTRA_OECONF = "--libdir=${base_libdir}"
meta/recipes-support/libusb/libusb1_1.0.8.bb +2 -0
@@ -6,6 +6,8 @@ SECTION = "libs" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +BBCLASSEXTEND = "native nativesdk" + PR = "r4" SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.bz2"
Signature · 1 line
1.7.8.5
PATCH 9/10 pango: import native support and --disable-introspection from meta-oe
In reply to Martin Jansa* see http://git.openembedded.org/meta-openembedded/commit/?id=3f4c8edc60b3426dd96f76504169d742a04c1ce1
for details about --disable-introspection
--- meta/recipes-graphics/pango/pango.inc | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
meta/recipes-graphics/pango/pango.inc +3 -0
@@ -15,6 +15,8 @@ DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv gtk-doc-native cai PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}" +BBCLASSEXTEND = "native" +DEPENDS_virtclass-native = "glib-2.0-native cairo-native" PACKAGES_DYNAMIC = "pango-module-*"
@@ -33,6 +35,7 @@ EXTRA_AUTORECONF = "" FULL_OPTIMIZATION_arm = "-O2" EXTRA_OECONF = "--disable-glibtest \ + --disable-introspection \ --enable-explicit-deps=no \ --disable-debug"
Signature · 1 line
1.7.8.5
PATCH 10/10 rootfs_ipk: replace 3 opkg-cl calls with one in get_package_filename
In reply to Martin Jansa* || true is needed for cases where grep doesn't find anything
* and quotes around info are needed to keep line breaks
--- meta/classes/rootfs_ipk.bbclass | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
meta/classes/rootfs_ipk.bbclass +4 -3
@@ -127,9 +127,10 @@ list_installed_packages() { } get_package_filename() { - name=`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" | awk '/^Package/ {printf $2"_"}'` - name=$name`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" | awk -F: '/^Version/ {printf $NF"_"}' | sed 's/^\s*//g'` - name=$name`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" | awk '/^Archi/ {print $2".ipk"}'` + info=`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* \(\(installed\)\|\(unpacked\)\)" || true` + name=`echo "${info}" | awk '/^Package/ {printf $2"_"}'` + name=$name`echo "${info}" | awk -F: '/^Version/ {printf $NF"_"}' | sed 's/^\s*//g'` + name=$name`echo "${info}" | awk '/^Archi/ {print $2".ipk"}'` fullname=`find ${DEPLOY_DIR_IPK} -name "$name" || true` if [ "$fullname" = "" ] ; then
Signature · 1 line
1.7.8.5