[OE-core] [PATCH] selftest/package: Add package separated debug symbols hardlink test

2018-08-25 Thread Hongxu Jia
Tweak recipe selftest-hardlink
- addition of libexecdir to simulate multiple directories
- add gdb.sh to run gdb from script which is invoked at test time.
- rename `hello' -> `hello1' to workaround name confliction with the one in 
lmbench

Add test_gdb_hardlink_debug to selftest/package
- run a qemu and invoke gdb.sh to gdb binaries of selftest-hardlink
- check gdb to read symbols from separated debug hardlink file
- check debug symbols works correctly

[Test without commit `package.bbclass: only one hardlink of separated debug 
info file in each directory']
2018-08-26 01:27:30,195 - oe-selftest - INFO - test_gdb_hardlink_debug 
(package.PackageTests)
2018-08-26 01:30:29,005 - oe-selftest - INFO - gdbtest /usr/bin/hello1
2018-08-26 01:30:36,539 - oe-selftest - INFO - gdbtest /usr/bin/hello2
2018-08-26 01:30:43,568 - oe-selftest - INFO - gdbtest /usr/libexec/hello3
2018-08-26 01:30:50,157 - oe-selftest - ERROR - No debugging symbols found. GDB 
result:
Reading symbols from /usr/libexec/hello3...(no debugging symbols 
found)...done.^M
(gdb) Function "main" not defined.^M
Make breakpoint pending on future shared library load? (y or [n]) [answered N; 
input not from terminal]^M
(gdb) Starting program: /usr/libexec/hello3 ^M
Hello World!^M
[Inferior 1 (process 320) exited normally]^M
(gdb) The program is not being run.^M
(gdb)
2018-08-26 01:30:51,180 - oe-selftest - INFO -  ... FAIL
2018-08-26 01:30:51,181 - oe-selftest - INFO - Traceback (most recent call 
last):
  File "oe-core/meta/lib/oeqa/selftest/cases/package.py", line 148, in 
test_gdb_hardlink_debug
self.fail('GDB %s failed' % binary)
AssertionError: GDB /usr/libexec/hello3 failed
[Test without commit `package.bbclass: only one hardlink of separated debug 
info file in each directory']

[Test with commit `package.bbclass: only one hardlink of separated debug info 
file in each directory']
2018-08-26 12:40:30,976 - oe-selftest - INFO - test_gdb_hardlink_debug 
(package.PackageTests)
2018-08-26 12:42:15,149 - oe-selftest - INFO - gdbtest /usr/bin/hello1
2018-08-26 12:42:24,064 - oe-selftest - INFO - gdbtest /usr/bin/hello2
2018-08-26 12:42:31,078 - oe-selftest - INFO - gdbtest /usr/libexec/hello3
2018-08-26 12:42:38,646 - oe-selftest - INFO - gdbtest /usr/libexec/hello4
2018-08-26 12:42:46,824 - oe-selftest - INFO -  ... ok
[Test with commit `package.bbclass: only one hardlink of separated debug info 
file in each directory']

Signed-off-by: Hongxu Jia 
---
 .../selftest-hardlink/selftest-hardlink.bb | 22 
 .../selftest-hardlink/selftest-hardlink/gdb.sh |  8 +
 meta/lib/oeqa/selftest/cases/package.py| 39 --
 3 files changed, 61 insertions(+), 8 deletions(-)
 create mode 100755 
meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink/gdb.sh

diff --git a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb 
b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb
index ec330fa..842a977 100644
--- a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb
+++ b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb
@@ -2,19 +2,29 @@ LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
 
 LICENSE = "MIT"
 
-SRC_URI = "file://hello.c"
+SRC_URI = "file://hello.c \
+   file://gdb.sh \
+"
 
 S = "${WORKDIR}"
 
 do_compile () {
-   ${CC} hello.c -o hello ${CFLAGS} ${LDFLAGS}
+   ${CC} hello.c -o hello1 ${CFLAGS} ${LDFLAGS}
 }
 
 do_install () {
install -d ${D}${bindir}
-   install -m 755 hello ${D}${bindir}/hello
-   ln ${D}${bindir}/hello ${D}${bindir}/hello2
-   ln ${D}${bindir}/hello ${D}${bindir}/hello3
-   ln ${D}${bindir}/hello ${D}${bindir}/hello4
+   install -m 755 ${WORKDIR}/gdb.sh ${D}${bindir}/
+   install -m 755 hello1 ${D}${bindir}/hello1
+   ln ${D}${bindir}/hello1 ${D}${bindir}/hello2
+
+   install -d ${D}${libexecdir}
+   ln ${D}${bindir}/hello1 ${D}${libexecdir}/hello3
+   ln ${D}${bindir}/hello1 ${D}${libexecdir}/hello4
+
dd if=/dev/zero of=${D}${bindir}/sparsetest bs=1 count=0 seek=1M
 }
+
+RDEPENDS_${PN}-gdb += "gdb"
+PACKAGES =+ "${PN}-gdb"
+FILES_${PN}-gdb = "${bindir}/gdb.sh"
diff --git 
a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink/gdb.sh 
b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink/gdb.sh
new file mode 100755
index 000..f6417d5
--- /dev/null
+++ b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink/gdb.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+gdb -q $1  <<'EOF'
+b main
+r
+c
+q
+EOF
+echo ""
diff --git a/meta/lib/oeqa/selftest/cases/package.py 
b/meta/lib/oeqa/selftest/cases/package.py
index ee6430a..0a88dc2 100644
--- a/meta/lib/oeqa/selftest/cases/package.py
+++ b/meta/lib/oeqa/selftest/cases/package.py
@@ -1,6 +1,6 @@
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.core.decorator.oeid import OETestID
-from oeqa.utils.commands import bitbake, get_bb_vars, 

Re: [OE-core] [PATCH 3/5] update_font_cache: update script for multilib

2018-08-25 Thread Kang Kai

On 2018年08月26日 01:38, Alexander Kanavin wrote:

2018-08-25 19:13 GMT+02:00 Kai Kang :

Packages which inherit fontcache.bbclass call postinstall script
update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache
by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo
will call ${bindir}/fc-cache and one of them will fail to run obviously.

Do other postinst-intercept scripts need similar fixing?


The fix is from update_gio_module_cache, but I missed 
update_gtk_immodules_cache and others are ok.

I'll update update_gtk_immodules_cache.

Thanks,
Kai



Alex



--
Regards,
Neil | Kai Kang

--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 3/5] update_font_cache: update script for multilib

2018-08-25 Thread Alexander Kanavin
2018-08-25 19:13 GMT+02:00 Kai Kang :
> Packages which inherit fontcache.bbclass call postinstall script
> update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache
> by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo
> will call ${bindir}/fc-cache and one of them will fail to run obviously.

Do other postinst-intercept scripts need similar fixing?

Alex
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] ✗ patchtest: failure for allarch: disable allarch when multilib is used (rev3)

2018-08-25 Thread Patchwork
== Series Details ==

Series: allarch: disable allarch when multilib is used (rev3)
Revision: 3
URL   : https://patchwork.openembedded.org/series/13457/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue Series does not apply on top of target branch 
[test_series_merge_on_head] 
  Suggested fixRebase your series on top of targeted branch
  Targeted branch  master (currently at 0791c4d39e)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Guidelines: 
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 5/5] multilib: fix install file conflicts

2018-08-25 Thread Kai Kang
Fix install files conflicts between multlib packages:

| Error: Transaction check error:
|   file /usr/bin/g-ir-annotation-tool conflicts between attempted installs of 
lib32-gobject-introspection-1.56.1-r0.x86 and 
gobject-introspection-1.56.1-r0.core2_64
|   file /usr/bin/g-ir-scanner conflicts between attempted installs of 
lib32-gobject-introspection-1.56.1-r0.x86 and 
gobject-introspection-1.56.1-r0.core2_64
|   file /usr/bin/cairo-trace conflicts between attempted installs of 
lib32-libcairo-perf-utils-1.14.12-r0.x86 and 
libcairo-perf-utils-1.14.12-r0.core2_64
|   file /usr/bin/icu-config conflicts between attempted installs of 
lib32-icu-dev-62.1-r0.x86 and icu-dev-62.1-r0.core2_64
|   file /usr/share/gir-1.0/GLib-2.0.gir conflicts between attempted installs 
of gobject-introspection-dev-1.56.1-r0.core2_64 and 
lib32-gobject-introspection-dev-1.56.1-r0.x86
|   file /usr/bin/gpgrt-config conflicts between attempted installs of 
lib32-libgpg-error-dev-1.32-r0.x86 and libgpg-error-dev-1.32-r0.core2_64
|   file /usr/share/pkgconfig/udev.pc conflicts between attempted installs of 
eudev-dev-3.2.5-r0.core2_64 and lib32-eudev-dev-3.2.5-r0.x86

Signed-off-by: Kai Kang 
---
 meta/recipes-core/udev/eudev_3.2.5.bb   | 6 --
 .../gobject-introspection/gobject-introspection_1.56.1.bb   | 6 --
 meta/recipes-graphics/cairo/cairo.inc   | 4 +++-
 meta/recipes-graphics/cairo/cairo_1.14.12.bb| 2 +-
 meta/recipes-support/icu/icu.inc| 4 +++-
 meta/recipes-support/libgpg-error/libgpg-error_1.32.bb  | 5 -
 6 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/meta/recipes-core/udev/eudev_3.2.5.bb 
b/meta/recipes-core/udev/eudev_3.2.5.bb
index 75617c8d4ec..75130f03efd 100644
--- a/meta/recipes-core/udev/eudev_3.2.5.bb
+++ b/meta/recipes-core/udev/eudev_3.2.5.bb
@@ -23,7 +23,9 @@ SRC_URI = 
"http://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \
 SRC_URI[md5sum] = "6ca08c0e14380f87df8e8aceac123671"
 SRC_URI[sha256sum] = 
"49c2d04105cad2526302627e040fa24b1916a9a3e059539bc8bb919b973890af"
 
-inherit autotools update-rc.d qemu pkgconfig distro_features_check
+inherit autotools update-rc.d qemu pkgconfig distro_features_check 
multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-dev:${datadir}/pkgconfig/udev.pc"
 
 CONFLICT_DISTRO_FEATURES = "systemd"
 
@@ -65,7 +67,7 @@ PACKAGES =+ "eudev-hwdb"
 
 
 FILES_${PN} += "${libexecdir} ${base_libdir}/udev ${bindir}/udevadm"
-FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \
+FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc* \
${includedir}/libudev.h ${libdir}/libudev.so \
${includedir}/udev.h ${libdir}/libudev.la \
${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc"
diff --git 
a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb 
b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
index f3479565ea7..887ff580497 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb
@@ -23,7 +23,9 @@ SRC_URI[sha256sum] = 
"5b2875ccff99ff7baab63a34b67f8c920def240e178ff50add809e267d
 
 SRC_URI_append_class-native = " 
file://0001-Relocate-the-repository-directory-for-native-builds.patch"
 
-inherit autotools pkgconfig gtk-doc python3native qemu 
gobject-introspection-data upstream-version-is-even
+inherit autotools pkgconfig gtk-doc python3native qemu 
gobject-introspection-data upstream-version-is-even multilib_script
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool 
${PN}:${bindir}/g-ir-scanner ${PN}-dev:${datadir}/gir-1.0/GLib-2.0.gir"
 
 DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native"
 
@@ -177,7 +179,7 @@ FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib"
 
 # .gir files go to dev package, as they're needed for developing (but not for 
running)
 # things that depends on introspection.
-FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir"
+FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir*"
 FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc"
 
 # These are used by gobject-based packages
diff --git a/meta/recipes-graphics/cairo/cairo.inc 
b/meta/recipes-graphics/cairo/cairo.inc
index 7347f223ff3..0e40fa8198e 100644
--- a/meta/recipes-graphics/cairo/cairo.inc
+++ b/meta/recipes-graphics/cairo/cairo.inc
@@ -39,7 +39,9 @@ EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} \
  --enable-tee \
 "
 
-inherit autotools pkgconfig upstream-version-is-even gtk-doc
+inherit autotools pkgconfig upstream-version-is-even gtk-doc multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-perf-utils:${bindir}/cairo-trace"
 
 # We don't depend on binutils so we need to disable this
 export ac_cv_lib_bfd_bfd_openr="no"
diff --git a/meta/recipes-graphics/cairo/cairo_1.14.12.bb 

[OE-core] [PATCH 3/5] update_font_cache: update script for multilib

2018-08-25 Thread Kai Kang
Packages which inherit fontcache.bbclass call postinstall script
update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache
by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo
will call ${bindir}/fc-cache and one of them will fail to run obviously.

Duplicate install file fc-cache to ${libexecdir} with ${MLPREFIX} and
call proper fc-cache in update_font_cache.

Signed-off-by: Kai Kang 
---
 meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb | 8 +++-
 scripts/postinst-intercepts/update_font_cache | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb 
b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb
index d4cbce80b45..db36c867741 100644
--- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb
+++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb
@@ -35,9 +35,15 @@ do_configure_prepend() {
 rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf
 }
 
+do_install_append_class-target() {
+# duplicate fc-cache for postinstall script
+mkdir -p ${D}${libexecdir}
+cp ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache
+}
+
 PACKAGES =+ "fontconfig-utils"
 FILES_${PN} =+ "${datadir}/xml/*"
-FILES_fontconfig-utils = "${bindir}/*"
+FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*"
 
 # Work around past breakage in debian.bbclass
 RPROVIDES_fontconfig-utils = "libfontconfig-utils"
diff --git a/scripts/postinst-intercepts/update_font_cache 
b/scripts/postinst-intercepts/update_font_cache
index 20e9048adfc..e0ec471964c 100644
--- a/scripts/postinst-intercepts/update_font_cache
+++ b/scripts/postinst-intercepts/update_font_cache
@@ -2,5 +2,5 @@
 
 set -e
 
-PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} 
$D${bindir}/fc-cache --sysroot=$D --system-only ${fontconfigcacheparams}
+PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} 
$D${libexecdir}/${binprefix}fc-cache --sysroot=$D --system-only 
${fontconfigcacheparams}
 chown -R root:root $D${fontconfigcachedir}
-- 
2.11.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 4/5] statetests.py: drop test_sstate_allarch_samesigs_multilib

2018-08-25 Thread Kai Kang
allarch is disabled when multilib is used, so sstate oeqa case
test_sstate_allarch_samesigs_multilib is useless. Remove check for
allarch part and rename to test_sstate_nativesdk_samesigs_multilib.

Signed-off-by: Kai Kang 
---
 meta/lib/oeqa/selftest/cases/sstatetests.py | 11 ++-
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py 
b/meta/lib/oeqa/selftest/cases/sstatetests.py
index 7b008e409f4..7194225c0a6 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -349,12 +349,9 @@ MACHINE = \"qemuarm\"
 self.sstate_allarch_samesigs(configA, configB)
 
 @OETestID(1645)
-def test_sstate_allarch_samesigs_multilib(self):
+def test_sstate_nativesdk_samesigs_multilib(self):
 """
-The sstate checksums of allarch multilib packages should be 
independent of whichever
-MACHINE is set. Check this using bitbake -S.
-Also, rather than duplicate the test, check nativesdk stamps are the 
same between
-the two MACHINE values.
+check nativesdk stamps are the same between the two MACHINE values.
 """
 
 configA = """
@@ -392,10 +389,6 @@ MULTILIBS = \"\"
 (_, task, _, shash) = name.rsplit(".", 3)
 f[os.path.join(os.path.basename(root), task)] = shash
 return f
-files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps/all" + 
self.target_vendor + "-" + self.target_os)
-files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps/all" + 
self.target_vendor + "-" + self.target_os)
-self.maxDiff = None
-self.assertEqual(files1, files2)
 
 nativesdkdir = os.path.basename(glob.glob(self.topdir + 
"/tmp-sstatesamehash/stamps/*-nativesdk*-linux")[0])
 
-- 
2.11.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/5] allarch: disable allarch when multilib is used

2018-08-25 Thread Kai Kang
Some allarch packages rdepends non-allarch packages. When multilib is
used, it doesn't expand the dependency chain correctly, e.g.

core-image-sato -> ca-certificates(allarch) -> openssl

we expect dependency chain for lib32-core-image-sato:

lib32-core-image-sato -> ca-certificates(allarch) -> lib32-openssl

it should install lib32-openssl for ca-certificates but openssl is
still wrongly required.

Copy allarch.bbclass to allarch-enabled.bbclass and only inherit
allarch-enabled.bbclass when multilib is not used.

Signed-off-by: Kai Kang 
---
 meta/classes/allarch-enabled.bbclass | 52 
 meta/classes/allarch.bbclass | 51 ++-
 meta/classes/icecc.bbclass   |  2 +-
 meta/classes/multilib.bbclass|  2 +-
 meta/classes/multilib_global.bbclass |  2 +-
 meta/classes/package.bbclass |  6 ++---
 6 files changed, 60 insertions(+), 55 deletions(-)
 create mode 100644 meta/classes/allarch-enabled.bbclass

diff --git a/meta/classes/allarch-enabled.bbclass 
b/meta/classes/allarch-enabled.bbclass
new file mode 100644
index 000..1eebe0bf2e7
--- /dev/null
+++ b/meta/classes/allarch-enabled.bbclass
@@ -0,0 +1,52 @@
+#
+# This class is used for architecture independent recipes/data files (usually 
scripts)
+#
+
+PACKAGE_ARCH = "all"
+
+python () {
+# Allow this class to be included but overridden - only set
+# the values if we're still "all" package arch.
+if d.getVar("PACKAGE_ARCH") == "all":
+# No need for virtual/libc or a cross compiler
+d.setVar("INHIBIT_DEFAULT_DEPS","1")
+
+# Set these to a common set of values, we shouldn't be using them 
other that for WORKDIR directory
+# naming anyway
+d.setVar("baselib", "lib")
+d.setVar("TARGET_ARCH", "allarch")
+d.setVar("TARGET_OS", "linux")
+d.setVar("TARGET_CC_ARCH", "none")
+d.setVar("TARGET_LD_ARCH", "none")
+d.setVar("TARGET_AS_ARCH", "none")
+d.setVar("TARGET_FPU", "")
+d.setVar("TARGET_PREFIX", "")
+# Expand PACKAGE_EXTRA_ARCHS since the staging code needs this
+# (this removes any dependencies from the hash perspective)
+d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS"))
+d.setVar("SDK_ARCH", "none")
+d.setVar("SDK_CC_ARCH", "none")
+d.setVar("TARGET_CPPFLAGS", "none")
+d.setVar("TARGET_CFLAGS", "none")
+d.setVar("TARGET_CXXFLAGS", "none")
+d.setVar("TARGET_LDFLAGS", "none")
+d.setVar("POPULATESYSROOTDEPS", "")
+
+# Avoid this being unnecessarily different due to nuances of
+# the target machine that aren't important for "all" arch
+# packages.
+d.setVar("LDFLAGS", "")
+
+# No need to do shared library processing or debug symbol handling
+d.setVar("EXCLUDE_FROM_SHLIBS", "1")
+d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1")
+d.setVar("INHIBIT_PACKAGE_STRIP", "1")
+
+# These multilib values shouldn't change allarch packages so exclude 
them
+d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS")
+d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS")
+d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs")
+elif bb.data.inherits_class('packagegroup', d) and not 
bb.data.inherits_class('nativesdk', d):
+bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit 
packagegroup" % d.getVar("FILE"))
+}
+
diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index 1eebe0bf2e7..0eca076df0b 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -1,52 +1,5 @@
 #
-# This class is used for architecture independent recipes/data files (usually 
scripts)
+# This class enables allarch only when multilib is not used.
 #
 
-PACKAGE_ARCH = "all"
-
-python () {
-# Allow this class to be included but overridden - only set
-# the values if we're still "all" package arch.
-if d.getVar("PACKAGE_ARCH") == "all":
-# No need for virtual/libc or a cross compiler
-d.setVar("INHIBIT_DEFAULT_DEPS","1")
-
-# Set these to a common set of values, we shouldn't be using them 
other that for WORKDIR directory
-# naming anyway
-d.setVar("baselib", "lib")
-d.setVar("TARGET_ARCH", "allarch")
-d.setVar("TARGET_OS", "linux")
-d.setVar("TARGET_CC_ARCH", "none")
-d.setVar("TARGET_LD_ARCH", "none")
-d.setVar("TARGET_AS_ARCH", "none")
-d.setVar("TARGET_FPU", "")
-d.setVar("TARGET_PREFIX", "")
-# Expand PACKAGE_EXTRA_ARCHS since the staging code needs this
-# (this removes any dependencies from the hash perspective)
-d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS"))
-d.setVar("SDK_ARCH", "none")
-d.setVar("SDK_CC_ARCH", "none")
-

[OE-core] [PATCH 2/5] sstate.bbclass: update SSTATE_DUPWHITELIST

2018-08-25 Thread Kai Kang
Update SSTATE_DUPWHITELIST in sstate.bbclass.

* remove ${DEPLOY_DIR_RPM}/noarch/ which is not overwritten any more
* add directories for package target-sdk-provides-dummy

Signed-off-by: Kai Kang 
---
 meta/classes/sstate.bbclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index c0e54a398d6..4b940eb48d3 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -25,12 +25,14 @@ PV[vardepvalue] = "${PV}"
 SSTATE_EXTRAPATH[vardepvalue] = ""
 
 # For multilib rpm the allarch packagegroup files can overwrite (in theory 
they're identical)
-SSTATE_DUPWHITELIST = "${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_RPM}/noarch/"
+SSTATE_DUPWHITELIST = "${DEPLOY_DIR}/licenses/"
 # Avoid docbook/sgml catalog warnings for now
 SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml 
${STAGING_DATADIR_NATIVE}/sgml"
 # sdk-provides-dummy-nativesdk and nativesdk-buildtools-perl-dummy overlap for 
different SDKMACHINE
 SSTATE_DUPWHITELIST += "${DEPLOY_DIR_RPM}/sdk_provides_dummy_nativesdk/ 
${DEPLOY_DIR_IPK}/sdk-provides-dummy-nativesdk/"
 SSTATE_DUPWHITELIST += "${DEPLOY_DIR_RPM}/buildtools_dummy_nativesdk/ 
${DEPLOY_DIR_IPK}/buildtools-dummy-nativesdk/"
+# target-sdk-provides-dummy overlaps that allarch is disabled when multilib is 
used
+SSTATE_DUPWHITELIST += "${COMPONENTS_DIR}/sdk-provides-dummy-target/ 
${DEPLOY_DIR_RPM}/sdk_provides_dummy_target/ 
${DEPLOY_DIR_IPK}/sdk-provides-dummy-target/"
 # Archive the sources for many architectures in one deploy folder
 SSTATE_DUPWHITELIST += "${DEPLOY_DIR_SRC}"
 # ovmf/grub-efi/systemd-boot multilib recipes can generate identical 
overlapping files
-- 
2.11.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V3 0/5] allarch: disable allarch when multilib is used

2018-08-25 Thread Kai Kang
V3:
* drop commit "cmake.bbclass: fix wrong toolchain flags of nativesdk package"
  which causes some oe-selftest cases fail
* update postinstall script update_font_cache
* drop oe-selftest case test_sstate_allarch_samesigs_multilib
* fix some install file conflicts

The following changes since commit 491082c56ce34f3fd644f8d4457ccd52af951087:

  poky.conf: Enable security flags+pie by defaultEnable security flags+pie by 
default (2018-08-21 14:52:52 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib kangkai/allarch-enabled-V3
  
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/allarch-enabled-V3

Kai Kang (5):
  allarch: disable allarch when multilib is used
  sstate.bbclass: update SSTATE_DUPWHITELIST
  update_font_cache: update script for multilib
  statetests.py: drop test_sstate_allarch_samesigs_multilib
  multilib: fix install file conflicts

 meta/classes/allarch-enabled.bbclass   | 52 ++
 meta/classes/allarch.bbclass   | 51 +
 meta/classes/icecc.bbclass |  2 +-
 meta/classes/multilib.bbclass  |  2 +-
 meta/classes/multilib_global.bbclass   |  2 +-
 meta/classes/package.bbclass   |  6 +--
 meta/classes/sstate.bbclass|  4 +-
 meta/lib/oeqa/selftest/cases/sstatetests.py| 11 +
 meta/recipes-core/udev/eudev_3.2.5.bb  |  6 ++-
 .../gobject-introspection_1.56.1.bb|  6 ++-
 meta/recipes-graphics/cairo/cairo.inc  |  4 +-
 meta/recipes-graphics/cairo/cairo_1.14.12.bb   |  2 +-
 .../fontconfig/fontconfig_2.12.6.bb|  8 +++-
 meta/recipes-support/icu/icu.inc   |  4 +-
 .../libgpg-error/libgpg-error_1.32.bb  |  5 ++-
 scripts/postinst-intercepts/update_font_cache  |  2 +-
 16 files changed, 92 insertions(+), 75 deletions(-)
 create mode 100644 meta/classes/allarch-enabled.bbclass

-- 
2.11.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] wayland: upgrade to 1.16.0

2018-08-25 Thread Denys Dmytriyenko
From: Denys Dmytriyenko 

Signed-off-by: Denys Dmytriyenko 
---
 .../recipes-graphics/wayland/{wayland_1.15.0.bb => wayland_1.16.0.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-graphics/wayland/{wayland_1.15.0.bb => wayland_1.16.0.bb} 
(92%)

diff --git a/meta/recipes-graphics/wayland/wayland_1.15.0.bb 
b/meta/recipes-graphics/wayland/wayland_1.16.0.bb
similarity index 92%
rename from meta/recipes-graphics/wayland/wayland_1.15.0.bb
rename to meta/recipes-graphics/wayland/wayland_1.16.0.bb
index d037dc4..112ee1a 100644
--- a/meta/recipes-graphics/wayland/wayland_1.15.0.bb
+++ b/meta/recipes-graphics/wayland/wayland_1.16.0.bb
@@ -15,8 +15,8 @@ DEPENDS = "expat libxml2 libffi wayland-native"
 SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
   file://fixpathinpcfiles.patch \
"
-SRC_URI[md5sum] = "b7393c17fdce9a8d383edab656c92fd2"
-SRC_URI[sha256sum] = 
"eb3fbebb8559d56a80ad3753ec3db800f587329067962dbf65e14488b4b7aeb0"
+SRC_URI[md5sum] = "0c215e53de71d6fb26f7102cdc6432d3"
+SRC_URI[sha256sum] = 
"4e72c2b56109ccfb6610d776e465f4ca0af2280c9c2f7d5cc23f0ed2548752f5"
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html;
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/2] weston: upgrade to 5.0.0

2018-08-25 Thread Denys Dmytriyenko
From: Denys Dmytriyenko 

License checksum for compositor.c has changed due to extra copyright line
and year being updated - the license itself hasn't changed.

Signed-off-by: Denys Dmytriyenko 
---
 meta/recipes-graphics/wayland/{weston_4.0.0.bb => weston_5.0.0.bb} | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
 rename meta/recipes-graphics/wayland/{weston_4.0.0.bb => weston_5.0.0.bb} (95%)

diff --git a/meta/recipes-graphics/wayland/weston_4.0.0.bb 
b/meta/recipes-graphics/wayland/weston_5.0.0.bb
similarity index 95%
rename from meta/recipes-graphics/wayland/weston_4.0.0.bb
rename to meta/recipes-graphics/wayland/weston_5.0.0.bb
index 3d192cf..299408b 100644
--- a/meta/recipes-graphics/wayland/weston_4.0.0.bb
+++ b/meta/recipes-graphics/wayland/weston_5.0.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Weston is the reference implementation of a 
Wayland compositor"
 HOMEPAGE = "http://wayland.freedesktop.org;
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
-
file://libweston/compositor.c;endline=26;md5=e342df749174a8ee11065583157c7a38"
+
file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a"
 
 SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
file://weston.png \
@@ -12,8 +12,8 @@ SRC_URI = 
"https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
file://xwayland.weston-start \

file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
 "
-SRC_URI[md5sum] = "33709aa4d5916f89643fca0fc0064b39"
-SRC_URI[sha256sum] = 
"a0fc0ae7ef83dfbed12abfe9b8096a24a7dd00705e86fa0db1e619ded18b4b58"
+SRC_URI[md5sum] = "752a04ce3c65af4884cfac4e57231bdb"
+SRC_URI[sha256sum] = 
"15a23423bcfa45e31e1dedc0cd524ba71e2930df174fde9c99b71a537c4e4caf"
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html;
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [RFC 3/3] linux-firmware: MACHINEOVERRIDES for BCM43430 NVRAM

2018-08-25 Thread Mike Looijmans
I think this should be solved in the driver actually. It probably "knows" 
which variant is there (or could be taught using devicetree or so).


On 24-08-18 11:04, Martin Jansa wrote:

One way to keep it allarch would be to package
${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt
${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt
in 2 separate packages and handle
${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt
symlink with update-alternatives

most MACHINEs won't install either of these packages and those which need it 
will pull the right one (e.g. through MACHINE_EXTRA_RRECOMMENDS).


In worst case someone will try to install both packages and based on u-a 
priority one of them will win (use higher priority for the more common version).


Cheers,

On Fri, Aug 24, 2018 at 4:53 AM Andre McCurdy > wrote:


On Thu, Aug 23, 2018 at 1:15 AM, Ryan Harkin mailto:ryan.har...@linaro.org>> wrote:
 >
 > So now the ln issue is resolved, I'm not convinced my MACHINEOVERRIDES is
 > the correct approach. Does anyone have any feedback on how I can improve
 > that?

If you want to make a configurable symlink then perhaps the more usual
approach would be to just use a variable in the linux-firmware recipe
to weakly define a default target for the symlink. Machine config
files could then either do nothing (ie use the default) or provide
their own value. For example, in the linux-firmware recipe:

   BCM43430_NVRAM_SYMLINK ?= "brcmfmac43430-sdio.AP6212.txt"

   FILES_${PN}-bcm43430-nvram = " \
     ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
     ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt \
     ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt \
   "

   do_install() {
     ...
     ln -sf ${BCM43430_NVRAM_SYMLINK}
${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt
   }

And then in the machine config files of machines which need the MUR1DX
firmware instead of the default, add:

   BCM43430_NVRAM_SYMLINK = "brcmfmac43430-sdio.MUR1DX.txt"

However... note that currently the linux-firmware recipe is
architecture independent (ie it won't be rebuilt if the target is
changed). Adding a machine specific symlink is going to cause problems
with that, so the above is still not a full solution.





--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [Q] "http://sources.openembedded.org" is unavailable

2018-08-25 Thread Martin Jansa
The server which is hosting this is I believe in transit and should be back
online in couple days.

On Sat, Aug 25, 2018 at 10:50 AM Tomohiro Komagata <
tomohiro.komagata...@gmail.com> wrote:

> Hi all,
>
> In this week, I have failed to bitbake,
> because "http://sources.openembedded.org; is unavailable and it occurs
> the fetch error.
>
> Does anyone have any information ?
> When will its server be available ?
>
> Best regards,
> T.Komagata
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [Q] "http://sources.openembedded.org" is unavailable

2018-08-25 Thread Tomohiro Komagata

Hi all,

In this week, I have failed to bitbake,
because "http://sources.openembedded.org; is unavailable and it occurs the 
fetch error.

Does anyone have any information ?
When will its server be available ?

Best regards,
 T.Komagata

--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core