Re: [OE-core] [PATCH 1/2] systemd: upgrade to 239

2018-07-25 Thread ChenQi

On 07/26/2018 07:05 AM, Ricardo Salveti wrote:

On Mon, Jul 16, 2018 at 11:05 PM, Chen Qi  wrote:

Upgrade systemd to 239.

1. Patch Changes
* Rebased Patches
   0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch
   0003-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
   0006-Make-root-s-home-directory-configurable.patch
   0027-remove-nobody-user-group-checking.patch
   0011-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
   0013-add-fallback-parse_printf_format-implementation.patch
   0014-src-basic-missing.h-check-for-missing-strndupa.patch
   0015-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
   0016-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
   0017-Include-netinet-if_ether.h.patch
   0019-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
   0022-don-t-use-glibc-specific-qsort_r.patch
   0024-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
   0026-Use-uintmax_t-for-handling-rlim_t.patch
   0030-fix-missing-of-__register_atfork-for-non-glibc-build.patch
   0031-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
   0001-core-device.c-Change-the-default-device-timeout-to-2.patch
   0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch

* Dropped Patches and Reasons
   0001-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
 This patch is dropped because the problem has been fixed by
 binutils upstream. And this workaround could be dropped.
 https://sourceware.org/bugzilla/show_bug.cgi?id=18548

   0007-Revert-rules-remove-firmware-loading-rules.patch
   0008-Revert-udev-remove-userspace-firmware-loading-suppor.patch
 These two patches are dropped because they are for kernel < 3.7.
 But the current minimal requirement of kernel to build systemd
 is as below.
 REQUIREMENTS:
 Linux kernel >= 3.13
 Linux kernel >= 4.2 for unified cgroup hierarchy support
 So these two patches no long make any sense.
 Also remove non-exist firmware-path option

   0009-remove-duplicate-include-uchar.h.patch
   0010-check-for-uchar.h-in-meson.build.patch
 These two patches are dropped because musl has implemented
 uchar.h. See commit below from musl repo.
 """
 ab9672ae73248f51e30f4553c4b8878525e46383
 implement uchar.h (C11 UTF-16/32 conversion) interfaces
 """

   0018-check-for-missing-canonicalize_file_name.patch
 The above patch is dropped because current systemd does not need
 canonicalize_file_name.

   0025-Define-_PATH_WTMPX-and-_PATH_UTMPX-if-not-defined.patch
 The above patch is dropped because utmp makes no sense in musl.
 Check code below from musl.
 include/utmp.h:#define _PATH_UTMP "/dev/null/utmp"
 And utmp PACKAGECONFIG has been explicitly disabled for musl.
 So we don't need this patch.

   0032-memfd.patch
   0033-basic-macros-rename-noreturn-into-_noreturn_-8456.patch
   libmount.patch
   0034-Fix-format-truncation-compile-failure-by-typecasting.patch
 The above patches are dropped because they are backported patches.
 And current systemd has contained these patches.

   0036-time-util-fix-build-with-gcc8-Werror-format-truncati.patch
 The above patch is dropped because it has been merged and is now
 in new version.

* Newly Added Patch
   0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
 This patch is added to fix build for musl.

   0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
 This patch is added to fix the following error which caused system
 unable to boot up.
   systemd-udevd.service: Failed to adjust OOM setting: Invalid argument
   dbus.service: Failed to adjust OOM setting: Invalid argument

   0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
 This patch is added to fix segment fault error on musl systems.

   0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
 This patch is backported to solve a race condition between
 user-runtime-dir@xxx.service stop and user deletion.

2. PACKAGECONFIG and Dependency Changes
* Add a new PACKAGECONFIG item 'gshadow'. Enable it by default for glibc
   but disable it by default for musl. This is because musl does not provide
   gshadow.h.

* Add a new PACKAGECONFIG item 'portabled'. Default to disable it because
   it's still experimental, according to the announcement letter.
   """
   Currently, the support is still experimental, but this is expected to
   change soon. Reflecting this experimental state, the "portablectl" binary
   is not installed into /usr/bin yet.
   """

* Change 'kmod' from a hard dependency to a PACKAGECONFIG item. Default
   to enable it.

* Change 'acl' from a hard dependency to a PACKAGECONFIG item. Default
   to enable it.

* Remove 'readline' from DEPENDS. systemd does not need it.

* Remove 'libcgroup' from DEPENDS. The dependency on libcgroup has been
   removed from systemd a long time ago. We now remove this unnecessary
   

[OE-core] mdadm: systemd service question

2018-07-25 Thread Zheng, Ruoqin
Hi All: 

I found there is a systemd service file in the source code of mdadm-4.0.
mdadm-4.0/systemd/mdmonitor.service

And why this service was not added into the rpm package?

rpm -qpl deploy-rpms/x86_64/mdadm-4.0-r0.x86_64.rpm
/lib
/lib/udev
/lib/udev/rules.d
/lib/udev/rules.d/63-md-raid-arrays.rules
/lib/udev/rules.d/64-md-raid-assembly.rules
/sbin
/sbin/mdadm
/sbin/mdmon

--
Zheng Ruoqin
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
ADDR.: No.6 Wenzhu Road, Software Avenue,
   Nanjing, 210012, China
MAIL : zhengrq.f...@cn.fujistu.com




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


Re: [OE-core] [PATCH 1/6] oeqa: Add selftest parallelisation support

2018-07-25 Thread Robert Yang

Hi RP,

On 07/17/2018 12:33 AM, Richard Purdie wrote:

This allows oe-selftest to take a -j option which specifies how much test
parallelisation to use. Currently this is "module" based with each module
being split and run in a separate build directory. Further splitting could
be done but this seems a good compromise between test setup and parallelism.

You need python-testtools and python-subunit installed to use this but only
when the -j option is specified.


Should we add python-testtools-native and python-subunit-native, please ?

And add them to TESTIMAGEDEPENDS ?

// Robert



See notes posted to the openedmbedded-architecture list for more details
about the design choices here.

Some of this functionality may make more sense in the oeqa core ultimately.

Signed-off-by: Richard Purdie 
---
  meta/lib/oeqa/core/context.py   |  10 +-
  meta/lib/oeqa/core/runner.py|  24 +-
  meta/lib/oeqa/core/utils/concurrencytest.py | 254 
  meta/lib/oeqa/selftest/context.py   |   8 +-
  4 files changed, 288 insertions(+), 8 deletions(-)
  create mode 100644 meta/lib/oeqa/core/utils/concurrencytest.py

diff --git a/meta/lib/oeqa/core/context.py b/meta/lib/oeqa/core/context.py
index 10481b44b61..8cdfbf834f3 100644
--- a/meta/lib/oeqa/core/context.py
+++ b/meta/lib/oeqa/core/context.py
@@ -58,14 +58,20 @@ class OETestContext(object):
  modules_required, filters)
  self.suites = self.loader.discover()
  
-def runTests(self, skips=[]):

+def runTests(self, processes=None, skips=[]):
  self.runner = self.runnerClass(self, descriptions=False, verbosity=2, 
buffer=True)
  
  # Dinamically skip those tests specified though arguments

  self.skipTests(skips)
  
  self._run_start_time = time.time()

-result = self.runner.run(self.suites)
+if processes:
+from oeqa.core.utils.concurrencytest import ConcurrentTestSuite
+
+concurrent_suite = ConcurrentTestSuite(self.suites, processes)
+result = self.runner.run(concurrent_suite)
+else:
+result = self.runner.run(self.suites)
  self._run_end_time = time.time()
  
  return result

diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py
index 219102c6b0f..6adbe3827b4 100644
--- a/meta/lib/oeqa/core/runner.py
+++ b/meta/lib/oeqa/core/runner.py
@@ -43,11 +43,17 @@ class OETestResult(_TestResult):
  super(OETestResult, self).__init__(*args, **kwargs)
  
  self.successes = []

+self.starttime = {}
+self.endtime = {}
+self.progressinfo = {}
  
  self.tc = tc

  self._tc_map_results()
  
  def startTest(self, test):

+# May have been set by concurrencytest
+if test.id() not in self.starttime:
+self.starttime[test.id()] = time.time()
  super(OETestResult, self).startTest(test)
  
  def _tc_map_results(self):

@@ -57,6 +63,12 @@ class OETestResult(_TestResult):
  self.tc._results['expectedFailures'] = self.expectedFailures
  self.tc._results['successes'] = self.successes
  
+def stopTest(self, test):

+self.endtime[test.id()] = time.time()
+super(OETestResult, self).stopTest(test)
+if test.id() in self.progressinfo:
+print(self.progressinfo[test.id()])
+
  def logSummary(self, component, context_msg=''):
  elapsed_time = self.tc._run_end_time - self.tc._run_start_time
  self.tc.logger.info("SUMMARY:")
@@ -141,12 +153,16 @@ class OETestResult(_TestResult):
  if hasattr(d, 'oeid'):
  oeid = d.oeid
  
+t = ""

+if case.id() in self.starttime and case.id() in self.endtime:
+t = " (" + "{0:.2f}".format(self.endtime[case.id()] - 
self.starttime[case.id()]) + "s)"
+
  if fail:
-self.tc.logger.info("RESULTS - %s - Testcase %s: %s" % 
(case.id(),
-oeid, desc))
+self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
(case.id(),
+oeid, desc, t))
  else:
-self.tc.logger.info("RESULTS - %s - Testcase %s: %s" % 
(case.id(),
-oeid, 'UNKNOWN'))
+self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
(case.id(),
+oeid, 'UNKNOWN', t))
  
  class OEListTestsResult(object):

  def wasSuccessful(self):
diff --git a/meta/lib/oeqa/core/utils/concurrencytest.py 
b/meta/lib/oeqa/core/utils/concurrencytest.py
new file mode 100644
index 000..850586516a4
--- /dev/null
+++ b/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -0,0 +1,254 @@
+#!/usr/bin/env python3
+#
+# Modified for use in OE by Richard Purdie, 2018
+#
+# Modified by: Corey Goldberg, 2013
+#   License: GPLv2+
+#
+# Original code from:
+#   Bazaar (bzrlib.tests.__init__.py, v2.6, copied Jun 01 2013)

[OE-core] ✗ patchtest: failure for webkitgtk: fix compile failure on beaglebone (rev2)

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

Series: webkitgtk: fix compile failure on beaglebone (rev2)
Revision: 2
URL   : https://patchwork.openembedded.org/series/13187/
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 Upstream-Status is Submitted, but it is not mentioned where 
[test_upstream_status_presence_format] 
  Suggested fixInclude where 
0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch was submitted
  Current  Upstream-Status: Submitted
  Standard format  Upstream-Status: Submitted [where]



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 V2] webkitgtk: fix compile failure on beaglebone

2018-07-25 Thread Hongxu Jia
Since the following patch applied in upstream webkitgtk
...
commit 1a55d8c685b3e5b4dbeda202009e7527aa59eadd
Author: simon.fra...@apple.com 

Date:   Thu Nov 23 22:20:09 2017 +

FELighting cleanup and optimization
https://bugs.webkit.org/show_bug.cgi?id=179933
...

It missed to tweak `paintingData.lightVector' which caused
PaintingData' has no member named 'lightVector' on ARM_NEON
(beaglebone)

Signed-off-by: Hongxu Jia 
---
 ...gData-has-no-member-named-lightVector-on-.patch | 37 ++
 meta/recipes-sato/webkit/webkitgtk_2.20.3.bb   |  1 +
 2 files changed, 38 insertions(+)
 create mode 100644 
meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch

diff --git 
a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch
 
b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch
new file mode 100644
index 000..25f4846
--- /dev/null
+++ 
b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch
@@ -0,0 +1,37 @@
+From a5d4e038268ae23486fecc1966fd2e16a7f40ce8 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia 
+Date: Wed, 25 Jul 2018 00:23:48 -0700
+Subject: [PATCH] Fix PaintingData' has no member named 'lightVector' on
+ ARM_NEON
+
+* platform/graphics/cpu/arm/filters/FELightingNEON.h:
+(WebCore::FELighting::platformApplyNeon):
+
+Upstream-Status: Submitted
+https://bugs.webkit.org/show_bug.cgi?id=187991
+
+Signed-off-by: Hongxu Jia 
+---
+ Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h 
b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+index 42af922..b542a4c 100644
+--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
 b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+@@ -144,9 +144,9 @@ inline void FELighting::platformApplyNeon(const 
LightingData& data, const LightS
+ neonData.flags |= FLAG_CONE_EXPONENT_IS_1;
+ } else {
+ ASSERT(m_lightSource->type() == LS_DISTANT);
+-floatArguments.lightX = paintingData.lightVector.x();
+-floatArguments.lightY = paintingData.lightVector.y();
+-floatArguments.lightZ = paintingData.lightVector.z();
++floatArguments.lightX = 
paintingData.initialLightingData.lightVector.x();
++floatArguments.lightY = 
paintingData.initialLightingData.lightVector.y();
++floatArguments.lightZ = 
paintingData.initialLightingData.lightVector.z();
+ floatArguments.padding2 = 1;
+ }
+ 
+-- 
+2.10.2
+
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.20.3.bb 
b/meta/recipes-sato/webkit/webkitgtk_2.20.3.bb
index 9d0f00a..a528c5d 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.20.3.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.20.3.bb
@@ -21,6 +21,7 @@ SRC_URI = 
"http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://0001-Fix-build-with-musl.patch \
file://detect-gstreamer-gl.patch \
file://0012-soup-Forward-declare-URL-class.patch \
+   
file://0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch \
"
 
 SRC_URI[md5sum] = "efb69a0cc3cc67ef2647efec22e44c69"
-- 
2.7.4

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


[OE-core] ✗ patchtest: failure for fetch2: fix import error for Python 3.6.5

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

Series: fetch2: fix import error for Python 3.6.5
Revision: 1
URL   : https://patchwork.openembedded.org/series/13205/
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 662be652ed)



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] [bitbake-devel][PATCH][1.32] fetch2: fix import error for Python 3.6.5

2018-07-25 Thread Changhyeok Bae
From: Tzu Hsiang Lin 

When running bitbake command with Python 3.6.5 always result in
import error causing by the change of distutils module.
This patch replaces the method to search executable in PATH by
"/usr/bin/env ".

Signed-off-by: Tzu Hsiang Lin 
Signed-off-by: Richard Purdie 
Signed-off-by: Changhyeok Bae 
---
 lib/bb/fetch2/clearcase.py | 3 +--
 lib/bb/fetch2/npm.py   | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/lib/bb/fetch2/clearcase.py b/lib/bb/fetch2/clearcase.py
index 70e280a..b0b5eff 100644
--- a/lib/bb/fetch2/clearcase.py
+++ b/lib/bb/fetch2/clearcase.py
@@ -70,7 +70,6 @@ from   bb.fetch2 import FetchMethod
 from   bb.fetch2 import FetchError
 from   bb.fetch2 import runfetchcmd
 from   bb.fetch2 import logger
-from   distutils import spawn
 
 class ClearCase(FetchMethod):
 """Class to fetch urls via 'clearcase'"""
@@ -108,7 +107,7 @@ class ClearCase(FetchMethod):
 else:
 ud.module = ""
 
-ud.basecmd = d.getVar("FETCHCMD_ccrc", True) or 
spawn.find_executable("cleartool") or spawn.find_executable("rcleartool")
+ud.basecmd = d.getVar("FETCHCMD_ccrc") or "/usr/bin/env cleartool || 
rcleartool"
 
 if data.getVar("SRCREV", d, True) == "INVALID":
   raise FetchError("Set a valid SRCREV for the clearcase fetcher in 
your recipe, e.g. SRCREV = \"/main/LATEST\" or any other label of your choice.")
diff --git a/lib/bb/fetch2/npm.py b/lib/bb/fetch2/npm.py
index 699ae72..7ccaba9 100644
--- a/lib/bb/fetch2/npm.py
+++ b/lib/bb/fetch2/npm.py
@@ -33,7 +33,6 @@ from   bb.fetch2 import runfetchcmd
 from   bb.fetch2 import logger
 from   bb.fetch2 import UnpackError
 from   bb.fetch2 import ParameterError
-from   distutils import spawn
 
 def subprocess_setup():
 # Python installs a SIGPIPE handler by default. This is usually not what
-- 
2.7.4

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


[OE-core] [PATCH v2] binutils : enable x86_64-pep for producing EFI binaries

2018-07-25 Thread Christopher Clark
From: Christopher Clark 

On EFI architectures (arm/x86/x86_64/aarch64) add the x86_64-pep
emulation support to the linker to enable production of Portable
Executables for EFI binaries.

Enables building the EFI variant of the Xen hypervisor.

Signed-off-by: Christopher Clark 
---
 meta/recipes-devtools/binutils/binutils.inc | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/binutils/binutils.inc 
b/meta/recipes-devtools/binutils/binutils.inc
index 37813dd..b3efbad 100644
--- a/meta/recipes-devtools/binutils/binutils.inc
+++ b/meta/recipes-devtools/binutils/binutils.inc
@@ -69,12 +69,19 @@ python do_package_prepend() {
 
 B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
 
+def enable_efi_targets(d):
+translated_arch = d.getVar('TRANSLATED_TARGET_ARCH')
+if translated_arch in ["x86-64", "i586", "i686", "arm", "aarch64"]:
+return "--enable-targets=x86_64-pep"
+return ""
+
 EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
 --disable-werror \
 --enable-deterministic-archives \
 --enable-plugins \
 ${LDGOLD} \
-${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', 
'--enable-64-bit-bfd', '', d)}"
+${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', 
'--enable-64-bit-bfd', '', d)} \
+${@enable_efi_targets(d)}"
 
 LDGOLD_class-native = ""
 LDGOLD_class-crosssdk = ""
-- 
2.7.4

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


Re: [OE-core] [PATCH 1/2] systemd: upgrade to 239

2018-07-25 Thread Ricardo Salveti
On Mon, Jul 16, 2018 at 11:05 PM, Chen Qi  wrote:
> Upgrade systemd to 239.
>
> 1. Patch Changes
> * Rebased Patches
>   0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch
>   0003-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
>   0006-Make-root-s-home-directory-configurable.patch
>   0027-remove-nobody-user-group-checking.patch
>   0011-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
>   0013-add-fallback-parse_printf_format-implementation.patch
>   0014-src-basic-missing.h-check-for-missing-strndupa.patch
>   0015-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
>   0016-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
>   0017-Include-netinet-if_ether.h.patch
>   0019-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
>   0022-don-t-use-glibc-specific-qsort_r.patch
>   0024-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
>   0026-Use-uintmax_t-for-handling-rlim_t.patch
>   0030-fix-missing-of-__register_atfork-for-non-glibc-build.patch
>   0031-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
>   0001-core-device.c-Change-the-default-device-timeout-to-2.patch
>   0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
>
> * Dropped Patches and Reasons
>   0001-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> This patch is dropped because the problem has been fixed by
> binutils upstream. And this workaround could be dropped.
> https://sourceware.org/bugzilla/show_bug.cgi?id=18548
>
>   0007-Revert-rules-remove-firmware-loading-rules.patch
>   0008-Revert-udev-remove-userspace-firmware-loading-suppor.patch
> These two patches are dropped because they are for kernel < 3.7.
> But the current minimal requirement of kernel to build systemd
> is as below.
> REQUIREMENTS:
> Linux kernel >= 3.13
> Linux kernel >= 4.2 for unified cgroup hierarchy support
> So these two patches no long make any sense.
> Also remove non-exist firmware-path option
>
>   0009-remove-duplicate-include-uchar.h.patch
>   0010-check-for-uchar.h-in-meson.build.patch
> These two patches are dropped because musl has implemented
> uchar.h. See commit below from musl repo.
> """
> ab9672ae73248f51e30f4553c4b8878525e46383
> implement uchar.h (C11 UTF-16/32 conversion) interfaces
> """
>
>   0018-check-for-missing-canonicalize_file_name.patch
> The above patch is dropped because current systemd does not need
> canonicalize_file_name.
>
>   0025-Define-_PATH_WTMPX-and-_PATH_UTMPX-if-not-defined.patch
> The above patch is dropped because utmp makes no sense in musl.
> Check code below from musl.
> include/utmp.h:#define _PATH_UTMP "/dev/null/utmp"
> And utmp PACKAGECONFIG has been explicitly disabled for musl.
> So we don't need this patch.
>
>   0032-memfd.patch
>   0033-basic-macros-rename-noreturn-into-_noreturn_-8456.patch
>   libmount.patch
>   0034-Fix-format-truncation-compile-failure-by-typecasting.patch
> The above patches are dropped because they are backported patches.
> And current systemd has contained these patches.
>
>   0036-time-util-fix-build-with-gcc8-Werror-format-truncati.patch
> The above patch is dropped because it has been merged and is now
> in new version.
>
> * Newly Added Patch
>   0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
> This patch is added to fix build for musl.
>
>   0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> This patch is added to fix the following error which caused system
> unable to boot up.
>   systemd-udevd.service: Failed to adjust OOM setting: Invalid argument
>   dbus.service: Failed to adjust OOM setting: Invalid argument
>
>   0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> This patch is added to fix segment fault error on musl systems.
>
>   0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
> This patch is backported to solve a race condition between
> user-runtime-dir@xxx.service stop and user deletion.
>
> 2. PACKAGECONFIG and Dependency Changes
> * Add a new PACKAGECONFIG item 'gshadow'. Enable it by default for glibc
>   but disable it by default for musl. This is because musl does not provide
>   gshadow.h.
>
> * Add a new PACKAGECONFIG item 'portabled'. Default to disable it because
>   it's still experimental, according to the announcement letter.
>   """
>   Currently, the support is still experimental, but this is expected to
>   change soon. Reflecting this experimental state, the "portablectl" binary
>   is not installed into /usr/bin yet.
>   """
>
> * Change 'kmod' from a hard dependency to a PACKAGECONFIG item. Default
>   to enable it.
>
> * Change 'acl' from a hard dependency to a PACKAGECONFIG item. Default
>   to enable it.
>
> * Remove 'readline' from DEPENDS. systemd does not need it.
>
> * Remove 'libcgroup' from DEPENDS. The dependency on libcgroup has been
>   

Re: [OE-core] [RFC PATCH 0/2] Install rdependent of allarch package with same multilib variant of image

2018-07-25 Thread richard . purdie
Hi Kai,

On Thu, 2018-07-26 at 00:41 +0800, kai.k...@windriver.com wrote:
> The series rfc patch is trying to install 64bits packages which is
> required by allarch package to 32 bits image. Work for rpm and need
> little more work and test for dpkg and opkg.
> 
> Take ca-certificates as example. It requires openssl. So it intalls
> openssl for both core-image-sato and lib32-core-image-sato. But
> lib32-openssl is expected to be installed to lib32-core-image-sato.
> 
> So extend rdpendent of allarch package with all multilib variants and
> 'noarch-' as well.
> 
> Extend
> ca-certificates -> openssl
> 
> to
> 
> ca-certificates -> openssl, lib32-openssl, noarch-openssl
> 
> Rdepends on openssl and lib32-openssl make both of them exist in
> oe-core-repo when do rootfs. And then make both openssl and
> lib32-openssl provide noarch-openssl. And only keep noarch-openssl in
> RDEPENDS when write package for ca-certificates. When do image rootfs
> for lib32-core-image-sato, remove openssl if installed already and
> install lib32-openssl to provide noarch-openssl for allarch pacakge
> ca-certificates.
> 
> And extend rprovides of allarch package with prefix 'noarch-' too
> that
> it may be required by other allarch packages. Put all dependent
> packages
> of all allarch recipes in oe-core to a new ariable
> 'ALLARCH_RDEP_PKGS'.
> 
> Any comment for this method is welcomed. Thanks a lot.

I think this is kind of the right direction but its not ready in this
form. Taking a step back and thinking about this problem, its actually
similar to the allarch recipes signature problem.

Normally if A DEPENDS on B, the taskhash of A includes the taskhash of
B. In the allarch case this is problematic so you see ca-certificates-
>openssl listed in SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS.

I think (but am not 100% sure) that everything you list in
ALLARCH_RDEP_PKGS is already covered somewhere in
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS.

I'd therefore propose using SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS instead of
adding a ALLARCH_RDEP_PKGS which duplicates information. I can't see
any case where you'd want an entry in one but not the other.

Rather than changing the RPROVIDES/RDEPENDS in package_{deb|ipk|rpm},
you should do this once in package.bbclass.

There is a bigger problem though since the allarch recipe signature
filtering doesn't change what bitbake will actually build, only how its
represented in sstate and the circumstances under which it would
rebuild it. If ca-certificates DEPENDS on openssl, it will build
openssl whether you're targeting core-image-sato or lib32-core-image-
sato. This potentially means you can end up in a situation where it
wouldn't build lib32-openssl if nothing else in lib32-core-image-sato
depended upon it more directly.

There is no easy way to solve this problem since somehow, if you're
building lib32- it needs to build lib32-openssl and if you're
building  it needs to build openssl. "pushing" that information
back up the dependency chain is very hard, we have no such mechanism.

I'm afraid I don't have a solution for this piece, its a very hard
problem to solve. Your current patches happen to work as there are
other more direct dependencies which tend to ensure the right thing
happens but we can't rely on that and it probably isn't the case for
all the dependencies.

Finally, the package manager shouldn't really need changes for this
approach to work. If things RPROVIDE and RDEPEND on the noarch
versions, the feed priorities should mean the right things happen. If
that doesn't happen automatically, the feed prorities are not working
correctly and that needs fixing, not the 2/2 patch you're proposing. I
suspect this issue needs fixing regardless of anything else.

Cheers,

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


[OE-core] [PATCH] uninative-tarball: Add nativesdk-libnss-nis to resolve glibc symbol issues

2018-07-25 Thread Richard Purdie
We need this to avoid symbol mismatch issues for binaries that use this
on newer systems which then won't run on older ones where it isn't present.

Signed-off-by: Richard Purdie 
---
 meta/conf/distro/include/yocto-uninative.inc | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/meta/conf/distro/include/yocto-uninative.inc 
b/meta/conf/distro/include/yocto-uninative.inc
index dcd59f87ccc..38080c63b58 100644
--- a/meta/conf/distro/include/yocto-uninative.inc
+++ b/meta/conf/distro/include/yocto-uninative.inc
@@ -8,6 +8,7 @@
 
 UNINATIVE_MAXGLIBCVERSION = "2.27"
 
-UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.1/;
-UNINATIVE_CHECKSUM[i686] ?= 
"a90db17d8845ece764aaac19348cd78504c0e554cb998da39ebad03aeef76185"
-UNINATIVE_CHECKSUM[x86_64] ?= 
"d43555df8d5a056ef5b20c7d8e0287207974e09df1e969a3e19302c8b4ea6b4b"
+UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.2/;
+UNINATIVE_CHECKSUM[i686] ?= 
"036b60092fe4acfa1a321d110673030db20344a2d56f33a4d047f0279498bdad"
+UNINATIVE_CHECKSUM[x86_64] ?= 
"e3b77208169bf1ac4e89496f3cdbf27695f5b18a2694a908a793390f28b67f83"
+
-- 
2.17.1

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


Re: [OE-core] [PATCH] classes/kernel-yocto: Cleanup getstatusoutput usage

2018-07-25 Thread Richard Purdie
On Wed, 2018-07-25 at 15:44 -0500, Joshua Watt wrote:
> On Wed, 2018-07-25 at 16:32 -0400, Bruce Ashfield wrote:
> > On Wed, Jul 25, 2018 at 4:20 PM, Bruce Ashfield
> >  wrote:
> > > On Wed, Jul 25, 2018 at 4:17 PM, Burton, Ross  > > co
> > > m> wrote:
> > > > On 25 July 2018 at 21:05, Bruce Ashfield  > > > co
> > > > m> wrote:
> > > > > My question about the change .. is why ? I really don't like
> > > > > cleanup
> > > > > patches on principle, and want things pinned to a bug, a
> > > > > performance
> > > > > issue or something else.
> > > > 
> > > > See a post by RP to the oe-core list a few days ago: a general
> > > > cleanup
> > > > of Python code that spawns is well overdue.  In this case
> > > > oe.utils.getstatusoutpus is a wrapper that just calls a
> > > > deprecated
> > > > function in subprocess, is best to pass arguments as an array
> > > > instead
> > > > of string, best not to use a shell, etc.
> > > 
> > > ah ok.
> > > 
> > > I still don't like it, but it is what it is.
> > 
> > ... and I found the original email, I see the part about things
> > being
> > depreciated. Makes sense.
> > 
> > I'll queue it up and run some tests on some intentionally bad BSPs.
> 
> Works for me.
> 
> I wasn't sure about if the subprocess exceptions should be fatal or
> not. Suppressing them maintained the old behavior, but it didn't
> quite seem "correct" to me.

We should at least put a comment in about this as its not best practise
not to check return codes. I do understand it can make sense in some
cases. Part of the reason to clean these calls up is also to ensure we
illustrate best practise in OE-Core so that when people copy and paste
it to other layers, we don't end up with bad things spreading.

In general, using the "proper" calls encourages better error handling
so that when something does fail, the user gets decent error messages.
For that reason I'd usually recommend the stderr -> stdout mapping so
that errors are displayed if a command fails. I appreciate that its a
moot point here since you ignore failures but in general it is a good
practise to encourage. We've had a spate of problems recently where
errors have been hidden making problems much harder to understand and
debug.

Cheers,

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


Re: [OE-core] [PATCH] classes/kernel-yocto: Cleanup getstatusoutput usage

2018-07-25 Thread Joshua Watt
On Wed, 2018-07-25 at 16:32 -0400, Bruce Ashfield wrote:
> On Wed, Jul 25, 2018 at 4:20 PM, Bruce Ashfield
>  wrote:
> > On Wed, Jul 25, 2018 at 4:17 PM, Burton, Ross  > m> wrote:
> > > On 25 July 2018 at 21:05, Bruce Ashfield  > > m> wrote:
> > > > My question about the change .. is why ? I really don't like
> > > > cleanup
> > > > patches on principle, and want things pinned to a bug, a
> > > > performance
> > > > issue or something else.
> > > 
> > > See a post by RP to the oe-core list a few days ago: a general
> > > cleanup
> > > of Python code that spawns is well overdue.  In this case
> > > oe.utils.getstatusoutpus is a wrapper that just calls a
> > > deprecated
> > > function in subprocess, is best to pass arguments as an array
> > > instead
> > > of string, best not to use a shell, etc.
> > 
> > ah ok.
> > 
> > I still don't like it, but it is what it is.
> 
> ... and I found the original email, I see the part about things being
> depreciated. Makes sense.
> 
> I'll queue it up and run some tests on some intentionally bad BSPs.

Works for me.

I wasn't sure about if the subprocess exceptions should be fatal or
not. Suppressing them maintained the old behavior, but it didn't quite
seem "correct" to me.

Thanks,
Joshua Watt


> 
> Bruce
> 
> > 
> > My comment stands, I'll figure out how to incorporate this and send
> > it
> > along with my next pull request.
> > 
> > Bruce
> > 
> > > 
> > > Ross
> > 
> > 
> > 
> > --
> > "Thou shalt not follow the NULL pointer, for chaos and madness
> > await
> > thee at its end"
> 
> 
> 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] classes/kernel-yocto: Cleanup getstatusoutput usage

2018-07-25 Thread Bruce Ashfield
On Wed, Jul 25, 2018 at 4:20 PM, Bruce Ashfield
 wrote:
> On Wed, Jul 25, 2018 at 4:17 PM, Burton, Ross  wrote:
>> On 25 July 2018 at 21:05, Bruce Ashfield  wrote:
>>> My question about the change .. is why ? I really don't like cleanup
>>> patches on principle, and want things pinned to a bug, a performance
>>> issue or something else.
>>
>> See a post by RP to the oe-core list a few days ago: a general cleanup
>> of Python code that spawns is well overdue.  In this case
>> oe.utils.getstatusoutpus is a wrapper that just calls a deprecated
>> function in subprocess, is best to pass arguments as an array instead
>> of string, best not to use a shell, etc.
>
> ah ok.
>
> I still don't like it, but it is what it is.

... and I found the original email, I see the part about things being
depreciated. Makes sense.

I'll queue it up and run some tests on some intentionally bad BSPs.

Bruce

>
> My comment stands, I'll figure out how to incorporate this and send it
> along with my next pull request.
>
> Bruce
>
>>
>> Ross
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end"



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 3/7] libsdl2: Find wayland-protocol files in proper location during cross compile

2018-07-25 Thread Burton, Ross
On 25 July 2018 at 21:18, Khem Raj  wrote:
> while I agree its due to a different behavior from pkgconf, the
> solution is not relying on pkgconfig features
> in itself is an improvement IMO unless you say its regressing builds
> when not using pkgconfig

This is a behavioural change between the two and personally I don't
consider this a bug in pkgconfig, so pkgconf should do the same.

Also it turns out that you can override variable lookups with
environment variables in pkgconfig (see
https://git.dereferenced.org/pkgconf/pkgconf/issues/2) so when pkgconf
does this we can override the lookups without needing any patches.

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


Re: [OE-core] [PATCH] classes/kernel-yocto: Cleanup getstatusoutput usage

2018-07-25 Thread Bruce Ashfield
On Wed, Jul 25, 2018 at 4:17 PM, Burton, Ross  wrote:
> On 25 July 2018 at 21:05, Bruce Ashfield  wrote:
>> My question about the change .. is why ? I really don't like cleanup
>> patches on principle, and want things pinned to a bug, a performance
>> issue or something else.
>
> See a post by RP to the oe-core list a few days ago: a general cleanup
> of Python code that spawns is well overdue.  In this case
> oe.utils.getstatusoutpus is a wrapper that just calls a deprecated
> function in subprocess, is best to pass arguments as an array instead
> of string, best not to use a shell, etc.

ah ok.

I still don't like it, but it is what it is.

My comment stands, I'll figure out how to incorporate this and send it
along with my next pull request.

Bruce

>
> Ross



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] classes/kernel-yocto: Cleanup getstatusoutput usage

2018-07-25 Thread Burton, Ross
On 25 July 2018 at 21:05, Bruce Ashfield  wrote:
> My question about the change .. is why ? I really don't like cleanup
> patches on principle, and want things pinned to a bug, a performance
> issue or something else.

See a post by RP to the oe-core list a few days ago: a general cleanup
of Python code that spawns is well overdue.  In this case
oe.utils.getstatusoutpus is a wrapper that just calls a deprecated
function in subprocess, is best to pass arguments as an array instead
of string, best not to use a shell, etc.

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


Re: [OE-core] [PATCH 3/7] libsdl2: Find wayland-protocol files in proper location during cross compile

2018-07-25 Thread Khem Raj
On Wed, Jul 25, 2018 at 1:08 PM Burton, Ross  wrote:
>
> On 21 July 2018 at 17:27, Khem Raj  wrote:
> > +pkgconfig would return an absolute path in /usr/share/wayland-protocols
> > +for the pkgdatadir value, which is not suitable for cross-compiling.
>
> For reference this is due to pkgconf (not pkgconfig) having different
> behaviour compared to pkgconfig, which is breaking recipes.
> Personally I consider this a bug in pkgconf and there are bugs
> upstream (and new releases) which may solve it directly instead of
> having to fix every user of Weston (which isn't the only user of this
> pattern).
>

while I agree its due to a different behavior from pkgconf, the
solution is not relying on pkgconfig features
in itself is an improvement IMO unless you say its regressing builds
when not using pkgconfig
> Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 3/7] libsdl2: Find wayland-protocol files in proper location during cross compile

2018-07-25 Thread Burton, Ross
On 21 July 2018 at 17:27, Khem Raj  wrote:
> +pkgconfig would return an absolute path in /usr/share/wayland-protocols
> +for the pkgdatadir value, which is not suitable for cross-compiling.

For reference this is due to pkgconf (not pkgconfig) having different
behaviour compared to pkgconfig, which is breaking recipes.
Personally I consider this a bug in pkgconf and there are bugs
upstream (and new releases) which may solve it directly instead of
having to fix every user of Weston (which isn't the only user of this
pattern).

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


Re: [OE-core] [PATCH] classes/kernel-yocto: Cleanup getstatusoutput usage

2018-07-25 Thread Bruce Ashfield
On Wed, Jul 25, 2018 at 3:50 PM, Burton, Ross  wrote:
> On 25 July 2018 at 19:35, Joshua Watt  wrote:
>> -cmd = d.expand("cd ${S}; kconf_check --report -o ${S}/%s/cfg/ 
>> ${B}/.config ${S} %s" % (kmeta,configs))
>> -ret, result = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd))
>> +try:
>> +configs = subprocess.check_output(['scc', '--configs', '-o', s + 
>> '/.kernel-meta'], env=env).decode('utf-8')
>> +except subprocess.CalledProcessError:
>> +# Is this really non-fatal?
>> +pass
>> +
>> +try:
>> +subprocess.check_call(['kconf_check', '--report', '-o',
>> +'%s/%s/cfg' % (s, kmeta), d.getVar('B') + '/.config', s, 
>> configs], cwd=s, env=env)
>> +except subprocess.CalledProcessError:
>> +# Is this really non-fatal?
>> +pass
>
> CCing Bruce for his feedback.  Either one or both of these calls can
> fail without it being fatal which should be documented, or it
> shouldn't be catching the exceptions.

Yah.

Don't grab this patch at all. I have a set of changes that muck all
about in here, so I'll have to look and integrate things by hand.

My question about the change .. is why ? I really don't like cleanup
patches on principle, and want things pinned to a bug, a performance
issue or something else.

Cheers,

Bruce

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



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] lsof: Update SRC_URI

2018-07-25 Thread Burton, Ross
On 24 July 2018 at 21:18, Randy MacLeod  wrote:
> I expect that Ovidiu just forgot the branch prefix in his subject line.
> Do you want him to resend for 2.5 and 2.4 ?

Probably for the best to be sure that the relevant release maintainer
sees the patches.

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


Re: [OE-core] [PATCH] webkitgtk: fix compile failure on beaglebone

2018-07-25 Thread Burton, Ross
U-S should be Submitted with a link to that bug then.

Ross

On 25 July 2018 at 14:57, Hongxu Jia  wrote:
> On 2018年07月25日 17:53, Burton, Ross wrote:
>>
>> On 25 July 2018 at 08:55, Hongxu Jia  wrote:
>>>
>>> +Upstream-Status: Pending
>>
>> You'll be submitting this upstream right?
>
>
> Of course, I submitted upstream after oe-core
> There patch review system is based on bugzilla
>
> https://bugs.webkit.org/show_bug.cgi?id=187991
>
> Patch status seems ` commit-queue-'
>
> //Hongxu
>>
>> Ross
>
>
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] classes/kernel-yocto: Cleanup getstatusoutput usage

2018-07-25 Thread Burton, Ross
On 25 July 2018 at 19:35, Joshua Watt  wrote:
> -cmd = d.expand("cd ${S}; kconf_check --report -o ${S}/%s/cfg/ 
> ${B}/.config ${S} %s" % (kmeta,configs))
> -ret, result = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd))
> +try:
> +configs = subprocess.check_output(['scc', '--configs', '-o', s + 
> '/.kernel-meta'], env=env).decode('utf-8')
> +except subprocess.CalledProcessError:
> +# Is this really non-fatal?
> +pass
> +
> +try:
> +subprocess.check_call(['kconf_check', '--report', '-o',
> +'%s/%s/cfg' % (s, kmeta), d.getVar('B') + '/.config', s, 
> configs], cwd=s, env=env)
> +except subprocess.CalledProcessError:
> +# Is this really non-fatal?
> +pass

CCing Bruce for his feedback.  Either one or both of these calls can
fail without it being fatal which should be documented, or it
shouldn't be catching the exceptions.

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


[OE-core] [PATCH 2/2] multiconfig: Enable multiconfig dependencies on oe-core

2018-07-25 Thread Alejandro Enedino Hernandez Samaniego
This patch enables multiconfig dependencies (mcdepends) to be used on
recipes using the following format:

task[mcdepends] = "multiconfig:FROM-MC:TO-MC:PN:task-to-depend-on"

For the sake of simplicity consider the following example:

Assuming we have set up multiconfig builds, one for qemux86 and one for
qemuarm, named x86 and arm respectively.

Adding the following line to an image recipe (core-image-sato):
do_image[mcdepends] = "multiconfig:x86:arm:core-image-minimal:do_rootfs"

Would state that core-image-sato:do_image from x86 will depend on
core-image-minimal:do_rootfs from arm so it can be executed.

This patch makes modifications to bitbake.conf to enable mcdepends, and
to sstatesig and staging.bbclass to avoid conflicts between packages from
different multiconfigs.

[YOCTO #10681]

Signed-off-by: Alejandro Enedino Hernandez Samaniego 
---
 meta/classes/staging.bbclass | 8 +++-
 meta/conf/bitbake.conf   | 2 +-
 meta/lib/oe/sstatesig.py | 9 -
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 41df883..27b012e 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -256,7 +256,7 @@ python extend_recipe_sysroot() {
 workdir = d.getVar("WORKDIR")
 #bb.warn(str(taskdepdata))
 pn = d.getVar("PN")
-
+mc = d.getVar("BB_CURRENT_MC")
 stagingdir = d.getVar("STAGING_DIR")
 sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests"
 recipesysroot = d.getVar("RECIPE_SYSROOT")
@@ -443,7 +443,13 @@ python extend_recipe_sysroot() {
 
 msg_exists = []
 msg_adding = []
+
 for dep in configuredeps:
+if mc != 'default':
+# We should not care about other multiconfigs
+depmc = dep.split(':')[1]
+if depmc != mc:
+continue
 c = setscenedeps[dep][0]
 if c not in installed:
 continue
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index e28f3c7..f68954c 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -877,7 +877,7 @@ BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc deps depends \
 file-checksums python func task export unexport noexec nostamp dirs 
cleandirs \
 sstate-lockfile-shared prefuncs postfuncs export_func deptask rdeptask \
 recrdeptask nodeprrecs stamp-extra-info sstate-outputdirs filename lineno \
-progress"
+progress mcdepends"
 
 MLPREFIX ??= ""
 MULTILIB_VARIANTS ??= ""
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 5dcc2f5..18c5a35 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -150,16 +150,23 @@ class 
SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
 if recipename in self.unlockedrecipes:
 unlocked = True
 else:
+def get_mc(tid):
+tid = tid.rsplit('.', 1)[0]
+if tid.startswith('multiconfig:'):
+elems = tid.split(':')
+return elems[1]
 def recipename_from_dep(dep):
 # The dep entry will look something like
 # /path/path/recipename.bb.task, virtual:native:/p/foo.bb.task,
 # ...
+
 fn = dep.rsplit('.', 1)[0]
 return dataCache.pkg_fn[fn]
 
+mc = get_mc(fn)
 # If any unlocked recipe is in the direct dependencies then the
 # current recipe should be unlocked as well.
-depnames = [ recipename_from_dep(x) for x in deps ]
+depnames = [ recipename_from_dep(x) for x in deps if mc == 
get_mc(x)]
 if any(x in y for y in depnames for x in self.unlockedrecipes):
 self.unlockedrecipes[recipename] = ''
 unlocked = True
-- 
2.7.4

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


[OE-core] [PATCH] glibc: Avoid multilibbing on wordsize.h

2018-07-25 Thread Daniel Díaz
Once another header #includes , there is a
potential recursion going on because the
multilib_header_wrapper.h #includes  again!

This should not happen because an __arm__ (32-bits) or an
__aarch64__ (64-bits) environment guarantees that we will
be getting the correct definition, but when building against
a different target (like BPF), recursion is what happens.

This can be seen, for instance, when building eBPF programs
from the kernel with `clang -target bpf', such as the ones
located in linux/tools/testing/selftests/bpf/.

Signed-off-by: Daniel Díaz 
Signed-off-by: Aníbal Limón 
---
 meta/recipes-core/glibc/glibc-package.inc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc-package.inc 
b/meta/recipes-core/glibc/glibc-package.inc
index ae3f2f6..a4f61f8 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -136,8 +136,7 @@ do_install_append_armeb () {
 }
 
 do_install_armmultilib () {
-
-   oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h 
bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h
+   oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h 
bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h
oe_multilib_header bits/local_lim.h bits/mman.h bits/msq.h 
bits/pthreadtypes.h bits/pthreadtypes-arch.h  bits/sem.h  bits/semaphore.h 
bits/setjmp.h
oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h 
bits/typesizes.h
 
-- 
2.7.4

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


[OE-core] [PATCH] classes/kernel-yocto: Cleanup getstatusoutput usage

2018-07-25 Thread Joshua Watt
Replace usage of os.utils.getstatusoutput() with direct subprocess
calls. Pass a modified environment and working directory where necessary
to bypass the need to execute in a shell.

Signed-off-by: Joshua Watt 
---
 meta/classes/kernel-yocto.bbclass | 22 --
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass 
b/meta/classes/kernel-yocto.bbclass
index 82d80741a95..3a7717282f3 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -319,7 +319,7 @@ do_kernel_configme() {
 addtask kernel_configme before do_configure after do_patch
 
 python do_kernel_configcheck() {
-import re, string, sys
+import re, string, sys, subprocess
 
 # if KMETA isn't set globally by a recipe using this routine, we need to
 # set the default to 'meta'. Otherwise, kconf_check is not passed a valid
@@ -328,13 +328,23 @@ python do_kernel_configcheck() {
 if not os.path.exists(kmeta):
 kmeta = "." + kmeta
 
-pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH'), 
"${S}/scripts/util/")
+s = d.getVar('S')
 
-cmd = d.expand("scc --configs -o ${S}/.kernel-meta")
-ret, configs = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd))
+env = os.environ.copy()
+env['PATH'] = "%s:%s%s" % (d.getVar('PATH'), s, "/scripts/util/")
 
-cmd = d.expand("cd ${S}; kconf_check --report -o ${S}/%s/cfg/ ${B}/.config 
${S} %s" % (kmeta,configs))
-ret, result = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd))
+try:
+configs = subprocess.check_output(['scc', '--configs', '-o', s + 
'/.kernel-meta'], env=env).decode('utf-8')
+except subprocess.CalledProcessError:
+# Is this really non-fatal?
+pass
+
+try:
+subprocess.check_call(['kconf_check', '--report', '-o',
+'%s/%s/cfg' % (s, kmeta), d.getVar('B') + '/.config', s, 
configs], cwd=s, env=env)
+except subprocess.CalledProcessError:
+# Is this really non-fatal?
+pass
 
 config_check_visibility = int(d.getVar("KCONF_AUDIT_LEVEL") or 0)
 bsp_check_visibility = int(d.getVar("KCONF_BSP_AUDIT_LEVEL") or 0)
-- 
2.17.1

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


[OE-core] [sumo][PATCH v2] u-boot: Fix build race condition

2018-07-25 Thread Joshua Watt
Backports 2f61b13d6acba787b00598d519c85222e993e4ca (included in the
2018.07 release) which fixes a race condition when building.

Signed-off-by: Joshua Watt 
---
 ...efi_loader-avoid-make-race-condition.patch | 51 +++
 .../u-boot/u-boot-common_2018.01.inc  |  1 +
 2 files changed, 52 insertions(+)
 create mode 100644 
meta/recipes-bsp/u-boot/files/0001-efi_loader-avoid-make-race-condition.patch

diff --git 
a/meta/recipes-bsp/u-boot/files/0001-efi_loader-avoid-make-race-condition.patch 
b/meta/recipes-bsp/u-boot/files/0001-efi_loader-avoid-make-race-condition.patch
new file mode 100644
index 00..da7e27c64c
--- /dev/null
+++ 
b/meta/recipes-bsp/u-boot/files/0001-efi_loader-avoid-make-race-condition.patch
@@ -0,0 +1,51 @@
+From 5c2e24a9ed54dfee77d1844a080e998b4affe916 Mon Sep 17 00:00:00 2001
+From: Heinrich Schuchardt 
+Date: Sat, 2 Jun 2018 19:00:41 +0200
+Subject: [PATCH] efi_loader: avoid make race condition
+
+When U-Boot is built with 'make -j' there is not guarantee that targets in
+directory arch/ are built before targets in directory lib/. The current
+build instruction for EFI binaries in lib/ rely on dependencies in arch/.
+If $(EFI_CRT0) or $(EFI_RELOC) is not yet built before trying to build
+%.efi an error
+*** No rule to make target '%.efi'
+occurs.
+
+With the patch separate copies of $(EFI_CRT0) and $(EFI_RELOC) named
+efi_crt0.o and efi_reloc.o are built in lib/efi_loader and
+lib/efi_selftest.
+
+Signed-off-by: Heinrich Schuchardt 
+Signed-off-by: Alexander Graf 
+
+Upstream-Status: Backport from 2018.07
+
+Signed-off-by: Joshua Watt 
+---
+ scripts/Makefile.lib | 10 --
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
+index 8f19b2db56..f2f398c935 100644
+--- a/scripts/Makefile.lib
 b/scripts/Makefile.lib
+@@ -404,8 +404,14 @@ cmd_efi_ld = $(LD) -nostdlib -znocombreloc -T 
$(EFI_LDS_PATH) -shared \
+ 
+ EFI_LDS_PATH = $(srctree)/arch/$(ARCH)/lib/$(EFI_LDS)
+ 
+-$(obj)/%_efi.so: $(obj)/%.o arch/$(ARCH)/lib/$(EFI_CRT0) \
+-  arch/$(ARCH)/lib/$(EFI_RELOC)
++$(obj)/efi_crt0.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_CRT0:.o=.S)
++  $(call if_changed_dep,as_o_S)
++
++$(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) 
$(recordmcount_source) FORCE
++  $(call cmd,force_checksrc)
++  $(call if_changed_rule,cc_o_c)
++
++$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o
+   $(call cmd,efi_ld)
+ 
+ # ACPI
+-- 
+2.17.1
+
diff --git a/meta/recipes-bsp/u-boot/u-boot-common_2018.01.inc 
b/meta/recipes-bsp/u-boot/u-boot-common_2018.01.inc
index d2073ea0c7..11b82b7e26 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common_2018.01.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common_2018.01.inc
@@ -11,6 +11,7 @@ SRCREV = "f3dd87e0b98999a78e500e8c6d2b063ebadf535a"
 
 SRC_URI = "git://git.denx.de/u-boot.git \
 file://MPC8315ERDB-enable-DHCP.patch \
+file://0001-efi_loader-avoid-make-race-condition.patch \
 "
 
 S = "${WORKDIR}/git"
-- 
2.17.1

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


[OE-core] [sumo][PATCH] u-boot: Fix build race condition

2018-07-25 Thread Joshua Watt
From: Joshua Watt 

Backports 2f61b13d6acba787b00598d519c85222e993e4ca (included in the
2018.07 release) which fixes a race condition when building.

Change-Id: If7af74cafd9d22fcb23cfe2ffd12084ca5ca083b
Signed-off-by: Joshua Watt 
---
 ...efi_loader-avoid-make-race-condition.patch | 51 +++
 .../u-boot/u-boot-common_2018.01.inc  |  1 +
 2 files changed, 52 insertions(+)
 create mode 100644 
meta/recipes-bsp/u-boot/files/0001-efi_loader-avoid-make-race-condition.patch

diff --git 
a/meta/recipes-bsp/u-boot/files/0001-efi_loader-avoid-make-race-condition.patch 
b/meta/recipes-bsp/u-boot/files/0001-efi_loader-avoid-make-race-condition.patch
new file mode 100644
index 00..da7e27c64c
--- /dev/null
+++ 
b/meta/recipes-bsp/u-boot/files/0001-efi_loader-avoid-make-race-condition.patch
@@ -0,0 +1,51 @@
+From 5c2e24a9ed54dfee77d1844a080e998b4affe916 Mon Sep 17 00:00:00 2001
+From: Heinrich Schuchardt 
+Date: Sat, 2 Jun 2018 19:00:41 +0200
+Subject: [PATCH] efi_loader: avoid make race condition
+
+When U-Boot is built with 'make -j' there is not guarantee that targets in
+directory arch/ are built before targets in directory lib/. The current
+build instruction for EFI binaries in lib/ rely on dependencies in arch/.
+If $(EFI_CRT0) or $(EFI_RELOC) is not yet built before trying to build
+%.efi an error
+*** No rule to make target '%.efi'
+occurs.
+
+With the patch separate copies of $(EFI_CRT0) and $(EFI_RELOC) named
+efi_crt0.o and efi_reloc.o are built in lib/efi_loader and
+lib/efi_selftest.
+
+Signed-off-by: Heinrich Schuchardt 
+Signed-off-by: Alexander Graf 
+
+Upstream-Status: Backport from 2018.07
+
+Signed-off-by: Joshua Watt 
+---
+ scripts/Makefile.lib | 10 --
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
+index 8f19b2db56..f2f398c935 100644
+--- a/scripts/Makefile.lib
 b/scripts/Makefile.lib
+@@ -404,8 +404,14 @@ cmd_efi_ld = $(LD) -nostdlib -znocombreloc -T 
$(EFI_LDS_PATH) -shared \
+ 
+ EFI_LDS_PATH = $(srctree)/arch/$(ARCH)/lib/$(EFI_LDS)
+ 
+-$(obj)/%_efi.so: $(obj)/%.o arch/$(ARCH)/lib/$(EFI_CRT0) \
+-  arch/$(ARCH)/lib/$(EFI_RELOC)
++$(obj)/efi_crt0.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_CRT0:.o=.S)
++  $(call if_changed_dep,as_o_S)
++
++$(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) 
$(recordmcount_source) FORCE
++  $(call cmd,force_checksrc)
++  $(call if_changed_rule,cc_o_c)
++
++$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o
+   $(call cmd,efi_ld)
+ 
+ # ACPI
+-- 
+2.17.1
+
diff --git a/meta/recipes-bsp/u-boot/u-boot-common_2018.01.inc 
b/meta/recipes-bsp/u-boot/u-boot-common_2018.01.inc
index d2073ea0c7..11b82b7e26 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common_2018.01.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common_2018.01.inc
@@ -11,6 +11,7 @@ SRCREV = "f3dd87e0b98999a78e500e8c6d2b063ebadf535a"
 
 SRC_URI = "git://git.denx.de/u-boot.git \
 file://MPC8315ERDB-enable-DHCP.patch \
+file://0001-efi_loader-avoid-make-race-condition.patch \
 "
 
 S = "${WORKDIR}/git"
-- 
2.17.1

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


[OE-core] [RFC PATCH 1/2] make allarch packages don't dependent specific multilib package

2018-07-25 Thread kai.kang
From: Kai Kang 

The dependencies of allarch packages doesn't not extend when enable
multilib. So take ca-certificates as an example, it always requires
openssl no matter whether multilib is enabled. For multilib image such
as lib32-core-image-sato, it installs 64 bits openssl rather than
lib32-openssl which is expected.

So extend rdependencies of allarch package with prefix 'noarch-' and all
of multilib variants. For

ca-certificates -> openssl

exends to

ca-certificates -> openssl, lib32-openssl, noarch-openssl

Rdepends on openssl and lib32-openssl make both of them exist in
oe-core-repo when do rootfs. And then make both openssl and
lib32-openssl provide noarch-openssl. And only keep noarch-openssl in
RDEPENDS when write package for ca-certificates. So when do image rootfs
for lib32-core-image-sato, remove openssl if installed already and
install lib32-openssl for allarch pacakge ca-certificates.

And extend rprovides of allarch package with prefix 'noarch-' too that
it may be required by other allarch packages. Put all dependent packages
of all allarch recipes in oe-core to a new ariable 'ALLARCH_RDEP_PKGS'.

Signed-off-by: Kai Kang 
---
 meta/classes/allarch.bbclass |  3 ---
 meta/classes/multilib.bbclass|  3 ++-
 meta/classes/multilib_global.bbclass | 31 +++-
 meta/classes/nativesdk.bbclass   |  8 +++
 meta/classes/package_deb.bbclass |  7 ++-
 meta/classes/package_ipk.bbclass |  7 ++-
 meta/classes/package_rpm.bbclass |  8 ++-
 meta/conf/multilib.conf  | 16 ++
 8 files changed, 75 insertions(+), 8 deletions(-)

diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index 1eebe0bf2e..52efba405a 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -42,9 +42,6 @@ python () {
 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/multilib.bbclass b/meta/classes/multilib.bbclass
index f2ac8bdfef..f9417ce69e 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -134,7 +134,8 @@ python do_package_qa_multilib() {
 i = i[len('virtual/'):]
 if (not i.startswith('kernel-module')) and (not 
i.startswith(mlprefix)) and \
 (not 'cross-canadian' in i) and (not 
i.startswith("nativesdk-")) and \
-(not i.startswith("rtld")) and (not 
i.startswith('kernel-vmlinux')):
+(not i.startswith("rtld")) and (not 
i.startswith('kernel-vmlinux')) and \
+(not i.startswith("noarch")):
 candidates.append(i)
 if len(candidates) > 0:
 msg = "%s package %s - suspicious values '%s' in %s" \
diff --git a/meta/classes/multilib_global.bbclass 
b/meta/classes/multilib_global.bbclass
index d2ec1adfea..a5e3046498 100644
--- a/meta/classes/multilib_global.bbclass
+++ b/meta/classes/multilib_global.bbclass
@@ -161,6 +161,16 @@ multilib_virtclass_handler_vendor[eventmask] = 
"bb.event.ConfigParsed"
 
 python multilib_virtclass_handler_global () {
 variant = e.data.getVar("BBEXTENDVARIANT")
+
+# make packages from ALLARCH_RDEP_PKGS provide noarch-pkg
+if not (bb.data.inherits_class('nativesdk', e.data) or 
bb.data.inherits_class('crosssdk', e.data)):
+for pkg in (e.data.getVar("PACKAGES") or "").split():
+bpkg = pkg.lstrip(variant + "-" if variant else "")
+if bpkg in (e.data.getVar("ALLARCH_RDEP_PKGS") or ""):
+rprovs = d.getVar("RPROVIDES_%s" % pkg) or ""
+rprovs = rprovs + " noarch-" + bpkg
+d.setVar("RPROVIDES_%s" % pkg, rprovs.strip())
+
 if variant:
 return
 
@@ -194,9 +204,28 @@ python multilib_virtclass_handler_global () {
 for clsextend in clsextends:
 rprovs = rprovs + " " + 
clsextend.map_variable("RPROVIDES_%s" % pkg, setvar=False)
 rprovs = rprovs + " " + clsextend.extname + "-" + pkg
+
+if bb.data.inherits_class('allarch', e.data):
+# make allarch pkg rprovides noarch-itself
+if not pkg.endswith(("-dbg", "-dev", "-staticdev")):
+rprovs = rprovs + " noarch-" + pkg
+
 e.data.setVar("RPROVIDES_%s" % pkg, rprovs)
+
+# Process RDEPENDS for noarch recipe
+if 

[OE-core] [RFC PATCH 0/2] Install rdependent of allarch package with same multilib variant of image

2018-07-25 Thread kai.kang
From: Kai Kang 

Hi Richard and Mark,

The series rfc patch is trying to install 64bits packages which is
required by allarch package to 32 bits image. Work for rpm and need
little more work and test for dpkg and opkg.

Take ca-certificates as example. It requires openssl. So it intalls
openssl for both core-image-sato and lib32-core-image-sato. But
lib32-openssl is expected to be installed to lib32-core-image-sato.

So extend rdpendent of allarch package with all multilib variants and
'noarch-' as well.

Extend
ca-certificates -> openssl

to

ca-certificates -> openssl, lib32-openssl, noarch-openssl

Rdepends on openssl and lib32-openssl make both of them exist in
oe-core-repo when do rootfs. And then make both openssl and
lib32-openssl provide noarch-openssl. And only keep noarch-openssl in
RDEPENDS when write package for ca-certificates. When do image rootfs
for lib32-core-image-sato, remove openssl if installed already and
install lib32-openssl to provide noarch-openssl for allarch pacakge
ca-certificates.

And extend rprovides of allarch package with prefix 'noarch-' too that
it may be required by other allarch packages. Put all dependent packages
of all allarch recipes in oe-core to a new ariable 'ALLARCH_RDEP_PKGS'.

Any comment for this method is welcomed. Thanks a lot.

--Kai

Kai Kang (2):
  make allarch packages don't dependent specific multilib package
  WIP: install rdependent packages of allarch packages according to
image rootfs

 meta/classes/allarch.bbclass |  3 --
 meta/classes/multilib.bbclass|  3 +-
 meta/classes/multilib_global.bbclass | 31 -
 meta/classes/nativesdk.bbclass   |  8 +
 meta/classes/package_deb.bbclass |  7 +++-
 meta/classes/package_ipk.bbclass |  7 +++-
 meta/classes/package_rpm.bbclass |  8 -
 meta/conf/multilib.conf  | 16 +
 meta/lib/oe/package_manager.py   | 51 ++--
 meta/lib/oe/rootfs.py| 28 +++
 10 files changed, 152 insertions(+), 10 deletions(-)

-- 
2.17.1

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


[OE-core] [RFC PATCH 2/2] WIP: install rdependent packages of allarch packages according to image rootfs

2018-07-25 Thread kai.kang
From: Kai Kang 

Add interface is_leaf to package managers. If any multilib variant of
package from 'ALLARCH_RDEP_PKGS' is installed to image rootfs, then
install the packages with 'BBEXTENDVARIANT' of current image and remove
the already installed package if not required by others and not add to
image intentionally.

Signed-off-by: Kai Kang 
---
 meta/lib/oe/package_manager.py | 51 --
 meta/lib/oe/rootfs.py  | 28 +++
 2 files changed, 77 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 9aa5847c8a..eeaf297432 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -249,7 +249,7 @@ class DpkgIndexer(Indexer):
 release.write("Label: %s\n" % arch)
 
 cmd += "PSEUDO_UNLOAD=1 %s release . >> Release" % apt_ftparchive
-
+
 index_cmds.append(cmd)
 
 deb_dirs_found = True
@@ -448,6 +448,13 @@ class PackageManager(object, metaclass=ABCMeta):
 def list_installed(self):
 pass
 
+@abstractmethod
+def is_leaf(self, pkg):
+"""
+Whether pkg is required by other packages
+"""
+pass
+
 @abstractmethod
 def extract(self, pkg):
 """
@@ -587,7 +594,7 @@ def create_packages_dir(d, rpm_repo_dir, deploydir, 
taskname, filterbydependenci
 pn = d.getVar("PN")
 seendirs = set()
 multilibs = {}
-   
+
 rpm_subrepo_dir = oe.path.join(rpm_repo_dir, "rpm")
 
 bb.utils.remove(rpm_subrepo_dir, recurse=True)
@@ -895,6 +902,20 @@ class RpmPM(PackageManager):
 
 return packages
 
+def is_leaf(self, pkg):
+if not pkg:
+return False
+
+cmd = bb.utils.which(os.getenv('PATH'), "rpm")
+args = ["-q", "--whatrequires", "--root=%s" % self.target_rootfs]
+
+bb.note("Running %s" % ' '.join([cmd] + args + [pkg]))
+# return value 0 stands for other(s) require(s) pkg
+if subprocess.call([cmd] + args + [pkg], shell=True):
+return True
+else:
+return False
+
 def update(self):
 self._invoke_dnf(["makecache", "--refresh"])
 
@@ -1327,6 +1348,12 @@ class OpkgPM(OpkgDpkgPM):
 def list_installed(self):
 return OpkgPkgsList(self.d, self.target_rootfs, 
self.config_file).list_pkgs()
 
+def is_leaf(self, pkg):
+if not pkg:
+return False
+
+
+
 def handle_bad_recommendations(self):
 bad_recommendations = self.d.getVar("BAD_RECOMMENDATIONS") or ""
 if bad_recommendations.strip() == "":
@@ -1753,6 +1780,26 @@ class DpkgPM(OpkgDpkgPM):
 def list_installed(self):
 return DpkgPkgsList(self.d, self.target_rootfs).list_pkgs()
 
+def is_leaf(self, pkg):
+bb.warn("=in dpkg is_leaf()\n")
+if not pkg:
+return False
+
+cmd = "%s rdepends %s" % (self.apt_cache_cmd, pkg)
+
+try:
+output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, 
shell=True).decode("utf-8")
+except subprocess.CalledProcessError as e:
+bb.fatal("Unable to list rdepends packages. Command '%s' "
+ "returned %d:\n%s" % (cmd, e.returncode, 
e.output.decode("utf-8")))
+
+bb.warn(output)
+bb.warn(len(output.split()))
+if len(output.split()) > 2:
+return False
+else:
+return True
+
 def package_info(self, pkg):
 """
 Returns a dictionary with the package info.
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 28642abbd9..54bde6798b 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -170,6 +170,7 @@ class Rootfs(object, metaclass=ABCMeta):
 
 def create(self):
 bb.note("## Generate rootfs ###")
+bb.warn(" in create ## Generate rootfs ###")
 pre_process_cmds = self.d.getVar("ROOTFS_PREPROCESS_COMMAND")
 post_process_cmds = self.d.getVar("ROOTFS_POSTPROCESS_COMMAND")
 rootfs_post_install_cmds = self.d.getVar('ROOTFS_POSTINSTALL_COMMAND')
@@ -213,6 +214,9 @@ class Rootfs(object, metaclass=ABCMeta):
 
 self._uninstall_unneeded()
 
+bb.warn("= in rootfs() before self._fix_allarch_ml_rdeps\n")
+self._fix_allarch_ml_rdeps()
+
 if self.progress_reporter:
 self.progress_reporter.next_stage()
 
@@ -279,6 +283,30 @@ class Rootfs(object, metaclass=ABCMeta):
 # Remove the package manager data files
 self.pm.remove_packaging_data()
 
+def _fix_allarch_ml_rdeps(self):
+variant = self.d.getVar("BBEXTENDVARIANT") or ""
+ml_variants = self.d.getVar("MULTILIB_VARIANTS") or ""
+
+packages = self.pm.list_installed()
+
+pkg_to_remove = list()
+bb.warn("=== in _fix_allarch_ml_rdeps \n")
+for var in ml_variants.split():
+for pkg 

Re: [OE-core] Setting include path in a recipe

2018-07-25 Thread Khem Raj
On Tue, Jul 24, 2018 at 10:51 AM Andre McCurdy  wrote:

> On Tue, Jul 24, 2018 at 6:52 AM, Adam Lee  wrote:
> >
> > How do I defined a custom include path for an autotools recipe?
> >
> > This may as well be explained somewhere in the reference manual, but I
> can't
> > seem to find it.
>
> Assuming you want to add a custom directory which is within sysroot:
>
> CPPFLAGS += "-I=/usr/include/specialheaders"
> --


-I= is gcc specific using STAGING_INCDIR would be portable

>
> ___
> 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


Re: [OE-core] [PATCH] relocate_sdk.py: remove hardcoded SDK path

2018-07-25 Thread Richard Purdie
Whilst we merged this, it has unfortunately totally broken uninative-
tarball. We're under pressure to update to a new uninative to unbreak
builds on recent distros with sstate sharing and this now blocks doing
so.

I can't add the value to the relocate_sdk.py call from
uninative.bbclass since I don't know what value the tarball would have
been generated with.

I suspect I'll have to revert this and then you can work on a way to
fix this...

Cheers,

Richard

On Tue, 2018-07-17 at 08:22 -0700, Christopher Larson wrote:
> IMHO this is a solid improvement that should go in.
> 
> On Tue, Jul 17, 2018 at 8:09 AM Ruslan Bilovol via Openembedded-core
>  wrote:
> > Hi all,
> > 
> > Any comments on this patch?
> > 
> > Thanks
> > Ruslan
> > 
> > On 11/22/2017 01:20 PM, Ruslan Bilovol wrote:
> > > This patch removes hardcodes added to relocate_sdk.py
> > > during SDK build, making it flexible and reusable.
> > > Now default SDK path is passed to the script as
> > > parameter rather then harcoded inside it.
> > > 
> > > This allows to reuse this script for multiple
> > > relocations, and adds possibility to relocate
> > > SDK multiple times
> > > 
> > > Signed-off-by: Ruslan Bilovol 
> > > ---
> > >   meta/classes/populate_sdk_base.bbclass |  5 -
> > >   meta/files/toolchain-shar-relocate.sh  |  2 +-
> > >   scripts/relocate_sdk.py| 17 +
> > >   3 files changed, 10 insertions(+), 14 deletions(-)
> > > 
> > > diff --git a/meta/classes/populate_sdk_base.bbclass
> > b/meta/classes/populate_sdk_base.bbclass
> > > index 424c63c..e7aa5a8 100644
> > > --- a/meta/classes/populate_sdk_base.bbclass
> > > +++ b/meta/classes/populate_sdk_base.bbclass
> > > @@ -152,11 +152,6 @@ do_populate_sdk[stamp-extra-info] =
> > "${MACHINE}${SDKMACHINE}"
> > >   
> > >   fakeroot create_sdk_files() {
> > >   cp ${COREBASE}/scripts/relocate_sdk.py
> > ${SDK_OUTPUT}/${SDKPATH}/
> > > -
> > > - # Replace the ##DEFAULT_INSTALL_DIR## with the correct
> > pattern.
> > > - # Escape special characters like '+' and '.' in the SDKPATH
> > > - escaped_sdkpath=$(echo ${SDKPATH} |sed -e
> > "s:[\+\.]:\0:g")
> > > - sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:"
> > ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py
> > >   }
> > >   
> > >   python check_sdk_sysroots() {
> > > diff --git a/meta/files/toolchain-shar-relocate.sh
> > b/meta/files/toolchain-shar-relocate.sh
> > > index e3c1001..f82ff2b 100644
> > > --- a/meta/files/toolchain-shar-relocate.sh
> > > +++ b/meta/files/toolchain-shar-relocate.sh
> > > @@ -36,7 +36,7 @@ if [ x\${PYTHON} = "x"  ]; then
> > >   echo "SDK could not be relocated.  No python found."
> > >   exit 1
> > >   fi
> > > -\${PYTHON} ${env_setup_script%/*}/relocate_sdk.py
> > $target_sdk_dir $dl_path $executable_files
> > > +\${PYTHON} ${env_setup_script%/*}/relocate_sdk.py
> > $DEFAULT_INSTALL_DIR $target_sdk_dir $dl_path $executable_files
> > >   EOF
> > >   
> > >   $SUDO_EXEC mv $tdir/relocate_sdk.sh
> > ${env_setup_script%/*}/relocate_sdk.sh
> > > diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py
> > > index c752fa2..0d5a6f5 100755
> > > --- a/scripts/relocate_sdk.py
> > > +++ b/scripts/relocate_sdk.py
> > > @@ -38,8 +38,6 @@ else:
> > >   def b(x):
> > >   return x.encode(sys.getfilesystemencoding())
> > >   
> > > -old_prefix = re.compile(b("##DEFAULT_INSTALL_DIR##"))
> > > -
> > >   def get_arch():
> > >   f.seek(0)
> > >   e_ident =f.read(16)
> > > @@ -212,19 +210,22 @@ def change_dl_sysdirs(elf_file_name):
> > >   f.write(sysdirslen)
> > >   
> > >   # MAIN
> > > -if len(sys.argv) < 4:
> > > +if len(sys.argv) < 5:
> > >   sys.exit(-1)
> > >   
> > >   # In python > 3, strings may also contain Unicode characters.
> > So, convert
> > >   # them to bytes
> > >   if sys.version_info < (3,):
> > > -new_prefix = sys.argv[1]
> > > -new_dl_path = sys.argv[2]
> > > +new_prefix = sys.argv[2]
> > > +new_dl_path = sys.argv[3]
> > >   else:
> > > -new_prefix = sys.argv[1].encode()
> > > -new_dl_path = sys.argv[2].encode()
> > > +new_prefix = sys.argv[2].encode()
> > > +new_dl_path = sys.argv[3].encode()
> > > +
> > > +executables_list = sys.argv[4:]
> > >   
> > > -executables_list = sys.argv[3:]
> > > +old_prefix_ne = b(sys.argv[1])
> > > +old_prefix = re.compile(re.escape(old_prefix_ne));
> > >   
> > >   for e in executables_list:
> > >   perms = os.stat(e)[stat.ST_MODE]
> > > 
> > -- 
> > ___
> > 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


Re: [OE-core] [PATCH] webkitgtk: fix compile failure on beaglebone

2018-07-25 Thread Hongxu Jia

On 2018年07月25日 17:53, Burton, Ross wrote:

On 25 July 2018 at 08:55, Hongxu Jia  wrote:

+Upstream-Status: Pending

You'll be submitting this upstream right?


Of course, I submitted upstream after oe-core
There patch review system is based on bugzilla

https://bugs.webkit.org/show_bug.cgi?id=187991

Patch status seems ` commit-queue-'

//Hongxu

Ross



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


[OE-core] [PATCH 2/2] selftest/bbtests: Add test for bitbake execution outside the build directory

2018-07-25 Thread Richard Purdie
Also fix a related test's error message to match what it does.

Signed-off-by: Richard Purdie 
---
 meta/lib/oeqa/selftest/cases/bbtests.py | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py 
b/meta/lib/oeqa/selftest/cases/bbtests.py
index 350614967c9..005fdd09640 100644
--- a/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -15,16 +15,26 @@ class BitbakeTests(OESelftestTestCase):
 return l
 
 @OETestID(789)
+# Test bitbake can run from the /conf directory
 def test_run_bitbake_from_dir_1(self):
 os.chdir(os.path.join(self.builddir, 'conf'))
 self.assertEqual(bitbake('-e').status, 0, msg = "bitbake couldn't run 
from \"conf\" dir")
 
 @OETestID(790)
+# Test bitbake can run from the 's parent directory
 def test_run_bitbake_from_dir_2(self):
 my_env = os.environ.copy()
 my_env['BBPATH'] = my_env['BUILDDIR']
 os.chdir(os.path.dirname(os.environ['BUILDDIR']))
-self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake 
couldn't run from builddir")
+self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake 
couldn't run from builddir's parent directory")
+
+# Test bitbake can run from some other random system location (we use 
/tmp/)
+def test_run_bitbake_from_dir_3(self):
+my_env = os.environ.copy()
+my_env['BBPATH'] = my_env['BUILDDIR']
+os.chdir("/tmp/")
+self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake 
couldn't run from /tmp/")
+
 
 @OETestID(806)
 def test_event_handler(self):
-- 
2.17.1

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


[OE-core] [PATCH 1/2] selftest/bblayers: Place the test layer directory in builddir

2018-07-25 Thread Richard Purdie
Placing the layer in meta means the directory is in an unclean state
which may influence other tests. Use our build directory instead
since we 'own' that. This helps keep oe-selftest parallelisation
clean.

Signed-off-by: Richard Purdie 
---
 meta/lib/oeqa/selftest/cases/bblayers.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/cases/bblayers.py 
b/meta/lib/oeqa/selftest/cases/bblayers.py
index 3448ae1999b..447c54b7e60 100644
--- a/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -88,7 +88,7 @@ class BitbakeLayers(OESelftestTestCase):
 def test_bitbakelayers_createlayer(self):
 priority = 10
 layername = 'test-bitbakelayer-layercreate'
-layerpath = os.path.join(get_bb_var('COREBASE'), layername)
+layerpath = os.path.join(self.builddir, layername)
 self.assertFalse(os.path.exists(layerpath), '%s should not exist at 
this point in time' % layerpath)
 result = runCmd('bitbake-layers create-layer --priority=%d %s' % 
(priority, layerpath))
 self.track_for_cleanup(layerpath)
-- 
2.17.1

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


[OE-core] [PATCH] lsof: upgrade 4.89 -> 4.91

2018-07-25 Thread Ovidiu Panait
Signed-off-by: Ovidiu Panait 
---
 meta/recipes-extended/lsof/{lsof_4.89.bb => lsof_4.91.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-extended/lsof/{lsof_4.89.bb => lsof_4.91.bb} (93%)

diff --git a/meta/recipes-extended/lsof/lsof_4.89.bb 
b/meta/recipes-extended/lsof/lsof_4.91.bb
similarity index 93%
rename from meta/recipes-extended/lsof/lsof_4.89.bb
rename to meta/recipes-extended/lsof/lsof_4.91.bb
index 14546db23c..0128de4a6e 100644
--- a/meta/recipes-extended/lsof/lsof_4.89.bb
+++ b/meta/recipes-extended/lsof/lsof_4.91.bb
@@ -15,8 +15,8 @@ SRC_URI = 
"http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/uni
file://lsof-remove-host-information.patch \
   "
 
-SRC_URI[md5sum] = "1b9cd34f3fb86856a125abbf2be3a386"
-SRC_URI[sha256sum] = 
"81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a360a3718"
+SRC_URI[md5sum] = "148ed410cb52e08c2adc0c60f480f11f"
+SRC_URI[sha256sum] = 
"c9da946a525fbf82ff80090b6d1879c38df090556f3fe0e6d782cb44172450a3"
 
 LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
 
-- 
2.17.1

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


[OE-core] oe-selftest test cases which write to meta/

2018-07-25 Thread Richard Purdie
As some will have gathered we want to parallelise oe-selftest. In the
weekly status report I promised a report of the problems.

There are some test cases which write to meta/ and these interfere with
other tests which may be running in parallel. I've run oe-selftest with
monitoring in the background to spot changes. The tests I found were
making changes are:

devtool.DevtoolUpdateTests.test_devtool_update_recipe
bblayers.BitbakeLayers.test_bitbakelayers_createlayer
devtool.DevtoolUpdateTests.test_devtool_update_recipe_git
devtool.DevtoolUpdateTests.test_devtool_update_recipe_append_git
devtool.DevtoolUpdateTests.test_devtool_update_recipe_local_files
devtool.DevtoolUpgradeTests.test_devtool_finish_modify_origlayer
devtool.DevtoolUpgradeTests.test_devtool_load_plugin
recipetool.RecipetoolTests.test_recipetool_load_plugin
bbtests.BitbakeTests.test_run_bitbake_from_dir_2

I believe Paul is going to look at a generic solution for
devtool.DevtoolUpgradeTests and devtool.DevtoolUpdateTests where we'll
make a copy of meta/ since those have a genuine need to modify the
meta/ directory for the test.

That will leave:

bblayers.BitbakeLayers.test_bitbakelayers_createlayer
devtool.DevtoolUpgradeTests.test_devtool_load_plugin
recipetool.RecipetoolTests.test_recipetool_load_plugin
bbtests.BitbakeTests.test_run_bitbake_from_dir_2

I suspect these 4 don't break other tests so we don't need to fix these
before enabling parallelisation by default but we still need to fix
them.

createlayer is probably easy to fix, the load_plugins test is harder
(both are the same issue). The last bitbake one generates a cookerlog
in an annoying location so is hopefully easy to fix by choice of
working directory too.

Details follow below with a list of files each test changes or creates.

Cheers,

Richard



*** devtool.DevtoolUpdateTests.test_devtool_update_recipe:

diff --git a/meta/recipes-extended/minicom/minicom_2.7.1.bb 
b/meta/recipes-extended/minicom/minicom_2.7.1.bb
index 1e6f1317ebe..94c75d8b7d8 100644
--- a/meta/recipes-extended/minicom/minicom_2.7.1.bb
+++ b/meta/recipes-extended/minicom/minicom_2.7.1.bb
@@ -11,7 +11,9 @@ SRC_URI = 
"${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.gz \
file://allow.to.disable.lockdev.patch \
file://0001-fix-minicom-h-v-return-value-is-not-0.patch \
file://0001-Fix-build-issus-surfaced-due-to-musl.patch \
-  "
+   file://0001-Change-the-README.patch \
+   file://0002-Add-a-new-file.patch \
+   "
 
 SRC_URI[md5sum] = "9021cb8c5445f6e6e74b2acc39962d62"
 SRC_URI[sha256sum] = 
"532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1"


*** bblayers.BitbakeLayers.test_bitbakelayers_createlayer

test-bitbakelayer-layercreate/COPYING.MIT
test-bitbakelayer-layercreate/README
test-bitbakelayer-layercreate/conf/layer.conf
test-bitbakelayer-layercreate/recipes-example/example/example_0.1.bb

*** devtool.DevtoolUpdateTests.test_devtool_update_recipe_append_git

diff --git 
a/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git-2.patch 
b/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git-2.patch
deleted file mode 100644
index 5d874d9810b..000
--- 
a/meta/recipes-devtools/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-git-2.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-Upstream-Status: Pending
-
-Index: git/jffsX-utils/mkfs.jffs2.c
-===
 git.orig/jffsX-utils/mkfs.jffs2.c
-+++ git/jffsX-utils/mkfs.jffs2.c
-@@ -100,6 +100,11 @@ struct filesystem_entry {
-   struct rb_node hardlink_rb;
- };
- 
-+struct ignorepath_entry {
-+  struct ignorepath_entry* next;  /* Points to the next ignorepath 
element */
-+  char name[PATH_MAX];/* Name of the entry */
-+};
-+static struct ignorepath_entry* ignorepath = 0;
- struct rb_root hardlinks;
- static int out_fd = -1;
- static int in_fd = -1;
-@@ -309,7 +314,7 @@ static struct filesystem_entry *recursiv
-   char *hpath, *tpath;
-   struct dirent *dp, **namelist;
-   struct filesystem_entry *entry;
--
-+  struct ignorepath_entry* element = ignorepath;
- 
-   if (lstat(hostpath, )) {
-   sys_errmsg_die("%s", hostpath);
-@@ -318,6 +323,15 @@ static struct filesystem_entry *recursiv
-   entry = add_host_filesystem_entry(targetpath, hostpath,
-   sb.st_uid, sb.st_gid, sb.st_mode, 0, parent);
- 
-+  while ( element ) {
-+  if ( strcmp( element->name, targetpath ) == 0 ) {
-+  printf( "Note: ignoring directories below '%s'\n", 
targetpath );
-+  return entry;
-+  break;
-+  }
-+  element = element->next;
-+  }
-+
-   n = scandir(hostpath, , 0, alphasort);
-   if (n < 0) {
-   sys_errmsg_die("opening directory %s", hostpath);
-@@ -1359,6 +1373,7 @@ static struct option long_options[] = {
-   {"root", 1, 

Re: [OE-core] [PATCH] binutils : enable production of EFI binaries on x86-64

2018-07-25 Thread Burton, Ross
Yes, please just enable it as widely as possible.

Ross

On 25 July 2018 at 06:56, Khem Raj  wrote:
> On Tue, Jul 24, 2018 at 8:16 PM Christopher Clark
>  wrote:
>>
>> From: Christopher Clark 
>>
>> When MACHINE_FEATURES includes "efi" and target is x86-64,
>> enable the linker to produce Portable Executables: EFI binaries.
>>
>> Supplies "--enable-targets=x86_64-pep" in EXTRA_OECONF.
>>
>> Enables building the EFI variant of the Xen hypervisor.
>>
>> Signed-off-by: Christopher Clark 
>> ---
>>  meta/recipes-devtools/binutils/binutils.inc | 5 -
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-devtools/binutils/binutils.inc 
>> b/meta/recipes-devtools/binutils/binutils.inc
>> index 37813dd..eedcc7e 100644
>> --- a/meta/recipes-devtools/binutils/binutils.inc
>> +++ b/meta/recipes-devtools/binutils/binutils.inc
>> @@ -69,12 +69,15 @@ python do_package_prepend() {
>>
>>  B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
>>
>> +ENABLE_EFI_BINARIES_x86-64 = "--enable-targets=x86_64-pep"
>> +
>
>
>
>>  EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
>>  --disable-werror \
>>  --enable-deterministic-archives \
>>  --enable-plugins \
>>  ${LDGOLD} \
>> -${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', 
>> '--enable-64-bit-bfd', '', d)}"
>> +${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', 
>> '--enable-64-bit-bfd', '', d)} \
>> +${@bb.utils.contains('MACHINE_FEATURES', 'efi', 
>> '${ENABLE_EFI_BINARIES}', '', d)}"
>
> I think we should avoid using machine features rather enable this
> emulation unconditionally for efi enabled
> targets, which for now are arm/x86/x86_64/aarch64
>
>>
>>  LDGOLD_class-native = ""
>>  LDGOLD_class-crosssdk = ""
>> --
>> 2.7.4
>>
> --
> ___
> 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


Re: [OE-core] [PATCH] webkitgtk: fix compile failure on beaglebone

2018-07-25 Thread Burton, Ross
On 25 July 2018 at 08:55, Hongxu Jia  wrote:
> +Upstream-Status: Pending

You'll be submitting this upstream right?

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


Re: [OE-core] [PATCH 2/3] runqemu: default qemumips memory to 256M

2018-07-25 Thread Robert Yang

Sorry, please ignore this one, it had been fixed by:

commit c68e4c6e3eb612bb7afd9d7f1e9a6dc295d44346
Author: He Zhe 
Date:   Sun Jul 8 20:14:43 2018 -0700

scripts/runqemu: fix qemumips qemumips64 memory detection kernel panic


I removed it from repo.

// Robert

On 07/25/2018 04:34 PM, Robert Yang wrote:

The qemumips or qemumips64 can't be boot with 512M.

*Fixed when no QB_MEM is set:
  - runqemu qemumips nographic core-image-minimal
[0.00] Call Trace:
[0.00] [<8011c010>] clear_page+0x0/0x128
[0.00] [<8022b818>] get_page_from_freelist+0xa1c/0xb48
[0.00] [<8022c00c>] __alloc_pages_nodemask+0xd8/0xf0c
[0.00] [<8022ce58>] __get_free_pages+0x18/0x60
[0.00] [<80118674>] setup_zero_pages+0x1c/0x98
[0.00] [<80bd23e4>] mem_init+0x44/0x54
[0.00] [<80bca964>] start_kernel+0x20c/0x4bc
[0.00] [<80920090>] kernel_entry+0x0/0x40
[0.00] Code:      <34860f80> cc9e  cc9e0010 
 cc9e0020  cc9e0030  cc9e0040
[0.00]
[0.00] ---[ end trace  ]---
[0.00] Kernel panic - not syncing: Attempted to kill the idle task!
[0.00] ---[ end Kernel panic - not syncing: Attempted to kill the idle 
task!

[YOCTO #11521]

Signed-off-by: Robert Yang 
---
  scripts/runqemu | 9 +++--
  1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 73d7d58..7a13e5d 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -665,8 +665,13 @@ class BaseConfig(object):
  if s:
  self.set('QB_MEM', '-m %s' % s.group(1))
  elif not self.get('QB_MEM'):
-logger.info('QB_MEM is not set, use 512M by default')
-self.set('QB_MEM', '-m 512')
+mach = self.get('MACHINE')
+if mach.startswith('qemumips'):
+logger.info('QB_MEM is not set, use 256M by default')
+self.set('QB_MEM', '-m 256')
+else:
+logger.info('QB_MEM is not set, use 512M by default')
+self.set('QB_MEM', '-m 512')
  
  mach = self.get('MACHINE')

  if not mach.startswith('qemumips'):


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


[OE-core] [PATCH 2/3] runqemu: default qemumips memory to 256M

2018-07-25 Thread Robert Yang
The qemumips or qemumips64 can't be boot with 512M.

*Fixed when no QB_MEM is set:
 - runqemu qemumips nographic core-image-minimal
[0.00] Call Trace:
[0.00] [<8011c010>] clear_page+0x0/0x128
[0.00] [<8022b818>] get_page_from_freelist+0xa1c/0xb48
[0.00] [<8022c00c>] __alloc_pages_nodemask+0xd8/0xf0c
[0.00] [<8022ce58>] __get_free_pages+0x18/0x60
[0.00] [<80118674>] setup_zero_pages+0x1c/0x98
[0.00] [<80bd23e4>] mem_init+0x44/0x54
[0.00] [<80bca964>] start_kernel+0x20c/0x4bc
[0.00] [<80920090>] kernel_entry+0x0/0x40
[0.00] Code:      <34860f80> cc9e  cc9e0010 
 cc9e0020  cc9e0030  cc9e0040
[0.00]
[0.00] ---[ end trace  ]---
[0.00] Kernel panic - not syncing: Attempted to kill the idle task!
[0.00] ---[ end Kernel panic - not syncing: Attempted to kill the idle 
task!

[YOCTO #11521]

Signed-off-by: Robert Yang 
---
 scripts/runqemu | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 73d7d58..7a13e5d 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -665,8 +665,13 @@ class BaseConfig(object):
 if s:
 self.set('QB_MEM', '-m %s' % s.group(1))
 elif not self.get('QB_MEM'):
-logger.info('QB_MEM is not set, use 512M by default')
-self.set('QB_MEM', '-m 512')
+mach = self.get('MACHINE')
+if mach.startswith('qemumips'):
+logger.info('QB_MEM is not set, use 256M by default')
+self.set('QB_MEM', '-m 256')
+else:
+logger.info('QB_MEM is not set, use 512M by default')
+self.set('QB_MEM', '-m 512')
 
 mach = self.get('MACHINE')
 if not mach.startswith('qemumips'):
-- 
2.7.4

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


[OE-core] [PATCH 1/3] qemurunner.py: fix is_alive() to avoid confusing with recycled pid

2018-07-25 Thread Robert Yang
[YOCTO #12493]

Fixed:
- qemu started with pid 1
- qemu exited unexpectedly
- The pid 1 is re-used by another different process.

The is_alive() returned True in such a case because both qemu_pidfile and
/proc/1 exist, but it's another process, this patch fixed the problem.

Signed-off-by: Robert Yang 
---
 meta/lib/oeqa/utils/qemurunner.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/utils/qemurunner.py 
b/meta/lib/oeqa/utils/qemurunner.py
index c962602..864fc71 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -400,7 +400,7 @@ class QemuRunner:
 return False
 
 def is_alive(self):
-if not self.runqemu:
+if not self.runqemu or self.runqemu.poll() is not None:
 return False
 if os.path.isfile(self.qemu_pidfile):
 f = open(self.qemu_pidfile, 'r')
-- 
2.7.4

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


[OE-core] [PATCH 3/3] runqemu: let qemuparams override previous settings

2018-07-25 Thread Robert Yang
Fixed:
$ runqemu qemux86-64 qemuparams="-cpu coreduo"
The default cpu is core2duo, but coreduo should be used here.

Append qemuparams to the last can fix the problem.

[YOCTO #11773]

Signed-off-by: Robert Yang 
---
 scripts/runqemu | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 7a13e5d..6b4078f 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -188,6 +188,7 @@ class BaseConfig(object):
 
 self.qemu_opt = ''
 self.qemu_opt_script = ''
+self.qemuparams = ''
 self.clean_nfs_dir = False
 self.nfs_server = ''
 self.rootfs = ''
@@ -451,7 +452,7 @@ class BaseConfig(object):
 elif arg.startswith('biosfilename='):
 self.qemu_opt_script += ' -bios %s' % 
arg[len('biosfilename='):]
 elif arg.startswith('qemuparams='):
-self.qemu_opt_script += ' %s' % arg[len('qemuparams='):]
+self.qemuparams = ' %s' % arg[len('qemuparams='):]
 elif arg.startswith('bootparams='):
 self.bootparams = arg[len('bootparams='):]
 elif os.path.exists(arg) or (re.search(':', arg) and 
re.search('/', arg)):
@@ -661,10 +662,12 @@ class BaseConfig(object):
 raise RunQemuError("Invalid custombiosdir: %s" % 
self.custombiosdir)
 
 def check_mem(self):
-s = re.search('-m +([0-9]+)', self.qemu_opt_script)
-if s:
-self.set('QB_MEM', '-m %s' % s.group(1))
-elif not self.get('QB_MEM'):
+for opt in (self.qemu_opt_script, self.qemuparams):
+s = re.search('-m +([0-9]+)', opt)
+if s:
+self.set('QB_MEM', '-m %s' % s.group(1))
+
+if not self.get('QB_MEM'):
 mach = self.get('MACHINE')
 if mach.startswith('qemumips'):
 logger.info('QB_MEM is not set, use 256M by default')
@@ -1166,6 +1169,10 @@ class BaseConfig(object):
 
 self.qemu_opt += ' ' + self.qemu_opt_script
 
+# Append qemuparams to override previous settings
+if self.qemuparams:
+self.qemu_opt += ' ' + self.qemuparams
+
 if self.snapshot:
 self.qemu_opt += " -snapshot"
 
-- 
2.7.4

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


[OE-core] [PATCH 0/3] 3 fixes for runqemu and qemurunner.py

2018-07-25 Thread Robert Yang
The following changes since commit 39c1719a32ed5567e3bf2df5c4f9068d0f5a9400:

  uninative-tarball: Add nativesdk-libnss-nis to resolve glibc symbol issues 
(2018-07-24 17:03:39 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/qemu
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/qemu

Robert Yang (3):
  qemurunner.py: fix is_alive() to avoid confusing with recycled pid
  runqemu: default qemumips memory to 256M
  runqemu: let qemuparams override previous settings

 meta/lib/oeqa/utils/qemurunner.py |  2 +-
 scripts/runqemu   | 26 +++---
 2 files changed, 20 insertions(+), 8 deletions(-)

-- 
2.7.4

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


Re: [OE-core] [PATCH v2] cross-canadian/libgcc: fix aarch64's multilib SDK

2018-07-25 Thread Robert Yang

Hi Maohui,

Thanks for sending it, I do think that oe-core needs this patch.

// Robert

On 06/26/2018 06:27 AM, Lei Maohui wrote:

The arm toolchain has a "-gnueabi" suffix, but aarch64 doesn't,
this makes multilib sdk doesn't work, there will be error as following:

.../usr/libexec/armeb-poky-linux-gux-linux-gnueabi/7.3.0/real-ld: cannot find 
crtbeginS.o: No such file or directo
.../usr/libexec/armeb-poky-linux-gux-linux-gnueabi/7.3.0/real-ld: cannot find 
-lgcc
.../usr/libexec/armeb-poky-linux-gux-linux-gnueabi/7.3.0/real-ld: cannot find 
-lgcc
collect2: error: ld returned 1 exit status

Signed-off-by: Robert Yang 
Signed-off-by: Lei Maohui 
---
  meta/recipes-devtools/gcc/libgcc-common.inc | 23 +--
  1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc 
b/meta/recipes-devtools/gcc/libgcc-common.inc
index 848a476..a49fc98 100644
--- a/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -145,11 +145,22 @@ fakeroot python do_extra_symlinks() {
  if bb.data.inherits_class('nativesdk', d):
  return
  
-targetsys = d.getVar('BASETARGET_SYS')

+base_targetsys = d.getVar('BASETARGET_SYS')
+targetsys = d.getVar('TARGET_SYS')
+
+if base_targetsys != targetsys:
+dest = d.getVar('D') + d.getVar('libdir') + '/' + base_targetsys
+dest_list = [dest]
+# For multilib like aarch64 + arm, need 2 symlinks:
+# 1) BASETARGET_SYS as usual
+# 2) BASETARGET_SYS + "-gnueabi" for multilib
+libce = d.getVar('LIBCEXTENSION')
+abie = d.getVar('ABIEXTENSION')
+if abie and libce and targetsys.endswith(libce + abie):
+dest_list.append(dest + libce + abie)
+src = targetsys
+for dir in dest_list:
+if not os.path.lexists(dir) and os.path.lexists(d.getVar('D', 
True) + d.getVar('libdir', True)):
+os.symlink(src, dir)
  
-if targetsys != d.getVar('TARGET_SYS'):

-dest = d.getVar('D') + d.getVar('libdir') + '/' + targetsys
-src = d.getVar('TARGET_SYS')
-if not os.path.lexists(dest) and os.path.lexists(d.getVar('D') + 
d.getVar('libdir')):
-os.symlink(src, dest)
  }


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


Re: [OE-core] [PATCH] cryptodev-linux: Fixes a kernel crash observed with cipher-gcm test.

2018-07-25 Thread He Zhe
Seems this needs updating. The context of cryptiodev-module_1.9.bb has changed.

Thanks,
Zhe

On 2018年07月09日 10:24, Jiping Ma wrote:
> The crypto API for AEAD ciphers changed in recent kernels so that
> associated data is now part of both source and destination scatter
> gathers. The source, destination and associated data buffers need
> to be stiched accordingly for the operations to succeed.
>
> Signed-off-by: Jiping Ma 
> ---
>  .../cryptodev/cryptodev-module_1.9.bb  |   2 +
>  ...inux-split-big-function-to-simplify-maint.patch | 249 
> +
>  ...inux-Fixes-a-kernel-crash-observed-with-c.patch | 115 ++
>  3 files changed, 366 insertions(+)
>  create mode 100644 
> meta/recipes-kernel/cryptodev/files/0001-cryptodev-linux-split-big-function-to-simplify-maint.patch
>  create mode 100644 
> meta/recipes-kernel/cryptodev/files/0002-cryptodev-linux-Fixes-a-kernel-crash-observed-with-c.patch
>
> diff --git a/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb 
> b/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb
> index 552eb6a..16ac527 100644
> --- a/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb
> +++ b/meta/recipes-kernel/cryptodev/cryptodev-module_1.9.bb
> @@ -9,6 +9,8 @@ DEPENDS += "cryptodev-linux"
>  
>  SRC_URI += " \
>  file://0001-Disable-installing-header-file-provided-by-another-p.patch \
> +file://0001-cryptodev-linux-split-big-function-to-simplify-maint.patch \
> +file://0002-cryptodev-linux-Fixes-a-kernel-crash-observed-with-c.patch \
>  "
>  
>  EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
> diff --git 
> a/meta/recipes-kernel/cryptodev/files/0001-cryptodev-linux-split-big-function-to-simplify-maint.patch
>  
> b/meta/recipes-kernel/cryptodev/files/0001-cryptodev-linux-split-big-function-to-simplify-maint.patch
> new file mode 100644
> index 000..56a5bb7
> --- /dev/null
> +++ 
> b/meta/recipes-kernel/cryptodev/files/0001-cryptodev-linux-split-big-function-to-simplify-maint.patch
> @@ -0,0 +1,249 @@
> +From 1b0b6cc97ba5cc71ae1385d125256fc1b2d606b0 Mon Sep 17 00:00:00 2001
> +From: Jiping Ma 
> +Date: Wed, 2 May 2018 04:59:32 +
> +Subject: [PATCH 1/2] cryptodev-linux: split big function to simplify
> + maintainance
> +
> +The setup of auth_buf in tls and aead is now duplicated but this
> +is temporary and allows necessary corrections for the aead case
> +with v4.2+ kernels.
> +
> +Upstream-Status: Backported
> +
> +commit 20dcf071bc3076ee7db9d603cfbe6a06e86c7d5f
> +
> +Signed-off-by: Jiping Ma 
> +---
> + authenc.c | 197 
> --
> + 1 file changed, 126 insertions(+), 71 deletions(-)
> +
> +diff --git a/authenc.c b/authenc.c
> +index 1bd7377..28eb0f9 100644
> +--- a/authenc.c
>  b/authenc.c
> +@@ -609,96 +609,151 @@ auth_n_crypt(struct csession *ses_ptr, struct 
> kernel_crypt_auth_op *kcaop,
> + return 0;
> + }
> + 
> +-/* This is the main crypto function - zero-copy edition */
> +-static int
> +-__crypto_auth_run_zc(struct csession *ses_ptr, struct kernel_crypt_auth_op 
> *kcaop)
> ++static int crypto_auth_zc_srtp(struct csession *ses_ptr, struct 
> kernel_crypt_auth_op *kcaop)
> + {
> +-struct scatterlist *dst_sg, *auth_sg, *src_sg;
> ++struct scatterlist *dst_sg, *auth_sg;
> + struct crypt_auth_op *caop = >caop;
> +-int ret = 0;
> ++int ret;
> + 
> +-if (caop->flags & COP_FLAG_AEAD_SRTP_TYPE) {
> +-if (unlikely(ses_ptr->cdata.init != 0 &&
> +- (ses_ptr->cdata.stream == 0 ||
> +-  ses_ptr->cdata.aead != 0))) {
> +-derr(0, "Only stream modes are allowed in SRTP mode 
> (but not AEAD)");
> +-return -EINVAL;
> +-}
> ++if (unlikely(ses_ptr->cdata.init != 0 &&
> ++(ses_ptr->cdata.stream == 0 || ses_ptr->cdata.aead != 0))) {
> ++derr(0, "Only stream modes are allowed in SRTP mode (but not 
> AEAD)");
> ++return -EINVAL;
> ++}
> + 
> +-ret = get_userbuf_srtp(ses_ptr, kcaop, _sg, _sg);
> +-if (unlikely(ret)) {
> +-derr(1, "get_userbuf_srtp(): Error getting user 
> pages.");
> +-return ret;
> +-}
> ++ret = get_userbuf_srtp(ses_ptr, kcaop, _sg, _sg);
> ++if (unlikely(ret)) {
> ++derr(1, "get_userbuf_srtp(): Error getting user pages.");
> ++return ret;
> ++}
> + 
> +-ret = srtp_auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
> +-   dst_sg, caop->len);
> ++ret = srtp_auth_n_crypt(ses_ptr, kcaop, auth_sg, caop->auth_len,
> ++dst_sg, caop->len);
> + 
> +-release_user_pages(ses_ptr);
> +-} else { /* TLS and normal cases. Here auth data are usually small
> +-  * so we just copy them to a free page, instead of trying
> +-  * to map them.
> +-  */
> +-

[OE-core] [PATCH] webkitgtk: fix compile failure on beaglebone

2018-07-25 Thread Hongxu Jia
Since the following patch applied in upstream webkitgtk
...
commit 1a55d8c685b3e5b4dbeda202009e7527aa59eadd
Author: simon.fra...@apple.com 

Date:   Thu Nov 23 22:20:09 2017 +

FELighting cleanup and optimization
https://bugs.webkit.org/show_bug.cgi?id=179933
...

It missed to tweak `paintingData.lightVector' which caused
PaintingData' has no member named 'lightVector' on ARM_NEON
(beaglebone)

Signed-off-by: Hongxu Jia 
---
 ...gData-has-no-member-named-lightVector-on-.patch | 36 ++
 meta/recipes-sato/webkit/webkitgtk_2.20.3.bb   |  1 +
 2 files changed, 37 insertions(+)
 create mode 100644 
meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch

diff --git 
a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch
 
b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch
new file mode 100644
index 000..af90ad7
--- /dev/null
+++ 
b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch
@@ -0,0 +1,36 @@
+From a5d4e038268ae23486fecc1966fd2e16a7f40ce8 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia 
+Date: Wed, 25 Jul 2018 00:23:48 -0700
+Subject: [PATCH] Fix PaintingData' has no member named 'lightVector' on
+ ARM_NEON
+
+* platform/graphics/cpu/arm/filters/FELightingNEON.h:
+(WebCore::FELighting::platformApplyNeon):
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia 
+---
+ Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h 
b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+index 42af922..b542a4c 100644
+--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
 b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+@@ -144,9 +144,9 @@ inline void FELighting::platformApplyNeon(const 
LightingData& data, const LightS
+ neonData.flags |= FLAG_CONE_EXPONENT_IS_1;
+ } else {
+ ASSERT(m_lightSource->type() == LS_DISTANT);
+-floatArguments.lightX = paintingData.lightVector.x();
+-floatArguments.lightY = paintingData.lightVector.y();
+-floatArguments.lightZ = paintingData.lightVector.z();
++floatArguments.lightX = 
paintingData.initialLightingData.lightVector.x();
++floatArguments.lightY = 
paintingData.initialLightingData.lightVector.y();
++floatArguments.lightZ = 
paintingData.initialLightingData.lightVector.z();
+ floatArguments.padding2 = 1;
+ }
+ 
+-- 
+2.10.2
+
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.20.3.bb 
b/meta/recipes-sato/webkit/webkitgtk_2.20.3.bb
index 9d0f00a..a528c5d 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.20.3.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.20.3.bb
@@ -21,6 +21,7 @@ SRC_URI = 
"http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://0001-Fix-build-with-musl.patch \
file://detect-gstreamer-gl.patch \
file://0012-soup-Forward-declare-URL-class.patch \
+   
file://0001-Fix-PaintingData-has-no-member-named-lightVector-on-.patch \
"
 
 SRC_URI[md5sum] = "efb69a0cc3cc67ef2647efec22e44c69"
-- 
2.10.2

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