[OE-core] [PATCH 3/3 v3] scripts/test-case-mgmt: enable manual execution and result creation

2019-01-03 Thread Yeoh Ee Peng
From: Mazliana 

Integrated “manualexecution” operation to test-case-mgmt scripts.
Manual execution script is a helper script to execute all manual
test cases in baseline command, which consists of user guideline
steps and the expected results. The last step will ask user to
provide their input to execute result. The input options are
passed/failed/blocked/skipped status. The result given will be
written in testresults.json including log error from the user
input and configuration if there is any.The output test result
for json file is created by using OEQA library.

The configuration part is manually key-in by the user. The system
allow user to specify how many configuration they want to add and
they need to define the required configuration name and value pair.
In QA perspective, "configuration" means the test environments and
parameters used during QA setup before testing can be carry out.
Example of configurations: image used for boot up, host machine
distro used, poky configurations, etc.

The purpose of adding the configuration is to standardize the
output test result format between automation and manual execution.

To use these scripts, first source oe environment, then run the
entry point script to look for help.
$ test-case-mgmt

To execute manual test cases, execute the below
$ test-case-mgmt manualexecution 

By default testresults.json store in /tmp/log/manual/

[YOCTO #12651]

Signed-off-by: Mazliana 
---
 scripts/lib/testcasemgmt/manualexecution.py | 142 
 scripts/test-case-mgmt  |  11 ++-
 2 files changed, 152 insertions(+), 1 deletion(-)
 create mode 100644 scripts/lib/testcasemgmt/manualexecution.py

diff --git a/scripts/lib/testcasemgmt/manualexecution.py 
b/scripts/lib/testcasemgmt/manualexecution.py
new file mode 100644
index 000..8fd378d
--- /dev/null
+++ b/scripts/lib/testcasemgmt/manualexecution.py
@@ -0,0 +1,142 @@
+# test case management tool - manual execution from testopia test cases
+#
+# Copyright (c) 2018, Intel Corporation.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms and conditions of the GNU General Public License,
+# version 2, as published by the Free Software Foundation.
+#
+# This program is distributed in the hope it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+# more details.
+#
+import argparse
+import json
+import os
+import sys
+import datetime
+import re
+from oeqa.core.runner import OETestResultJSONHelper
+
+class ManualTestRunner(object):
+def __init__(self):
+self.jdata = ''
+self.test_module = ''
+self.test_suite = ''
+self.test_case = ''
+self.configuration = ''
+self.starttime = ''
+self.result_id = ''
+self.write_dir = ''
+
+def _read_json(self, file):
+self.jdata = json.load(open('%s' % file))
+self.test_case = []
+self.test_module = self.jdata[0]['test']['@alias'].split('.', 2)[0]
+self.test_suite = self.jdata[0]['test']['@alias'].split('.', 2)[1]
+for i in range(0, len(self.jdata)):
+self.test_case.append(self.jdata[i]['test']['@alias'].split('.', 
2)[2])
+
+def _get_input(self, config):
+while True:
+output = input('{} = '.format(config))
+if re.match('^[a-zA-Z0-9_]+$', output):
+break
+print('Only alphanumeric and underscore are allowed. Please try 
again')
+return output
+
+def _create_config(self):
+self.configuration = {}
+while True:
+try:
+conf_total = int(input('\nPlease provide how many 
configuration you want to save \n'))
+break
+except ValueError:
+print('Invalid input. Please provide input as a number not 
character.')
+for i in range(conf_total):
+print('-')
+print('This is configuration #%s ' % (i + 1) + '. Please provide 
configuration name and its value')
+print('-')
+name_conf = self._get_input('Configuration Name')
+value_conf = self._get_input('Configuration Value')
+print('-\n')
+self.configuration[name_conf.upper()] = value_conf
+current_datetime = datetime.datetime.now()
+self.starttime = current_datetime.strftime('%Y%m%d%H%M%S')
+self.configuration['STARTTIME'] = self.starttime
+self.configuration['TEST_TYPE'] = self.test_module
+
+def _create_result_id(self):
+self.result_id = 'manual_' + self.test_module + '_' + self.starttime
+
+def _execute_test_steps(self, test_id):
+test_result = {}
+testcase_id = self.test_mod

[OE-core] [PATCH 2/3 v3] scripts/test-case-mgmt: store test result and reporting

2019-01-03 Thread Yeoh Ee Peng
These scripts were developed as an alternative testcase management
tool to Testopia. Using these scripts, user can manage the
testresults.json files generated by oeqa automated tests. Using the
"store" operation, user can store multiple groups of test result each
into individual git branch. Within each git branch, user can store
multiple testresults.json files under different directories (eg.
categorize directory by selftest-, runtime--).
Then, using the "report" operation, user can view the test result
summary for all available testresults.json files being stored that
were grouped by directory and test configuration.

The "report" operation expect the testresults.json file to use the
json format below.
{
"": {
"configuration": {
"": "",
"": "",
...
"": "",
},
"result": {
"": {
"status": "",
"log": ""
},
"": {
"status": "",
"log": ""
},
...
"": {
"status": "",
"log": ""
},
}
},
...
"": {
"configuration": {
"": "",
"": "",
...
"": "",
},
"result": {
"": {
"status": "",
"log": ""
},
"": {
"status": "",
"log": ""
},
...
"": {
"status": "",
"log": ""
},
}
},
}

To use these scripts, first source oe environment, then run the
entry point script to look for help.
$ test-case-mgmt

To store test result from oeqa automated tests, execute the below
$ test-case-mgmt store  
By default, test result will be stored at /testresults

To store test result from oeqa automated tests under a specific
directory, execute the below
$ test-case-mgmt store   -s 

To view test report, execute the below
$ test-case-mgmt view 

This scripts depends on scripts/oe-git-archive where it was
facing error if gitpython package was not installed. Refer to
[YOCTO# 13082] for more detail.

[YOCTO# 12654]

Signed-off-by: Yeoh Ee Peng 
---
 scripts/lib/testcasemgmt/__init__.py   |   0
 scripts/lib/testcasemgmt/gitstore.py   | 172 +
 scripts/lib/testcasemgmt/report.py | 136 
 scripts/lib/testcasemgmt/store.py  |  40 +
 .../template/test_report_full_text.txt |  33 
 scripts/test-case-mgmt |  96 
 6 files changed, 477 insertions(+)
 create mode 100644 scripts/lib/testcasemgmt/__init__.py
 create mode 100644 scripts/lib/testcasemgmt/gitstore.py
 create mode 100644 scripts/lib/testcasemgmt/report.py
 create mode 100644 scripts/lib/testcasemgmt/store.py
 create mode 100644 scripts/lib/testcasemgmt/template/test_report_full_text.txt
 create mode 100755 scripts/test-case-mgmt

diff --git a/scripts/lib/testcasemgmt/__init__.py 
b/scripts/lib/testcasemgmt/__init__.py
new file mode 100644
index 000..e69de29
diff --git a/scripts/lib/testcasemgmt/gitstore.py 
b/scripts/lib/testcasemgmt/gitstore.py
new file mode 100644
index 000..19ff28f
--- /dev/null
+++ b/scripts/lib/testcasemgmt/gitstore.py
@@ -0,0 +1,172 @@
+# test case management tool - store test result & log to git repository
+#
+# Copyright (c) 2018, Intel Corporation.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms and conditions of the GNU General Public License,
+# version 2, as published by the Free Software Foundation.
+#
+# This program is distributed in the hope it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+# more details.
+#
+import tempfile
+import os
+import subprocess
+import shutil
+import scriptpath
+scriptpath.add_bitbake_lib_path()
+scriptpath.add_oe_lib_path()
+from oeqa.utils.git import GitRepo, GitError
+
+class GitStore(object):
+
+def __init__(self, git_dir, git_branch):
+self.git_dir = git_dir
+self.git_branch = git_branch
+
+def _git_init(self):
+return GitRepo(self.git_dir, is_topdir=True)
+
+def _run_git_cmd(self, repo, cmd):
+try:
+output = repo.run_cmd(cmd)
+return True, output
+except GitError:
+return False, None
+
+def check_if_git_dir_exist(self, logger):
+if not os.path.exists('%s/.git' % self.git_dir):
+logger.debug('Could not find destination git directory: %s' % 
self.git_dir)
+return False
+logger.debug('Found destination git directory: %s' % self.git_dir)
+return True
+
+def checkout_git_dir(self, logger):
+repo = self._git_init()
+ 

[OE-core] [PATCH 0/3 v3] test-case-mgmt

2019-01-03 Thread Yeoh Ee Peng
v1:
  Face key error from oe-git-archive
  Undesirable behavior when storing to multiple git branch

v2: 
  Include fix for oe-git-archive
  Include fix for store result to multiple git branch
  Improve git commit message   

v3:
  Enhance fix for oe-git-archive by using exception catch to
  improve code readability and easy to understand

Mazliana (1):
  scripts/test-case-mgmt: enable manual execution and result creation

Yeoh Ee Peng (2):
  scripts/oe-git-archive: fix non-existent key referencing error
  scripts/test-case-mgmt: store test result and reporting

 scripts/lib/testcasemgmt/__init__.py   |   0
 scripts/lib/testcasemgmt/gitstore.py   | 172 +
 scripts/lib/testcasemgmt/manualexecution.py| 142 +
 scripts/lib/testcasemgmt/report.py | 136 
 scripts/lib/testcasemgmt/store.py  |  40 +
 .../template/test_report_full_text.txt |  33 
 scripts/oe-git-archive |  19 ++-
 scripts/test-case-mgmt | 105 +
 8 files changed, 641 insertions(+), 6 deletions(-)
 create mode 100644 scripts/lib/testcasemgmt/__init__.py
 create mode 100644 scripts/lib/testcasemgmt/gitstore.py
 create mode 100644 scripts/lib/testcasemgmt/manualexecution.py
 create mode 100644 scripts/lib/testcasemgmt/report.py
 create mode 100644 scripts/lib/testcasemgmt/store.py
 create mode 100644 scripts/lib/testcasemgmt/template/test_report_full_text.txt
 create mode 100755 scripts/test-case-mgmt

-- 
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 v3] scripts/oe-git-archive: fix non-existent key referencing error

2019-01-03 Thread Yeoh Ee Peng
Without installing gitpython package, oe-git-archive will face error
below, where it was referencing key that was non-existent inside
metadata object.

Traceback (most recent call last):
  File "/scripts/oe-git-archive", line 271, in 
sys.exit(main())
  File "/scripts/oe-git-archive", line 229, in main
'commit_count': metadata['layers']['meta']['commit_count'],
KeyError: 'commit_count'

Fix this error by adding exception catch when referencing
non-existent key (based on inputs provided by Richard Purdie).

[YOCTO# 13082]

Signed-off-by: Yeoh Ee Peng 
---
 scripts/oe-git-archive | 19 +--
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/scripts/oe-git-archive b/scripts/oe-git-archive
index ab19cb9..913291a 100755
--- a/scripts/oe-git-archive
+++ b/scripts/oe-git-archive
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
 #
 # Helper script for committing data to git and pushing upstream
 #
@@ -208,6 +208,13 @@ def parse_args(argv):
 help="Data to commit")
 return parser.parse_args(argv)
 
+def get_nested(d, list_of_keys):
+try:
+for k in list_of_keys:
+d = d[k]
+return d
+except KeyError:
+return ""
 
 def main(argv=None):
 """Script entry point"""
@@ -223,11 +230,11 @@ def main(argv=None):
 
 # Get keywords to be used in tag and branch names and messages
 metadata = metadata_from_bb()
-keywords = {'hostname': metadata['hostname'],
-'branch': metadata['layers']['meta']['branch'],
-'commit': metadata['layers']['meta']['commit'],
-'commit_count': metadata['layers']['meta']['commit_count'],
-'machine': metadata['config']['MACHINE']}
+keywords = {'hostname': get_nested(metadata, ['hostname']),
+'branch': get_nested(metadata, ['layers', 'meta', 
'branch']),
+'commit': get_nested(metadata, ['layers', 'meta', 
'commit']),
+'commit_count': get_nested(metadata, ['layers', 'meta', 
'commit_count']),
+'machine': get_nested(metadata, ['config', 'MACHINE'])}
 
 # Expand strings early in order to avoid getting into inconsistent
 # state (e.g. no tag even if data was committed)
-- 
2.7.4

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


Re: [OE-core] [bitbake-devel] [PATCH v6 1/3] classes/sstate: Handle unihash in hash check

2019-01-03 Thread Richard Purdie
On Thu, 2019-01-03 at 20:42 -0600, Joshua Watt wrote:
> Handles the argument that passes task unique hash in the hash check
> function, as it is now required by bitbake
> 
> [YOCTO #13030]
> 
> Signed-off-by: Joshua Watt 
> ---
>  meta/classes/sstate.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
> index 0abebce6996..8f3cd083e85 100644
> --- a/meta/classes/sstate.bbclass
> +++ b/meta/classes/sstate.bbclass
> @@ -780,7 +780,7 @@ sstate_unpack_package () {
>  
>  BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
>  
> -def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
> +def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, 
> *, sq_unihash):

Sorry for not replying sooner, I've just remembered the question I had
here. Does this "degrade" safely where a old bitbake is used with a new
version of OE-Core with this change?

In the past we'd have done sq_unihash=None or similar and handled that
correctly in the code to ensure it did degrade safely...

Cheers,

Richard



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


Re: [OE-core] [PATCH 1/2] oeqa: Fix for QEMU_USE_KVM

2019-01-03 Thread Robert Yang




On 1/4/19 6:33 AM, Richard Purdie wrote:

On Thu, 2019-01-03 at 16:04 +0800, Robert Yang wrote:

Fixed:
MACHINE = "qemux86"
QEMU_USE_KVM = "qemux86"
IMAGE_CLASSES += "testimage"

$ oe-selftest -r runqemu.RunqemuTests.test_boot_rootfs

[snip]
   File "/buildarea1/lyang1/poky/meta/lib/oe/types.py", line 122, in
boolean
 raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value 'qemux86'

Signed-off-by: Robert Yang 
---
  meta/classes/testimage.bbclass |  8 +---
  meta/lib/oe/types.py   | 18 ++
  meta/lib/oeqa/targetcontrol.py |  8 +---
  3 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/meta/classes/testimage.bbclass
b/meta/classes/testimage.bbclass
index e8fa4a3..82aef9f 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -230,13 +230,7 @@ def testimage_main(d):
  boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT"))
  
  # Get use_kvm

-qemu_use_kvm = d.getVar("QEMU_USE_KVM")
-if qemu_use_kvm and \
-   (d.getVar('MACHINE') in qemu_use_kvm.split() or \
-oe.types.boolean(qemu_use_kvm) and 'x86' in machine):
-kvm = True
-else:
-kvm = False
+kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'),
d.getVar('MACHINE'))
  
  slirp = False

  if d.getVar("QEMU_USE_SLIRP"):
diff --git a/meta/lib/oe/types.py b/meta/lib/oe/types.py
index f401713..a153f2c 100644
--- a/meta/lib/oe/types.py
+++ b/meta/lib/oe/types.py
@@ -156,3 +156,21 @@ def path(value, relativeto='', normalize='true',
mustexist='false'):
  raise ValueError("{0}: {1}".format(value,
os.strerror(errno.ENOENT)))
  
  return value

+
+def qemu_use_kvm(kvm, machine):
+"""
+kvm can be:
+- bool: 0, yes, ...
+- MACHINEs: qemux86 qemux86-64 ...
+"""
+use_kvm = False
+if kvm:
+kvm_boolean = False
+try:
+kvm_boolean = boolean(kvm)
+except ValueError:
+pass
+if (kvm_boolean and "x86" in machine) or (machine in
kvm.split()):
+use_kvm = True
+return use_kvm
+
diff --git a/meta/lib/oeqa/targetcontrol.py
b/meta/lib/oeqa/targetcontrol.py
index 59a9c35..980d6a2 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -107,13 +107,7 @@ class QemuTarget(BaseTarget):
  dump_target_cmds = d.getVar("testimage_dump_target")
  dump_host_cmds = d.getVar("testimage_dump_host")
  dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
-qemu_use_kvm = d.getVar("QEMU_USE_KVM")
-if qemu_use_kvm and \
-   (oe.types.boolean(qemu_use_kvm) and "x86" in
d.getVar("MACHINE") or \
-d.getVar("MACHINE") in qemu_use_kvm.split()):
-use_kvm = True
-else:
-use_kvm = False
+use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'),
d.getVar('MACHINE'))
  
  # Log QemuRunner log output to a file

  import oe.path



There have been a few patches related to this floating around. I'd like
to fix this once and for all but we don't have a patch which quite gets
this to where it needs to be.

I'd suggest we:

a) drop the approach of having MACHINE in the variable and simply have
it either set to enabled or disabled

b) only enable KVM if the target arch matches the host arch


For b) I'd like to cover the case where qemuarm64 is being run on an
aarch64 server.

This way we'd automatically enable KVM where the arch matches rather
than needing to code it for each MACHINE.

Does that make sense?


Thanks, that make sense, I've sent a v2 for it:

[OE-core] [PATCH v2 0/3] oeqa: Fix for QEMU_USE_KVM

// Robert



Cheers,

Richard





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


[OE-core] [PATCH v2 2/3] oeqa/manual/bsp-qemu.json: Update for QEMU_USE_KVM

2019-01-03 Thread Robert Yang
Now QEMU_USE_KVM can only be boolean, can not contain MACHINE any more.

Signed-off-by: Robert Yang 
---
 meta/lib/oeqa/manual/bsp-qemu.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/manual/bsp-qemu.json 
b/meta/lib/oeqa/manual/bsp-qemu.json
index 1260af4..cf51b6a 100644
--- a/meta/lib/oeqa/manual/bsp-qemu.json
+++ b/meta/lib/oeqa/manual/bsp-qemu.json
@@ -10,7 +10,7 @@
   ],
   "execution": {
 "1": {
-  "action": "Build a kernel with KVM enabled  \n\nIn Local.conf add  
\n\nQEMU_USE_KVM = \"${@ 'intel-corei7-64 intel-core2-32 qemux86 qemux86-64' if 
os.access('/dev/kvm', os.R_OK|os.W_OK) else '' }\"  \n\n ",
+  "action": "Build a kernel with KVM enabled  \n\nIn Local.conf add  
\n\nQEMU_USE_KVM = \"${@ '1' if os.access('/dev/kvm', os.R_OK|os.W_OK) else '0' 
}\"  \n\n ",
   "expected_results": ""
 },
 "2": {
@@ -219,4 +219,4 @@
   "summary": "check_bash_in_image"
 }
   }
-]
\ No newline at end of file
+]
-- 
2.7.4

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


[OE-core] [PATCH v2 3/3] oeqa/selftest/runqemu: Enable kvm when QEMU_USE_KVM is set

2019-01-03 Thread Robert Yang
Signed-off-by: Robert Yang 
---
 meta/lib/oeqa/selftest/cases/runqemu.py | 5 +
 1 file changed, 5 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/runqemu.py 
b/meta/lib/oeqa/selftest/cases/runqemu.py
index 4e35bb9..f69d470 100644
--- a/meta/lib/oeqa/selftest/cases/runqemu.py
+++ b/meta/lib/oeqa/selftest/cases/runqemu.py
@@ -5,6 +5,7 @@
 import re
 import tempfile
 import time
+import oe.types
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd
 from oeqa.core.decorator.oeid import OETestID
@@ -22,6 +23,10 @@ class RunqemuTests(OESelftestTestCase):
 self.fstypes = "ext4 iso hddimg wic.vmdk wic.qcow2 wic.vdi"
 self.cmd_common = "runqemu nographic"
 
+kvm = oe.types.qemu_use_kvm(get_bb_var('QEMU_USE_KVM'), 'x86_64')
+if kvm:
+self.cmd_common += " kvm"
+
 self.write_config(
 """
 MACHINE = "%s"
-- 
2.7.4

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


[OE-core] [PATCH v2 0/3] oeqa: Fix for QEMU_USE_KVM

2019-01-03 Thread Robert Yang
* V2:
  - Fix RP's comments:
Enable KVM if the target arch matches build arch.

* V1:
  - Initial version

// Robert

The following changes since commit c22b0bf66a28324da66caf0660f171cc279a1f2b:

  cmake-native: Set --parallel for configure (2019-01-03 21:14:47 +)

are available in the git repository at:

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

Robert Yang (3):
  oeqa: Fix for QEMU_USE_KVM
  oeqa/manual/bsp-qemu.json: Update for QEMU_USE_KVM
  oeqa/selftest/runqemu: Enable kvm when QEMU_USE_KVM is set

 meta/classes/testimage.bbclass  |  8 +---
 meta/lib/oe/types.py| 24 
 meta/lib/oeqa/manual/bsp-qemu.json  |  4 ++--
 meta/lib/oeqa/selftest/cases/runqemu.py |  5 +
 meta/lib/oeqa/targetcontrol.py  |  8 +---
 5 files changed, 33 insertions(+), 16 deletions(-)

-- 
2.7.4

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


[OE-core] [PATCH v2 1/3] oeqa: Fix for QEMU_USE_KVM

2019-01-03 Thread Robert Yang
Fixed:
MACHINE = "qemux86"
QEMU_USE_KVM = "qemux86"
IMAGE_CLASSES += "testimage"

$ oe-selftest -r runqemu.RunqemuTests.test_boot_rootfs

[snip]
  File "/buildarea1/lyang1/poky/meta/lib/oe/types.py", line 122, in boolean
raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value 'qemux86'

Now QEMU_USE_KVM can only be boolean, can not contain MACHINE any more, kvm
will be enabled if target_arch == build_arch or both of them are x86 archs.

Signed-off-by: Robert Yang 
---
 meta/classes/testimage.bbclass |  8 +---
 meta/lib/oe/types.py   | 24 
 meta/lib/oeqa/targetcontrol.py |  8 +---
 3 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 3c2209a..73cd375 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -231,13 +231,7 @@ def testimage_main(d):
 boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT"))
 
 # Get use_kvm
-qemu_use_kvm = d.getVar("QEMU_USE_KVM")
-if qemu_use_kvm and \
-   (d.getVar('MACHINE') in qemu_use_kvm.split() or \
-oe.types.boolean(qemu_use_kvm) and 'x86' in machine):
-kvm = True
-else:
-kvm = False
+kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), 
d.getVar('TARGET_ARCH'))
 
 slirp = False
 if d.getVar("QEMU_USE_SLIRP"):
diff --git a/meta/lib/oe/types.py b/meta/lib/oe/types.py
index f401713..b9462e0 100644
--- a/meta/lib/oe/types.py
+++ b/meta/lib/oe/types.py
@@ -156,3 +156,27 @@ def path(value, relativeto='', normalize='true', 
mustexist='false'):
 raise ValueError("{0}: {1}".format(value, 
os.strerror(errno.ENOENT)))
 
 return value
+
+def is_x86(arch):
+"""
+Check whether arch is x86 or x86_64
+"""
+if arch.startswith('x86_') or re.match('i.*86', arch) or arch == 'ia64':
+return True
+else:
+return False
+
+def qemu_use_kvm(kvm, target_arch):
+"""
+Enable kvm if target_arch == build_arch or both of them are x86 archs.
+"""
+
+use_kvm = False
+if kvm and boolean(kvm):
+build_arch = os.uname()[4]
+if is_x86(build_arch) and is_x86(target_arch):
+use_kvm = True
+elif build_arch == target_arch:
+use_kvm = True
+return use_kvm
+
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index 59a9c35..288e747 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -107,13 +107,7 @@ class QemuTarget(BaseTarget):
 dump_target_cmds = d.getVar("testimage_dump_target")
 dump_host_cmds = d.getVar("testimage_dump_host")
 dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
-qemu_use_kvm = d.getVar("QEMU_USE_KVM")
-if qemu_use_kvm and \
-   (oe.types.boolean(qemu_use_kvm) and "x86" in d.getVar("MACHINE") or 
\
-d.getVar("MACHINE") in qemu_use_kvm.split()):
-use_kvm = True
-else:
-use_kvm = False
+use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), 
d.getVar('TARGET_ARCH'))
 
 # Log QemuRunner log output to a file
 import oe.path
-- 
2.7.4

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


Re: [OE-core] [poky] [meta-poky][PATCH 1/1] local.conf.sample: make systemd as default init manager

2019-01-03 Thread Kang Kai

On 2018/12/10 上午2:12, Richard Purdie wrote:

On Thu, 2018-12-06 at 20:53 +0800,kai.k...@windriver.com  wrote:

From: Kai Kang

Move configurations from local.conf.sample.extended to
local.conf.sample
to make systemd as default init manager for poky.

[YOCTO #13031]

Signed-off-by: Kai Kang
---
  meta-poky/conf/local.conf.sample  | 8 
  meta-poky/conf/local.conf.sample.extended | 8 
  2 files changed, 8 insertions(+), 8 deletions(-)

I had a feeling there would be some issues to fix before we could do
this by default:

systemd fails to compile with x32:
https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/76



Fixed.



sanity tests on qemux86-64 core-image-sato-sdk:
https://autobuilder.yoctoproject.org/typhoon/#/builders/73/builds/77/steps/7/logs/step1c


| RESULTS - stap.StapTest.test_stap - Testcase 1652: FAILED (674.37s)

Can't reproduce.



sanity tests on qemuarm core-image-sato-sdk with poky-lsb:
https://autobuilder.yoctoproject.org/typhoon/#/builders/38/builds/77/steps/7/logs/step1c

dpkg issues:
https://autobuilder.yoctoproject.org/typhoon/#/builders/76/builds/77/steps/7/logs/step2c
https://autobuilder.yoctoproject.org/typhoon/#/builders/50/builds/77/steps/7/logs/step1c


| RESULTS - parselogs.ParseLogsTest.test_parselogs - Testcase 1059: 
FAILED (36.92s)


Can't reproduce



wic failure:
https://autobuilder.yoctoproject.org/typhoon/#/builders/56/builds/33/steps/7/logs/step2d
(postinstall problem?)


wic.Wic.test_iso_image: can't reproduce

wic.Wic2.test_iso_image: RR sendgb



musl sanity test issue:
https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/77/steps/7/logs/step1c
https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/78/steps/7/logs/step1c


| RESULTS - systemd.SystemdJournalTests.test_systemd_boot_time - 
Testcase -1: SKIPPED (0.19s)


Fixed.


Would you like to try this patch again? Thanks.


--Kai




Hopefully its a small number of issues at the heart of this but we need
to sort this out before it can merge.

Cheers,

Richard





--
Kai Kang

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


[OE-core] [PATCH] wic: update test case test_qemu

2019-01-03 Thread kai.kang
From: Kai Kang 

It checks output of mount in wic test case test_qemu. But the outputs are
different between sysvinit and systemd. Add assertion for systemd.

Signed-off-by: Kai Kang 
---
 meta/lib/oeqa/selftest/cases/wic.py | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/cases/wic.py 
b/meta/lib/oeqa/selftest/cases/wic.py
index 36ee5e5a14..a6bc566166 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -627,7 +627,10 @@ class Wic2(WicTestCase):
 with runqemu('wic-image-minimal', ssh=False) as qemu:
 cmd = "mount |grep '^/dev/' | cut -f1,3 -d ' ' | sort"
 status, output = qemu.run_serial(cmd)
-self.assertEqual(output, '/dev/root /\r\n/dev/sda1 
/boot\r\n/dev/sda3 /media\r\n/dev/sda4 /mnt')
+if 'sysvinit' in get_bb_var('DISTRO_FEATURES'):
+self.assertEqual(output, '/dev/root /\r\n/dev/sda1 
/boot\r\n/dev/sda3 /media\r\n/dev/sda4 /mnt')
+else:
+self.assertEqual(output, '/dev/sda1 /boot\r\n/dev/sda2 
/\r\n/dev/sda3 /media\r\n/dev/sda4 /mnt')
 cmd = "grep UUID= /etc/fstab"
 status, output = qemu.run_serial(cmd)
 self.assertEqual(1, status, 'Failed to run command "%s": %s' % 
(cmd, output))
-- 
2.18.0

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


[OE-core] ✗ patchtest: failure for Hash Equivalency Server (rev4)

2019-01-03 Thread Patchwork
== Series Details ==

Series: Hash Equivalency Server (rev4)
Revision: 4
URL   : https://patchwork.openembedded.org/series/15190/
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 sent to the wrong mailing list or some patches from 
the series correspond to different mailing lists [test_target_mailing_list] 
  Suggested fixSend the series again to the correct mailing list (ML)
  Suggested ML bitbake-de...@lists.openembedded.org 
[http://git.openembedded.org/bitbake/]
  Patch's path:bitbake/bin/bitbake-hashserv

* 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 65c419b8c4)



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 v6 2/3] bitbake: hashserv: Add hash equivalence reference server

2019-01-03 Thread Joshua Watt
Implements a reference implementation of the hash equivalence server.
This server has minimal dependencies (and no dependencies outside of the
standard Python library), and implements the minimum required to be a
conforming hash equivalence server.

[YOCTO #13030]

Signed-off-by: Joshua Watt 
---
 bitbake/bin/bitbake-hashserv |  67 ++
 bitbake/bin/bitbake-selftest |   2 +
 bitbake/lib/hashserv/__init__.py | 152 +++
 bitbake/lib/hashserv/tests.py| 141 
 4 files changed, 362 insertions(+)
 create mode 100755 bitbake/bin/bitbake-hashserv
 create mode 100644 bitbake/lib/hashserv/__init__.py
 create mode 100644 bitbake/lib/hashserv/tests.py

diff --git a/bitbake/bin/bitbake-hashserv b/bitbake/bin/bitbake-hashserv
new file mode 100755
index 000..c49397b73a5
--- /dev/null
+++ b/bitbake/bin/bitbake-hashserv
@@ -0,0 +1,67 @@
+#! /usr/bin/env python3
+#
+# Copyright (C) 2018 Garmin Ltd.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+import os
+import sys
+import logging
+import argparse
+import sqlite3
+
+sys.path.insert(0, 
os.path.join(os.path.dirname(os.path.dirname(__file__)),'lib'))
+
+import hashserv
+
+VERSION = "1.0.0"
+
+DEFAULT_HOST = ''
+DEFAULT_PORT = 8686
+
+def main():
+parser = argparse.ArgumentParser(description='HTTP Equivalence Reference 
Server. Version=%s' % VERSION)
+parser.add_argument('--address', default=DEFAULT_HOST, help='Bind address 
(default "%(default)s")')
+parser.add_argument('--port', type=int, default=DEFAULT_PORT, help='Bind 
port (default %(default)d)')
+parser.add_argument('--prefix', default='', help='HTTP path prefix 
(default "%(default)s")')
+parser.add_argument('--database', default='./hashserv.db', help='Database 
file (default "%(default)s")')
+parser.add_argument('--log', default='WARNING', help='Set logging level')
+
+args = parser.parse_args()
+
+logger = logging.getLogger('hashserv')
+
+level = getattr(logging, args.log.upper(), None)
+if not isinstance(level, int):
+raise ValueError('Invalid log level: %s' % args.log)
+
+logger.setLevel(level)
+console = logging.StreamHandler()
+console.setLevel(level)
+logger.addHandler(console)
+
+db = sqlite3.connect(args.database)
+
+server = hashserv.create_server((args.address, args.port), db, args.prefix)
+server.serve_forever()
+return 0
+
+if __name__ == '__main__':
+try:
+ret = main()
+except Exception:
+ret = 1
+import traceback
+traceback.print_exc()
+sys.exit(ret)
+
diff --git a/bitbake/bin/bitbake-selftest b/bitbake/bin/bitbake-selftest
index c970dcae90c..99f1af910f4 100755
--- a/bitbake/bin/bitbake-selftest
+++ b/bitbake/bin/bitbake-selftest
@@ -22,6 +22,7 @@ sys.path.insert(0, 
os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib
 import unittest
 try:
 import bb
+import hashserv
 import layerindexlib
 except RuntimeError as exc:
 sys.exit(str(exc))
@@ -35,6 +36,7 @@ tests = ["bb.tests.codeparser",
  "bb.tests.parse",
  "bb.tests.persist_data",
  "bb.tests.utils",
+ "hashserv.tests",
  "layerindexlib.tests.layerindexobj",
  "layerindexlib.tests.restapi",
  "layerindexlib.tests.cooker"]
diff --git a/bitbake/lib/hashserv/__init__.py b/bitbake/lib/hashserv/__init__.py
new file mode 100644
index 000..46bca7cab32
--- /dev/null
+++ b/bitbake/lib/hashserv/__init__.py
@@ -0,0 +1,152 @@
+# Copyright (C) 2018 Garmin Ltd.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+from http.server import BaseHTTPRequestHandler, HTTPServer
+import contextlib
+import urllib.parse
+import sqlite3
+import json
+import traceback
+import logging
+from datet

[OE-core] [PATCH v6 3/3] sstate: Implement hash equivalence sstate

2019-01-03 Thread Joshua Watt
Converts sstate so that it can use a hash equivalence server to
determine if a task really needs to be rebuilt, or if it can be restored
from a different (equivalent) sstate object.

The unique hashes are cached persistently using persist_data. This has
a number of advantages:
 1) Unique hashes can be cached between invocations of bitbake to
prevent needing to contact the server every time (which is slow)
 2) The value of each tasks unique hash can easily be synchronized
between different threads, which will be useful if bitbake is
updated to do on the fly task re-hashing.

[YOCTO #13030]

Signed-off-by: Joshua Watt 
---
 meta/classes/sstate.bbclass | 100 +++--
 meta/conf/bitbake.conf  |   4 +-
 meta/lib/oe/sstatesig.py| 167 
 3 files changed, 262 insertions(+), 9 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 8f3cd083e85..46dbe7cb96d 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -11,7 +11,7 @@ def generate_sstatefn(spec, hash, d):
 SSTATE_PKGARCH= "${PACKAGE_ARCH}"
 SSTATE_PKGSPEC= 
"sstate:${PN}:${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}:${PV}:${PR}:${SSTATE_PKGARCH}:${SSTATE_VERSION}:"
 SSTATE_SWSPEC = "sstate:${PN}::${PV}:${PR}::${SSTATE_VERSION}:"
-SSTATE_PKGNAME= 
"${SSTATE_EXTRAPATH}${@generate_sstatefn(d.getVar('SSTATE_PKGSPEC'), 
d.getVar('BB_TASKHASH'), d)}"
+SSTATE_PKGNAME= 
"${SSTATE_EXTRAPATH}${@generate_sstatefn(d.getVar('SSTATE_PKGSPEC'), 
d.getVar('BB_UNIHASH'), d)}"
 SSTATE_PKG= "${SSTATE_DIR}/${SSTATE_PKGNAME}"
 SSTATE_EXTRAPATH   = ""
 SSTATE_EXTRAPATHWILDCARD = ""
@@ -82,6 +82,23 @@ SSTATE_SIG_PASSPHRASE ?= ""
 # Whether to verify the GnUPG signatures when extracting sstate archives
 SSTATE_VERIFY_SIG ?= "0"
 
+SSTATE_HASHEQUIV_METHOD ?= "OEOuthashBasic"
+SSTATE_HASHEQUIV_METHOD[doc] = "The function used to calculate the output hash 
\
+for a task, which in turn is used to determine equivalency. \
+"
+
+SSTATE_HASHEQUIV_SERVER ?= ""
+SSTATE_HASHEQUIV_SERVER[doc] = "The hash equivalence sever. For example, \
+'http://192.168.0.1:5000'. Do not include a trailing slash \
+"
+
+SSTATE_HASHEQUIV_REPORT_TASKDATA ?= "0"
+SSTATE_HASHEQUIV_REPORT_TASKDATA[doc] = "Report additional useful data to the \
+hash equivalency server, such as PN, PV, taskname, etc. This information \
+is very useful for developers looking at task data, but may leak sensitive 
\
+data if the equivalence server is public. \
+"
+
 python () {
 if bb.data.inherits_class('native', d):
 d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH', False))
@@ -640,7 +657,7 @@ def sstate_package(ss, d):
 return
 
 for f in (d.getVar('SSTATECREATEFUNCS') or '').split() + \
- ['sstate_create_package', 'sstate_sign_package'] + \
+ ['sstate_report_unihash', 'sstate_create_package', 
'sstate_sign_package'] + \
  (d.getVar('SSTATEPOSTCREATEFUNCS') or '').split():
 # All hooks should run in SSTATE_BUILDDIR.
 bb.build.exec_func(f, d, (sstatebuild,))
@@ -764,6 +781,73 @@ python sstate_sign_package () {
d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False)
 }
 
+def OEOuthashBasic(path, sigfile, task, d):
+import hashlib
+import stat
+
+def update_hash(s):
+s = s.encode('utf-8')
+h.update(s)
+if sigfile:
+sigfile.write(s)
+
+h = hashlib.sha256()
+prev_dir = os.getcwd()
+
+try:
+os.chdir(path)
+
+update_hash("OEOuthashBasic\n")
+
+# It is only currently useful to get equivalent hashes for things that
+# can be restored from sstate. Since the sstate object is named using
+# SSTATE_PKGSPEC and the task name, those should be included in the
+# output hash calculation.
+update_hash("SSTATE_PKGSPEC=%s\n" % d.getVar('SSTATE_PKGSPEC'))
+update_hash("task=%s\n" % task)
+
+for root, dirs, files in os.walk('.', topdown=True):
+# Sort directories and files to ensure consistent ordering
+dirs.sort()
+files.sort()
+
+for f in files:
+path = os.path.join(root, f)
+s = os.lstat(path)
+
+# Hash file path
+update_hash(path + '\n')
+
+# Hash file mode
+update_hash("\tmode=0x%x\n" % stat.S_IMODE(s.st_mode))
+update_hash("\ttype=0x%x\n" % stat.S_IFMT(s.st_mode))
+
+if stat.S_ISBLK(s.st_mode) or stat.S_ISBLK(s.st_mode):
+# Hash device major and minor
+update_hash("\tdev=%d,%d\n" % (os.major(s.st_rdev), 
os.minor(s.st_rdev)))
+elif stat.S_ISLNK(s.st_mode):
+# Hash symbolic link
+update_hash("\tsymlink=%s\n" % os.readlink(path))
+else:
+fh

[OE-core] [PATCH v6 1/3] classes/sstate: Handle unihash in hash check

2019-01-03 Thread Joshua Watt
Handles the argument that passes task unique hash in the hash check
function, as it is now required by bitbake

[YOCTO #13030]

Signed-off-by: Joshua Watt 
---
 meta/classes/sstate.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 0abebce6996..8f3cd083e85 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -780,7 +780,7 @@ sstate_unpack_package () {
 
 BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
 
-def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
+def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, 
*, sq_unihash):
 
 ret = []
 missed = []
-- 
2.20.1

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


[OE-core] [PATCH v6 0/3] Hash Equivalency Server

2019-01-03 Thread Joshua Watt
Apologies for cross-posting this to both the bitbake-devel and
openembedded-devel; this work necessarily intertwines both places, and
it is really necessary to look at both parts to get an idea of what is
going on. For convenience, the bitbake patches are listed first,
followed by the oe-core patches.

The basic premise is that any given task no longer hashes a dependent
task's taskhash to determine it's own taskhash, but instead hashes the
dependent task's "unique hash" (which doesn't strictly need to be a
hash, but is for consistency.  This allows multiple taskhashes to map to
the same unique hash, meaning that trivial changes to a recipe that
would change the taskhash don't necessarily need to change the unique
hash, and thus don't need to cause downstream tasks to be rebuilt (with
caveats, see below).

In the absence of any interaction by the user, the unique hash for a
task is just that task's taskhash, which effectively maintains the
current behavior. However, if the user enables the "OEEquivHash"
signature generator, they can direct it to look at a hash equivalency
server (of which a reference implementation is provided). The sstate
code will provide the server with an output hash that it calculates, and
the server will record all tasks with the same output hash as
"equivalent" and report the same unique hash for them when requested.
When initializing tasks, bitbake can ask the server about the unique
hash for new tasks it has never seen before and potentially skip
rebuilding, or restore the task from an equivalent sstate file. To
facilitate restoring tasks from sstate, sstate objects are now named
based on the tasks unique hash instead of the taskhash (which, again has
no effect if the server is in use).

This patchset doesn't make any attempt to dynamically update task unique
hash after bitbake initializes the tasks, and as such there are some
cases where this isn't accelerating the build as much as it possibly
could. I think it will be possible to add support for this, but this
preliminary support needs to come first.

You can also see these patches (and my first attempts at dynamic task
re-hashing) on the "jpew/hash-equivalence" branch in poky-contrib.

As always, thanks for your feedback and time

VERSION 2:

At the core, this patch does the same thing as V1 with some very minor
tweaks. The main things that have changed are:
 1) Per request, the Hash Equivalence Server reference implementation is
now based entirely on built in Python modules and requires no
external libraries. It also has a wrapper script to launch it
(bitbake-hashserv) and unittests.
 2) There is a major rework of persist_data in bitbake. I
think these patches could be submitted independently, but I doubt
anyone is clamoring for them. The general gist of them is that there
were a lot of strange edge cases that I found when using
persist_data as an IPC mechanism between the main bitbake process
and the bitbake-worker processes. I went ahead and added extensive
unit tests for this as well.

VERSION 3:

Minor tweak to version 2 that should fix timeout errors seen on the
autobuilder

VERSION 4:

Based on discussion, the term "dependency ID" was dropped in favor of
"unique hash" (unihash).

The hash validation checks were updated to properly fallback to the old
function signatures (that don't pass the unihashes) for compatibility
with older implementations.

VERSION 5:

Removed os.fork() handlers for persist_data. They can be added back if
actually necessary.

Reworked hash validation slightly based on feedback.

VERSION 6:

Fixed a bug that was introduced with the rename to unihash that prevent
unihashes from being recorded in persist_data.

Joshua Watt (3):
  classes/sstate: Handle unihash in hash check
  bitbake: hashserv: Add hash equivalence reference server
  sstate: Implement hash equivalence sstate

 bitbake/bin/bitbake-hashserv |  67 +
 bitbake/bin/bitbake-selftest |   2 +
 bitbake/lib/hashserv/__init__.py | 152 
 bitbake/lib/hashserv/tests.py| 141 ++
 meta/classes/sstate.bbclass  | 102 +--
 meta/conf/bitbake.conf   |   4 +-
 meta/lib/oe/sstatesig.py | 167 +++
 7 files changed, 625 insertions(+), 10 deletions(-)
 create mode 100755 bitbake/bin/bitbake-hashserv
 create mode 100644 bitbake/lib/hashserv/__init__.py
 create mode 100644 bitbake/lib/hashserv/tests.py

-- 
2.20.1

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


[OE-core] [PATCH 000/101][thud] Pull request

2019-01-03 Thread Armin Kuster
Please review and concider these changes for the next thud release 2.6.1

Package updates are bug fix only.

Clean A-quick build

The following changes since commit 004ec4fb4de5648db9aafcbd2f8dbe24a8b5f9d6:

  Documentation: Prepare for 2.6.1 release. (2018-12-27 22:54:55 +)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib stable/thud-next
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=stable/thud-next

Adrian Bunk (1):
  archiver.bbclass: Fix COPYLEFT_LICENSE_{IN, EX}CLUDE

Adrian Freihofer (2):
  systemd: fix PN-container package splitting
  devtool: fix target-deploy --strip

Alejandro Enedino Hernandez Samaniego (1):
  python: Adds instructions to the manifest file

Alexander Kanavin (3):
  meson: do not manipulate the environment when looking for python via
pkg-config
  openssl: update to 1.1.1a
  libc-package: fix postinst error when ENABLE_BINARY_LOCALE_GENERATION
= "0"

Alexey Brodkin (1):
  gdb: Remove long ago upstreamed patch

André Draszik (1):
  linux-firmware: better packaging for TI wl12xx & wl18xx firmwares

Anuj Mittal (13):
  maintainers.inc: update Intel owners
  gst-plugins-bad: add PACKAGECONFIG for msdk
  gstreamer1.0: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-plugins-base: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-plugins-good: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-plugins-bad: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-plugins-ugly: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-libav: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-vaapi: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-rtsp-server: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-omx: upgrade 1.14.3 -> 1.14.4
  gstreamer1.0-python: upgrade 1.14.3 -> 1.14.4
  gst-validate: upgrade 1.14.2 -> 1.14.4

Armin Kuster (1):
  gnutls: update to 3.6.4

Bruce Ashfield (13):
  linux-yocto: remove obselete options from lxc config
  linux-yocto/4.14: configuration cleanups
  linux-yocto/4.18: -rt sync and config cleanups
  linux-yocto/tiny: switch default branch to standard/tiny/base
  linux-yocto/tiny: restore qemuarm support
  linux-yocto/4.18: bug fixes and configuration tweaks
  linux-yocto/4.18: update to v4.18.17
  linux-yocto/4.14: update to v4.14.79
  linux-yocto/4.18: integrate CVE fixes
  linux-yocto/4.18: update to v4.18.20
  linux-yocto/4.18: update to v4.18.21
  linux-yocto: configuration updates (virtio and tpm)
  linux-yocto: correct qemumips64el definition

Carlos Rafael Giani (10):
  gstreamer1.0: upgrade to version 1.14.3
  gstreamer1.0-plugin-base: upgrade to version 1.14.3
  gstreamer1.0-plugin-good: upgrade to version 1.14.3
  gstreamer1.0-plugin-bad: upgrade to version 1.14.3
  gstreamer1.0-plugin-ugly: upgrade to version 1.14.3
  gstreamer1.0-libav: upgrade to version 1.14.3
  gstreamer1.0-rtsp-server: upgrade to version 1.14.3
  gstreamer1.0-vaapi: upgrade to version 1.14.3
  gstreamer1.0-omx: upgrade to version 1.14.3
  gstreamer1.0-python: upgrade to version 1.14.3

Changhyeok Bae (2):
  iproute2: 4.18.0 -> 4.19.0
  ethtool: 4.17 -> 4.19

Christophe PRIOUZEAU (1):
  openssl: correct bad path on package preprocess

Douglas Royds (4):
  boost-context: Reproducibility: Set .file section for all *_elf_gas.S
files
  reproducible: Refactor: Break out fixed_source_date_epoch() function
  reproducible: Don't look for youngest file when no source tarball
  ptest: Reproducibility: Take control of umask

Eric Chanudet (1):
  licence: Add license file CC-BY-SA-4.0

Hongxu Jia (6):
  elfutils: 0.174 -> 0.175
  gnupg: upgrade 2.2.9 -> 2.2.10
  gnupg: upgrade 2.2.10 -> 2.2.11
  libgcrypt: upgrade 1.8.3 -> 1.8.4
  ghostscript: 9.25 -> 9.26
  go 1.9/1.11: fix textrel qa warning for non mips arch

Joshua Watt (3):
  meta/icecc.bbclass: Move system blacklist to variables
  meta/icecc.bbclass: Update system blacklists
  classes/icecc.bbclass: Fix ccache disable

Kai Kang (1):
  multilib_script: fix packages split

Khem Raj (3):
  local.conf.sample: Update the sample config as per new migration
manual
  valgrind: Skip vgpreload_memcheck shared object from stripping
  populate_sdk_ext.bbclass: Include site.conf in parsing for contents
for local.conf

Ming Liu (1):
  image.bbclass: fix a wrong position blank

Mingli Yu (2):
  mdadm: improve the run-ptest
  nspr: improve reproducibility

Niko Mauno (1):
  opkg-utils: Fix update-alternatives link relocation

Otavio Salvador (1):
  linux-firmware: Bump revision to 1baa348

Paul Eggleton (1):
  socat: fix LICENSE

Peter Kjellerstedt (2):
  bitbake: siggen: Adapt colors used by bitbake-diffsigs to support
light themes
  meson: Correct use of the _append operator

Richard Purdie (7):
  poky.conf: Update the distros we test against on the autobuilder
  meson: Disable rpath stripping at install time
  bitbake: server/process: Make lockfile handling clearer
  bitbake: server/process: Show last 60 lines of the log if the server
didn't start
  bitbake: server/process: Show the last 60 log lines, not the last 10
  scripts/runqemu: Fix logic error 

[OE-core] [PATCH 1/1] buildoptions.py: use different STAMPS_DIR and SSTATE_DIR

2019-01-03 Thread Chen Qi
Use a different STAMPS_DIR and SSTATE_DIR in test_yocto_source_mirror.
Otherwise, when executing `oe-selftest -a', we will get a lot of failures
due to do_unpack failure.

Signed-off-by: Chen Qi 
---
 meta/lib/oeqa/selftest/cases/buildoptions.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py 
b/meta/lib/oeqa/selftest/cases/buildoptions.py
index f234bac..7bbbf76 100644
--- a/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -187,6 +187,8 @@ class SourceMirroring(OESelftestTestCase):
 BB_ALLOWED_NETWORKS = "downloads.yoctoproject.org"
 MIRRORS = ""
 DL_DIR = "${TMPDIR}/test_downloads"
+STAMPS_DIR = "${TMPDIR}/test_stamps"
+SSTATE_DIR = "${TMPDIR}/test_sstate-cache"
 PREMIRRORS = "\\
 bzr://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \\n \\
 cvs://.*/.*   http://downloads.yoctoproject.org/mirror/sources/ \\n \\
-- 
1.9.1

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


[OE-core] [PATCH 0/1] buildoptions.py: use different STAMPS_DIR and SSTATE_DIR

2019-01-03 Thread Chen Qi
*** BLURB HERE ***
The following changes since commit 445acdffe0a75bf9ce94c1fc31bebc7c5bd60be8:

  bitbake: runqueue: Pass unique hash to hash validate (2019-01-03 22:47:11 
+)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib ChenQi/mirror_test
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/mirror_test

Chen Qi (1):
  buildoptions.py: use different STAMPS_DIR and SSTATE_DIR

 meta/lib/oeqa/selftest/cases/buildoptions.py | 2 ++
 1 file changed, 2 insertions(+)

-- 
1.9.1

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


Re: [OE-core] [PATCH 4/4] recipes-kernel/linux: Add RISC-V support

2019-01-03 Thread Bruce Ashfield
On Thu, Jan 3, 2019 at 7:15 PM Alistair Francis  wrote:
>
> On Thu, Jun 14, 2018 at 3:12 PM Bruce Ashfield  
> wrote:
> >
> >
> >
> > On Thu, Jun 14, 2018 at 3:45 PM, Alistair Francis 
> >  wrote:
> >>
> >> Signed-off-by: Alistair Francis 
> >> ---
> >>  meta/recipes-kernel/linux/linux-yocto.inc | 4 
> >>  meta/recipes-kernel/linux/linux-yocto_4.15.bb | 5 -
> >>  2 files changed, 8 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
> >> b/meta/recipes-kernel/linux/linux-yocto.inc
> >> index 95ec2a2b41..70a13cdd1e 100644
> >> --- a/meta/recipes-kernel/linux/linux-yocto.inc
> >> +++ b/meta/recipes-kernel/linux/linux-yocto.inc
> >> @@ -26,6 +26,10 @@ DEPENDS_append_nios2 = " libgcc"
> >>  KERNEL_CC_append_nios2 = " ${TOOLCHAIN_OPTIONS}"
> >>  KERNEL_LD_append_nios2 = " ${TOOLCHAIN_OPTIONS}"
> >>
> >> +DEPENDS_append_riscv64 = " libgcc"
> >> +KERNEL_CC_append_riscv64 = " ${TOOLCHAIN_OPTIONS} 
> >> ${SECURITY_NOPIE_CFLAGS}"
> >> +KERNEL_LD_append_riscv64 = " -no-pie"
> >> +
> >>  KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc"
> >>
> >>  # A KMACHINE is the mapping of a yocto $MACHINE to what is built
> >> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.15.bb 
> >> b/meta/recipes-kernel/linux/linux-yocto_4.15.bb
> >> index 693670c613..4ea368a011 100644
> >> --- a/meta/recipes-kernel/linux/linux-yocto_4.15.bb
> >> +++ b/meta/recipes-kernel/linux/linux-yocto_4.15.bb
> >> @@ -36,7 +36,10 @@ KCONF_BSP_AUDIT_LEVEL = "2"
> >>
> >>  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
> >>
> >> -COMPATIBLE_MACHINE = 
> >> "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
> >> +KBUILD_DEFCONFIG_qemuriscv64 = "defconfig"
> >> +KCONFIG_MODE_qemuriscv64 = "--alldefconfig"
> >
> >
> > This doesn't belong in linux-yocto.
> >
> > We use defined BSP and configuration fraagments, not in-tree defconfigs
> >
> > I'm happy to add a BSP definition to the kernel-cache, but this isn't the 
> > way to add configuration support for the linux-yocto trees
>
> Hey Bruce,
>
> I'm looking at this again as the 4.19 kernel now has full working
> RISC-V support.
>
> How can I add a BSP definition to the kernel-cache?
>

See the examples that are already in the kernel-cache, follow one of
them and send a patch to the linux-yocto mailing list.

What ends up in the BSP definition are only the options related to h/w
on the board. General / software options are defined by the
common/included fragments in the configuration repo.

> Also, what is the reason for not using the in-tree defconfigs?

Because we maintain our own reference configurations, and they are
largely consistent across machines and architectures. That is not the
case for in tree defconfigs. People are free to use them for their own
purposes, but that's not what we do for the reference BSPs.

Cheers,

Bruce

>
> Alistair
>
> >
> > Cheers,
> >
> > Bruce
> >
> >>
> >> +
> >> +COMPATIBLE_MACHINE = 
> >> "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemurisc532|qemuriscv64"
> >>
> >>  # Functionality flags
> >>  KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
> >> --
> >> 2.17.1
> >>
> >> --
> >> ___
> >> 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



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


[OE-core] [PATCH v3] swig: Fix configure failure

2019-01-03 Thread Alistair Francis
Fix the swig build failure by calling the default do_configure from autotools.

Signed-off-by: Alistair Francis 
---
 meta/recipes-devtools/swig/swig.inc | 10 ++
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/meta/recipes-devtools/swig/swig.inc 
b/meta/recipes-devtools/swig/swig.inc
index aec544997f..f7de40866a 100644
--- a/meta/recipes-devtools/swig/swig.inc
+++ b/meta/recipes-devtools/swig/swig.inc
@@ -38,15 +38,9 @@ EXTRA_OECONF = " \
 --without-tcl \
 "
 
-BBCLASSEXTEND = "native nativesdk"
+EXTRA_AUTORECONF += "-I Tools/config"
 
-do_configure() {
-install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess 
${S}/Tools/config
-install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
${S}/Tools/config
-install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
-install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
-oe_runconf
-}
+BBCLASSEXTEND = "native nativesdk"
 
 do_install_append_class-nativesdk() {
 cd ${D}${bindir}
-- 
2.19.1

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


Re: [OE-core] [PATCH v2] swig: Fix configure failure

2019-01-03 Thread Alistair Francis
On Thu, Jan 3, 2019 at 4:16 PM Burton, Ross  wrote:
>
> Try adding EXTRA_AUTORECONF += "-I Tools/config"?

Ah! Perfect.

I'll send a v3.

Alistair

>
> Ross
>
> On Fri, 4 Jan 2019 at 00:11, Alistair Francis  wrote:
> >
> > On Thu, Jan 3, 2019 at 4:02 PM Burton, Ross  wrote:
> > >
> > > On Thu, 3 Jan 2019 at 23:18, Alistair Francis  
> > > wrote:
> > > > Fix the swig build by calling autogen.sh before running configure.
> > >
> > > But...
> > >
> > > > @@ -45,6 +45,7 @@ do_configure() {
> > > >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
> > > > ${S}/Tools/config
> > > >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess 
> > > > ${S}
> > > >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
> > > > ${S}
> > > > +(cd ${S} && ./autogen.sh)
> > > >  oe_runconf
> > >
> > > Now this is literally just reimplementing the default do_configure
> > > from autotools.  The first three lines are gnuconfigize, autogen.sh is
> > > generally just autoreconf in modern systems, and then oe_runconf.
> > >
> > > If do_configure is just deleted, what breaks?
> >
> > This is the error I see:
> >
> > ERROR: swig-native-3.0.12-r0 do_configure: autoreconf execution failed.
> > ERROR: swig-native-3.0.12-r0 do_configure: Function failed:
> > do_configure (log file is located at
> > /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/log.do_configure.9027)
> > ERROR: Logfile of failure stored in:
> > /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/log.do_configure.9027
> > Log data follows:
> > | DEBUG: Executing shell function autotools_preconfigure
> > | Previously configured separate build directory detected, cleaning
> > /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/build
> > | DEBUG: Shell function autotools_preconfigure finished
> > | DEBUG: Executing python function autotools_aclocals
> > | DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc',
> > 'bit-64', 'x86_64-linux', 'common']
> > | DEBUG: Python function autotools_aclocals finished
> > | DEBUG: Executing shell function do_configure
> > | automake (GNU automake) 1.16.1
> > | Copyright (C) 2018 Free Software Foundation, Inc.
> > | License GPLv2+: GNU GPL version 2 or later
> > 
> > | This is free software: you are free to change and redistribute it.
> > | There is NO WARRANTY, to the extent permitted by law.
> > |
> > | Written by Tom Tromey 
> > |and Alexandre Duret-Lutz .
> > | AUTOV is 1.16
> > | NOTE: Executing ACLOCAL="aclocal
> > --system-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal/
> > --automake-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal-1.16"
> > autoreconf -Wcross --verbose --install --force --exclude=autopoint
> > | autoreconf: Entering directory `.'
> > | autoreconf: configure.ac: not using Gettext
> > | autoreconf: running: aclocal
> > --system-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal/
> > --automake-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal-1.16
> > --force
> > | autoreconf: configure.ac: tracing
> > | autoreconf: configure.ac: adding subdirectory CCache to autoreconf
> > | autoreconf: Entering directory `CCache'
> > | autoreconf: configure.ac: not using Libtool
> > | autoreconf: running:
> > /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoconf
> > --force
> > | autoreconf: running:
> > /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoheader
> > --force
> > | autoreconf: configure.ac: not using Automake
> > | autoreconf: running: gnu-configize
> > | autoreconf: Leaving directory `CCache'
> > | configure.ac:35: error: possibly undefined macro: AC_COMPILE_WARNINGS
> > |   If this token and others are legitimate, please use 
> > m4_pattern_allow.
> > |   See the Autoconf documentation.
> > | configure.ac:2982: error: possibly undefined macro: AC_DEFINE_DIR
> > | autoreconf: 
> > /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoconf
> > failed with exit status: 1
> > | ERROR: autoreconf execution failed.
> > | WARNING: 
> > /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/run.do_configure.9027:1
> > exit 1 from 'exit 1'
> > | ERROR: Function failed: do_configure (log file is located at
> > /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/

Re: [OE-core] [PATCH v2] swig: Fix configure failure

2019-01-03 Thread Burton, Ross
Try adding EXTRA_AUTORECONF += "-I Tools/config"?

Ross

On Fri, 4 Jan 2019 at 00:11, Alistair Francis  wrote:
>
> On Thu, Jan 3, 2019 at 4:02 PM Burton, Ross  wrote:
> >
> > On Thu, 3 Jan 2019 at 23:18, Alistair Francis  
> > wrote:
> > > Fix the swig build by calling autogen.sh before running configure.
> >
> > But...
> >
> > > @@ -45,6 +45,7 @@ do_configure() {
> > >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
> > > ${S}/Tools/config
> > >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess 
> > > ${S}
> > >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
> > > +(cd ${S} && ./autogen.sh)
> > >  oe_runconf
> >
> > Now this is literally just reimplementing the default do_configure
> > from autotools.  The first three lines are gnuconfigize, autogen.sh is
> > generally just autoreconf in modern systems, and then oe_runconf.
> >
> > If do_configure is just deleted, what breaks?
>
> This is the error I see:
>
> ERROR: swig-native-3.0.12-r0 do_configure: autoreconf execution failed.
> ERROR: swig-native-3.0.12-r0 do_configure: Function failed:
> do_configure (log file is located at
> /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/log.do_configure.9027)
> ERROR: Logfile of failure stored in:
> /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/log.do_configure.9027
> Log data follows:
> | DEBUG: Executing shell function autotools_preconfigure
> | Previously configured separate build directory detected, cleaning
> /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/build
> | DEBUG: Shell function autotools_preconfigure finished
> | DEBUG: Executing python function autotools_aclocals
> | DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc',
> 'bit-64', 'x86_64-linux', 'common']
> | DEBUG: Python function autotools_aclocals finished
> | DEBUG: Executing shell function do_configure
> | automake (GNU automake) 1.16.1
> | Copyright (C) 2018 Free Software Foundation, Inc.
> | License GPLv2+: GNU GPL version 2 or later
> 
> | This is free software: you are free to change and redistribute it.
> | There is NO WARRANTY, to the extent permitted by law.
> |
> | Written by Tom Tromey 
> |and Alexandre Duret-Lutz .
> | AUTOV is 1.16
> | NOTE: Executing ACLOCAL="aclocal
> --system-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal/
> --automake-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal-1.16"
> autoreconf -Wcross --verbose --install --force --exclude=autopoint
> | autoreconf: Entering directory `.'
> | autoreconf: configure.ac: not using Gettext
> | autoreconf: running: aclocal
> --system-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal/
> --automake-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal-1.16
> --force
> | autoreconf: configure.ac: tracing
> | autoreconf: configure.ac: adding subdirectory CCache to autoreconf
> | autoreconf: Entering directory `CCache'
> | autoreconf: configure.ac: not using Libtool
> | autoreconf: running:
> /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoconf
> --force
> | autoreconf: running:
> /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoheader
> --force
> | autoreconf: configure.ac: not using Automake
> | autoreconf: running: gnu-configize
> | autoreconf: Leaving directory `CCache'
> | configure.ac:35: error: possibly undefined macro: AC_COMPILE_WARNINGS
> |   If this token and others are legitimate, please use m4_pattern_allow.
> |   See the Autoconf documentation.
> | configure.ac:2982: error: possibly undefined macro: AC_DEFINE_DIR
> | autoreconf: 
> /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoconf
> failed with exit status: 1
> | ERROR: autoreconf execution failed.
> | WARNING: 
> /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/run.do_configure.9027:1
> exit 1 from 'exit 1'
> | ERROR: Function failed: do_configure (log file is located at
> /scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/log.do_configure.9027)
> ERROR: Task 
> (virtual:native:/scratch/alistair/yocto/oe-master/meta/recipes-devtools/swig/swig_3.0.12.bb:do_configure)
> failed with exit code '1'
>
> Alistair
>
> >
> > Ross
> > --
> > ___
> > Op

Re: [OE-core] [PATCH 4/4] recipes-kernel/linux: Add RISC-V support

2019-01-03 Thread Alistair Francis
On Thu, Jun 14, 2018 at 3:12 PM Bruce Ashfield  wrote:
>
>
>
> On Thu, Jun 14, 2018 at 3:45 PM, Alistair Francis  
> wrote:
>>
>> Signed-off-by: Alistair Francis 
>> ---
>>  meta/recipes-kernel/linux/linux-yocto.inc | 4 
>>  meta/recipes-kernel/linux/linux-yocto_4.15.bb | 5 -
>>  2 files changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
>> b/meta/recipes-kernel/linux/linux-yocto.inc
>> index 95ec2a2b41..70a13cdd1e 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto.inc
>> +++ b/meta/recipes-kernel/linux/linux-yocto.inc
>> @@ -26,6 +26,10 @@ DEPENDS_append_nios2 = " libgcc"
>>  KERNEL_CC_append_nios2 = " ${TOOLCHAIN_OPTIONS}"
>>  KERNEL_LD_append_nios2 = " ${TOOLCHAIN_OPTIONS}"
>>
>> +DEPENDS_append_riscv64 = " libgcc"
>> +KERNEL_CC_append_riscv64 = " ${TOOLCHAIN_OPTIONS} ${SECURITY_NOPIE_CFLAGS}"
>> +KERNEL_LD_append_riscv64 = " -no-pie"
>> +
>>  KERNEL_FEATURES_append_qemuall=" features/debug/printk.scc"
>>
>>  # A KMACHINE is the mapping of a yocto $MACHINE to what is built
>> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.15.bb 
>> b/meta/recipes-kernel/linux/linux-yocto_4.15.bb
>> index 693670c613..4ea368a011 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto_4.15.bb
>> +++ b/meta/recipes-kernel/linux/linux-yocto_4.15.bb
>> @@ -36,7 +36,10 @@ KCONF_BSP_AUDIT_LEVEL = "2"
>>
>>  KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
>>
>> -COMPATIBLE_MACHINE = 
>> "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
>> +KBUILD_DEFCONFIG_qemuriscv64 = "defconfig"
>> +KCONFIG_MODE_qemuriscv64 = "--alldefconfig"
>
>
> This doesn't belong in linux-yocto.
>
> We use defined BSP and configuration fraagments, not in-tree defconfigs
>
> I'm happy to add a BSP definition to the kernel-cache, but this isn't the way 
> to add configuration support for the linux-yocto trees

Hey Bruce,

I'm looking at this again as the 4.19 kernel now has full working
RISC-V support.

How can I add a BSP definition to the kernel-cache?

Also, what is the reason for not using the in-tree defconfigs?

Alistair

>
> Cheers,
>
> Bruce
>
>>
>> +
>> +COMPATIBLE_MACHINE = 
>> "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemurisc532|qemuriscv64"
>>
>>  # Functionality flags
>>  KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
>> --
>> 2.17.1
>>
>> --
>> ___
>> 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
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v2] swig: Fix configure failure

2019-01-03 Thread Alistair Francis
On Thu, Jan 3, 2019 at 4:02 PM Burton, Ross  wrote:
>
> On Thu, 3 Jan 2019 at 23:18, Alistair Francis  
> wrote:
> > Fix the swig build by calling autogen.sh before running configure.
>
> But...
>
> > @@ -45,6 +45,7 @@ do_configure() {
> >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
> > ${S}/Tools/config
> >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
> >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
> > +(cd ${S} && ./autogen.sh)
> >  oe_runconf
>
> Now this is literally just reimplementing the default do_configure
> from autotools.  The first three lines are gnuconfigize, autogen.sh is
> generally just autoreconf in modern systems, and then oe_runconf.
>
> If do_configure is just deleted, what breaks?

This is the error I see:

ERROR: swig-native-3.0.12-r0 do_configure: autoreconf execution failed.
ERROR: swig-native-3.0.12-r0 do_configure: Function failed:
do_configure (log file is located at
/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/log.do_configure.9027)
ERROR: Logfile of failure stored in:
/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/log.do_configure.9027
Log data follows:
| DEBUG: Executing shell function autotools_preconfigure
| Previously configured separate build directory detected, cleaning
/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/build
| DEBUG: Shell function autotools_preconfigure finished
| DEBUG: Executing python function autotools_aclocals
| DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc',
'bit-64', 'x86_64-linux', 'common']
| DEBUG: Python function autotools_aclocals finished
| DEBUG: Executing shell function do_configure
| automake (GNU automake) 1.16.1
| Copyright (C) 2018 Free Software Foundation, Inc.
| License GPLv2+: GNU GPL version 2 or later

| This is free software: you are free to change and redistribute it.
| There is NO WARRANTY, to the extent permitted by law.
|
| Written by Tom Tromey 
|and Alexandre Duret-Lutz .
| AUTOV is 1.16
| NOTE: Executing ACLOCAL="aclocal
--system-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal/
--automake-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal-1.16"
autoreconf -Wcross --verbose --install --force --exclude=autopoint
| autoreconf: Entering directory `.'
| autoreconf: configure.ac: not using Gettext
| autoreconf: running: aclocal
--system-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal/
--automake-acdir=/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/share/aclocal-1.16
--force
| autoreconf: configure.ac: tracing
| autoreconf: configure.ac: adding subdirectory CCache to autoreconf
| autoreconf: Entering directory `CCache'
| autoreconf: configure.ac: not using Libtool
| autoreconf: running:
/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoconf
--force
| autoreconf: running:
/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoheader
--force
| autoreconf: configure.ac: not using Automake
| autoreconf: running: gnu-configize
| autoreconf: Leaving directory `CCache'
| configure.ac:35: error: possibly undefined macro: AC_COMPILE_WARNINGS
|   If this token and others are legitimate, please use m4_pattern_allow.
|   See the Autoconf documentation.
| configure.ac:2982: error: possibly undefined macro: AC_DEFINE_DIR
| autoreconf: 
/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/recipe-sysroot-native/usr/bin/autoconf
failed with exit status: 1
| ERROR: autoreconf execution failed.
| WARNING: 
/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/run.do_configure.9027:1
exit 1 from 'exit 1'
| ERROR: Function failed: do_configure (log file is located at
/scratch/alistair/yocto/oe-master/build/tmp-glibc/work/x86_64-linux/swig-native/3.0.12-r0/temp/log.do_configure.9027)
ERROR: Task 
(virtual:native:/scratch/alistair/yocto/oe-master/meta/recipes-devtools/swig/swig_3.0.12.bb:do_configure)
failed with exit code '1'

Alistair

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

Re: [OE-core] [PATCH v2] swig: Fix configure failure

2019-01-03 Thread Burton, Ross
On Thu, 3 Jan 2019 at 23:18, Alistair Francis  wrote:
> Fix the swig build by calling autogen.sh before running configure.

But...

> @@ -45,6 +45,7 @@ do_configure() {
>  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
> ${S}/Tools/config
>  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
>  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
> +(cd ${S} && ./autogen.sh)
>  oe_runconf

Now this is literally just reimplementing the default do_configure
from autotools.  The first three lines are gnuconfigize, autogen.sh is
generally just autoreconf in modern systems, and then oe_runconf.

If do_configure is just deleted, what breaks?

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


Re: [OE-core] [Openembedded-architecture] Dropping armv5 and armv5e tunes in 2.7

2019-01-03 Thread Khem Raj
Thanks Adrian

On Thu, Jan 3, 2019 at 2:59 PM Adrian Bunk  wrote:
>
> On Thu, Jan 03, 2019 at 02:01:42PM -0800, Khem Raj wrote:
> > Hello All
> >
> > You might have noticed a recent commit in gcc trunk
> >
> > https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=b232e6b58e3766bc66fe08fdb7bcba1bdadda8a2
> >
> > Which removed support for deprecated -march=armv5 and armv5e, this
> > will be released along with gcc-9 release which is upcoming and we
> > might be able to add gcc9 to 2.7 release or 2.8 release for sure.
> >
> > We still have non-thumb tunes for armv5 and armv4 in our tune pack, I
> > would like to propose a patch to remove them.
> >...
>
> Note that gcc 9 does *not* remove non-thumb armv4 support.
>

yes that's right. However, I was taking this time to find out if we can drop all
the ones besides armv5te even if gcc supported it unless there were OE users
who are still interested in supporting them and had devices running OE
which need them

> Non-thumb armv5/armv5e have been removed due to
> "have no known implementations".
>
> Non-thumb armv4 support was deprecated in gcc 6 together with armv2/armv3,
> but there are still people using recent gcc on StrongARM - which is
> non-thumb armv4.

OK, that's a fair point, however, in OE's case I only have reports from users
with armv4t devices, but it we can keep the armv4 arm-only tunes around along
with the arm-thumb v4 ones

>
> > Thanks
> > -Khem
>
> cu
> Adrian
>
> --
>
>"Is there not promise of rain?" Ling Tan asked suddenly out
> of the darkness. There had been need of rain for many days.
>"Only a promise," Lao Er said.
>Pearl S. Buck - Dragon Seed
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] fts: Bump FTS to version 1.2.7

2019-01-03 Thread Alistair Francis
On Thu, Jan 3, 2019 at 3:15 PM Khem Raj  wrote:
>
>
>
> On Thu, Jan 3, 2019 at 2:51 PM Alistair Francis  wrote:
>>
>> On Thu, Jan 3, 2019 at 2:46 PM Khem Raj  wrote:
>> >
>> > On Thu, Jan 3, 2019 at 2:42 PM Alistair Francis
>> >  wrote:
>> > >
>> > > Signed-off-by: Alistair Francis 
>> > > ---
>> > >  meta/recipes-core/fts/fts.bb   | 22 --
>> > >  meta/recipes-core/fts/fts_1.2.7.bb | 18 ++
>> > >  2 files changed, 18 insertions(+), 22 deletions(-)
>> > >  delete mode 100644 meta/recipes-core/fts/fts.bb
>> > >  create mode 100644 meta/recipes-core/fts/fts_1.2.7.bb
>> > >
>> > > diff --git a/meta/recipes-core/fts/fts.bb b/meta/recipes-core/fts/fts.bb
>> > > deleted file mode 100644
>> > > index 02f54086a3..00
>> > > --- a/meta/recipes-core/fts/fts.bb
>> > > +++ /dev/null
>> > > @@ -1,22 +0,0 @@
>> > > -# Copyright (C) 2015 Khem Raj 
>> > > -# Released under the MIT license (see COPYING.MIT for the terms)
>> > > -
>> >
>> > I am sad you took this out :)
>>
>> Do you want me to keep it in?
>
>
> Usually yes

V2 sent!

Alistair

>>
>>
>>
>> Alistair
>>
>> >
>> > > -SUMMARY = "POSIX file tree stream operations library"
>> > > -HOMEPAGE = "https://sites.google.com/a/bostic.com/keithbostic";
>> > > -LICENSE = "BSD-3-Clause"
>> > > -LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
>> > > -SECTION = "libs"
>> > > -
>> > > -SRCREV = "944333aed9dc24cfa76cc64bfe70c75d25652753"
>> > > -PV = "1.2+git${SRCPV}"
>> > > -
>> > > -SRC_URI = "git://github.com/voidlinux/musl-fts \
>> > > -"
>> > > -S = "${WORKDIR}/git"
>> > > -
>> > > -inherit autotools pkgconfig
>> > > -#
>> > > -# We will skip parsing for non-musl systems
>> > > -#
>> > > -COMPATIBLE_HOST = ".*-musl.*"
>> > > -
>> > > diff --git a/meta/recipes-core/fts/fts_1.2.7.bb 
>> > > b/meta/recipes-core/fts/fts_1.2.7.bb
>> > > new file mode 100644
>> > > index 00..7ede6550f6
>> > > --- /dev/null
>> > > +++ b/meta/recipes-core/fts/fts_1.2.7.bb
>> > > @@ -0,0 +1,18 @@
>> > > +SUMMARY = "Implementation of ftsfor musl libc packages"
>> > > +HOMEPAGE = "https://github.com/pullmoll/musl-fts";
>> > > +LICENSE = "BSD-3-Clause"
>> > > +LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
>> > > +SECTION = "libs"
>> > > +
>> > > +SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472"
>> > > +
>> > > +SRC_URI = "git://github.com/pullmoll/musl-fts.git"
>> > > +
>> > > +S = "${WORKDIR}/git"
>> > > +
>> > > +inherit autotools pkgconfig
>> > > +#
>> > > +# We will skip parsing for non-musl systems
>> > > +#
>> > > +COMPATIBLE_HOST = ".*-musl.*"
>> > > +
>> > > --
>> > > 2.19.1
>> > >
>> > > --
>> > > ___
>> > > 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
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2] swig: Fix configure failure

2019-01-03 Thread Alistair Francis
Fix the swig build by calling autogen.sh before running configure.

Signed-off-by: Alistair Francis 
---
 meta/recipes-devtools/swig/swig.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/swig/swig.inc 
b/meta/recipes-devtools/swig/swig.inc
index aec544997f..d74e34c1b6 100644
--- a/meta/recipes-devtools/swig/swig.inc
+++ b/meta/recipes-devtools/swig/swig.inc
@@ -45,6 +45,7 @@ do_configure() {
 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
${S}/Tools/config
 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+(cd ${S} && ./autogen.sh)
 oe_runconf
 }
 
-- 
2.19.1

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


[OE-core] [PATCH v2] fts: Bump FTS to version 1.2.7

2019-01-03 Thread Alistair Francis
Signed-off-by: Alistair Francis 
---
 meta/recipes-core/fts/{fts.bb => fts_1.2.7.bb} | 11 +--
 1 file changed, 5 insertions(+), 6 deletions(-)
 rename meta/recipes-core/fts/{fts.bb => fts_1.2.7.bb} (59%)

diff --git a/meta/recipes-core/fts/fts.bb b/meta/recipes-core/fts/fts_1.2.7.bb
similarity index 59%
rename from meta/recipes-core/fts/fts.bb
rename to meta/recipes-core/fts/fts_1.2.7.bb
index 02f54086a3..589ae0e916 100644
--- a/meta/recipes-core/fts/fts.bb
+++ b/meta/recipes-core/fts/fts_1.2.7.bb
@@ -1,17 +1,16 @@
 # Copyright (C) 2015 Khem Raj 
 # Released under the MIT license (see COPYING.MIT for the terms)
 
-SUMMARY = "POSIX file tree stream operations library"
-HOMEPAGE = "https://sites.google.com/a/bostic.com/keithbostic";
+SUMMARY = "Implementation of ftsfor musl libc packages"
+HOMEPAGE = "https://github.com/pullmoll/musl-fts";
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
 SECTION = "libs"
 
-SRCREV = "944333aed9dc24cfa76cc64bfe70c75d25652753"
-PV = "1.2+git${SRCPV}"
+SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472"
+
+SRC_URI = "git://github.com/pullmoll/musl-fts.git"
 
-SRC_URI = "git://github.com/voidlinux/musl-fts \
-"
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig
-- 
2.19.1

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


Re: [OE-core] [PATCH] fts: Bump FTS to version 1.2.7

2019-01-03 Thread Khem Raj
On Thu, Jan 3, 2019 at 2:51 PM Alistair Francis 
wrote:

> On Thu, Jan 3, 2019 at 2:46 PM Khem Raj  wrote:
> >
> > On Thu, Jan 3, 2019 at 2:42 PM Alistair Francis
> >  wrote:
> > >
> > > Signed-off-by: Alistair Francis 
> > > ---
> > >  meta/recipes-core/fts/fts.bb   | 22 --
> > >  meta/recipes-core/fts/fts_1.2.7.bb | 18 ++
> > >  2 files changed, 18 insertions(+), 22 deletions(-)
> > >  delete mode 100644 meta/recipes-core/fts/fts.bb
> > >  create mode 100644 meta/recipes-core/fts/fts_1.2.7.bb
> > >
> > > diff --git a/meta/recipes-core/fts/fts.bb b/meta/recipes-core/fts/
> fts.bb
> > > deleted file mode 100644
> > > index 02f54086a3..00
> > > --- a/meta/recipes-core/fts/fts.bb
> > > +++ /dev/null
> > > @@ -1,22 +0,0 @@
> > > -# Copyright (C) 2015 Khem Raj 
> > > -# Released under the MIT license (see COPYING.MIT for the terms)
> > > -
> >
> > I am sad you took this out :)
>
> Do you want me to keep it in?


Usually yes

>
>
> Alistair
>
> >
> > > -SUMMARY = "POSIX file tree stream operations library"
> > > -HOMEPAGE = "https://sites.google.com/a/bostic.com/keithbostic";
> > > -LICENSE = "BSD-3-Clause"
> > > -LIC_FILES_CHKSUM =
> "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
> > > -SECTION = "libs"
> > > -
> > > -SRCREV = "944333aed9dc24cfa76cc64bfe70c75d25652753"
> > > -PV = "1.2+git${SRCPV}"
> > > -
> > > -SRC_URI = "git://github.com/voidlinux/musl-fts \
> > > -"
> > > -S = "${WORKDIR}/git"
> > > -
> > > -inherit autotools pkgconfig
> > > -#
> > > -# We will skip parsing for non-musl systems
> > > -#
> > > -COMPATIBLE_HOST = ".*-musl.*"
> > > -
> > > diff --git a/meta/recipes-core/fts/fts_1.2.7.bb
> b/meta/recipes-core/fts/fts_1.2.7.bb
> > > new file mode 100644
> > > index 00..7ede6550f6
> > > --- /dev/null
> > > +++ b/meta/recipes-core/fts/fts_1.2.7.bb
> > > @@ -0,0 +1,18 @@
> > > +SUMMARY = "Implementation of ftsfor musl libc packages"
> > > +HOMEPAGE = "https://github.com/pullmoll/musl-fts";
> > > +LICENSE = "BSD-3-Clause"
> > > +LIC_FILES_CHKSUM =
> "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
> > > +SECTION = "libs"
> > > +
> > > +SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472"
> > > +
> > > +SRC_URI = "git://github.com/pullmoll/musl-fts.git"
> > > +
> > > +S = "${WORKDIR}/git"
> > > +
> > > +inherit autotools pkgconfig
> > > +#
> > > +# We will skip parsing for non-musl systems
> > > +#
> > > +COMPATIBLE_HOST = ".*-musl.*"
> > > +
> > > --
> > > 2.19.1
> > >
> > > --
> > > ___
> > > 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
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [Openembedded-architecture] Dropping armv5 and armv5e tunes in 2.7

2019-01-03 Thread Adrian Bunk
On Thu, Jan 03, 2019 at 02:01:42PM -0800, Khem Raj wrote:
> Hello All
> 
> You might have noticed a recent commit in gcc trunk
> 
> https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=b232e6b58e3766bc66fe08fdb7bcba1bdadda8a2
> 
> Which removed support for deprecated -march=armv5 and armv5e, this
> will be released along with gcc-9 release which is upcoming and we
> might be able to add gcc9 to 2.7 release or 2.8 release for sure.
> 
> We still have non-thumb tunes for armv5 and armv4 in our tune pack, I
> would like to propose a patch to remove them.
>...

Note that gcc 9 does *not* remove non-thumb armv4 support.

Non-thumb armv5/armv5e have been removed due to
"have no known implementations".

Non-thumb armv4 support was deprecated in gcc 6 together with armv2/armv3,
but there are still people using recent gcc on StrongARM - which is 
non-thumb armv4.

> Thanks
> -Khem

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


Re: [OE-core] [PATCH] swig: Fix the build

2019-01-03 Thread Alistair Francis
On Thu, Jan 3, 2019 at 2:33 PM Khem Raj  wrote:
>
> On Thu, Jan 3, 2019 at 2:30 PM Alistair Francis
>  wrote:
> >
> > Fix the swig build by calling autogen.sh before running configure.
> >
> > Signed-off-by: Alistair Francis 
> > ---
> >  meta/recipes-devtools/swig/swig.inc | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/recipes-devtools/swig/swig.inc 
> > b/meta/recipes-devtools/swig/swig.inc
> > index aec544997f..49da68c544 100644
> > --- a/meta/recipes-devtools/swig/swig.inc
> > +++ b/meta/recipes-devtools/swig/swig.inc
> > @@ -11,7 +11,7 @@ DEPENDS = "libpcre"
> >
> >  SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
> >
> > -inherit autotools python3native pkgconfig
> > +inherit autotools-brokensep python3native pkgconfig
>
> this seems to be going backwards.
>
> >
> >  EXTRA_OECONF = " \
> >  --with-python3=${PYTHON} \
> > @@ -45,6 +45,7 @@ do_configure() {
> >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
> > ${S}/Tools/config
> >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
> >  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
> > +./autogen.sh
>
> may be just (cd ${S} && ./autogen.sh)

That seems to work, I'll send a v2.

Alistair

>
> >  oe_runconf
> >  }
> >
> > --
> > 2.19.1
> >
> > --
> > ___
> > 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
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] fts: Bump FTS to version 1.2.7

2019-01-03 Thread Alistair Francis
On Thu, Jan 3, 2019 at 2:46 PM Khem Raj  wrote:
>
> On Thu, Jan 3, 2019 at 2:42 PM Alistair Francis
>  wrote:
> >
> > Signed-off-by: Alistair Francis 
> > ---
> >  meta/recipes-core/fts/fts.bb   | 22 --
> >  meta/recipes-core/fts/fts_1.2.7.bb | 18 ++
> >  2 files changed, 18 insertions(+), 22 deletions(-)
> >  delete mode 100644 meta/recipes-core/fts/fts.bb
> >  create mode 100644 meta/recipes-core/fts/fts_1.2.7.bb
> >
> > diff --git a/meta/recipes-core/fts/fts.bb b/meta/recipes-core/fts/fts.bb
> > deleted file mode 100644
> > index 02f54086a3..00
> > --- a/meta/recipes-core/fts/fts.bb
> > +++ /dev/null
> > @@ -1,22 +0,0 @@
> > -# Copyright (C) 2015 Khem Raj 
> > -# Released under the MIT license (see COPYING.MIT for the terms)
> > -
>
> I am sad you took this out :)

Do you want me to keep it in?

Alistair

>
> > -SUMMARY = "POSIX file tree stream operations library"
> > -HOMEPAGE = "https://sites.google.com/a/bostic.com/keithbostic";
> > -LICENSE = "BSD-3-Clause"
> > -LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
> > -SECTION = "libs"
> > -
> > -SRCREV = "944333aed9dc24cfa76cc64bfe70c75d25652753"
> > -PV = "1.2+git${SRCPV}"
> > -
> > -SRC_URI = "git://github.com/voidlinux/musl-fts \
> > -"
> > -S = "${WORKDIR}/git"
> > -
> > -inherit autotools pkgconfig
> > -#
> > -# We will skip parsing for non-musl systems
> > -#
> > -COMPATIBLE_HOST = ".*-musl.*"
> > -
> > diff --git a/meta/recipes-core/fts/fts_1.2.7.bb 
> > b/meta/recipes-core/fts/fts_1.2.7.bb
> > new file mode 100644
> > index 00..7ede6550f6
> > --- /dev/null
> > +++ b/meta/recipes-core/fts/fts_1.2.7.bb
> > @@ -0,0 +1,18 @@
> > +SUMMARY = "Implementation of ftsfor musl libc packages"
> > +HOMEPAGE = "https://github.com/pullmoll/musl-fts";
> > +LICENSE = "BSD-3-Clause"
> > +LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
> > +SECTION = "libs"
> > +
> > +SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472"
> > +
> > +SRC_URI = "git://github.com/pullmoll/musl-fts.git"
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +inherit autotools pkgconfig
> > +#
> > +# We will skip parsing for non-musl systems
> > +#
> > +COMPATIBLE_HOST = ".*-musl.*"
> > +
> > --
> > 2.19.1
> >
> > --
> > ___
> > 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
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] oe-selftest serial timeout

2019-01-03 Thread richard . purdie
On Thu, 2019-01-03 at 16:03 +0800, Robert Yang wrote:
> Hi RP,
> 
> On 1/3/19 5:13 AM, Richard Purdie wrote:
> > Hi Robert,
> > 
> > The test we added debug to failed, logs/links below. Looks like the
> > 5s
> > timeout for non-kvm is too short as was commented elsewhere. Not
> > sure
> 
> I've sent a patch to set default timeout to 60s:
> 
> oeqa/utils/qemurunner: set timeout to 60s for run_serial

Thanks, that should help a lot!

Its queued in -next.

> > why the kvm setting isn't being passed in here but it should be set
> > for
> > these builds, we may need to make sure its inherited as well?
> 
> And another 2 patches to make sure oeqa/selftest/runqemu use kvm when
> QEMU_USE_KVM is set:
> 
> oeqa: Fix for QEMU_USE_KVM
> oeqa/selftest/runqemu: enable kvm when QEMU_USE_KVM is set

I've replied on this one, I think we need to tweak the patch a little
more and solve a few issues once and for all whilst we're changing that
code!

Cheers,

Richard

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


Re: [OE-core] [PATCH] fts: Bump FTS to version 1.2.7

2019-01-03 Thread Khem Raj
On Thu, Jan 3, 2019 at 2:42 PM Alistair Francis
 wrote:
>
> Signed-off-by: Alistair Francis 
> ---
>  meta/recipes-core/fts/fts.bb   | 22 --
>  meta/recipes-core/fts/fts_1.2.7.bb | 18 ++
>  2 files changed, 18 insertions(+), 22 deletions(-)
>  delete mode 100644 meta/recipes-core/fts/fts.bb
>  create mode 100644 meta/recipes-core/fts/fts_1.2.7.bb
>
> diff --git a/meta/recipes-core/fts/fts.bb b/meta/recipes-core/fts/fts.bb
> deleted file mode 100644
> index 02f54086a3..00
> --- a/meta/recipes-core/fts/fts.bb
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -# Copyright (C) 2015 Khem Raj 
> -# Released under the MIT license (see COPYING.MIT for the terms)
> -

I am sad you took this out :)

> -SUMMARY = "POSIX file tree stream operations library"
> -HOMEPAGE = "https://sites.google.com/a/bostic.com/keithbostic";
> -LICENSE = "BSD-3-Clause"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
> -SECTION = "libs"
> -
> -SRCREV = "944333aed9dc24cfa76cc64bfe70c75d25652753"
> -PV = "1.2+git${SRCPV}"
> -
> -SRC_URI = "git://github.com/voidlinux/musl-fts \
> -"
> -S = "${WORKDIR}/git"
> -
> -inherit autotools pkgconfig
> -#
> -# We will skip parsing for non-musl systems
> -#
> -COMPATIBLE_HOST = ".*-musl.*"
> -
> diff --git a/meta/recipes-core/fts/fts_1.2.7.bb 
> b/meta/recipes-core/fts/fts_1.2.7.bb
> new file mode 100644
> index 00..7ede6550f6
> --- /dev/null
> +++ b/meta/recipes-core/fts/fts_1.2.7.bb
> @@ -0,0 +1,18 @@
> +SUMMARY = "Implementation of ftsfor musl libc packages"
> +HOMEPAGE = "https://github.com/pullmoll/musl-fts";
> +LICENSE = "BSD-3-Clause"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
> +SECTION = "libs"
> +
> +SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472"
> +
> +SRC_URI = "git://github.com/pullmoll/musl-fts.git"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit autotools pkgconfig
> +#
> +# We will skip parsing for non-musl systems
> +#
> +COMPATIBLE_HOST = ".*-musl.*"
> +
> --
> 2.19.1
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] fts: Bump FTS to version 1.2.7

2019-01-03 Thread Alistair Francis
Signed-off-by: Alistair Francis 
---
 meta/recipes-core/fts/fts.bb   | 22 --
 meta/recipes-core/fts/fts_1.2.7.bb | 18 ++
 2 files changed, 18 insertions(+), 22 deletions(-)
 delete mode 100644 meta/recipes-core/fts/fts.bb
 create mode 100644 meta/recipes-core/fts/fts_1.2.7.bb

diff --git a/meta/recipes-core/fts/fts.bb b/meta/recipes-core/fts/fts.bb
deleted file mode 100644
index 02f54086a3..00
--- a/meta/recipes-core/fts/fts.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (C) 2015 Khem Raj 
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "POSIX file tree stream operations library"
-HOMEPAGE = "https://sites.google.com/a/bostic.com/keithbostic";
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
-SECTION = "libs"
-
-SRCREV = "944333aed9dc24cfa76cc64bfe70c75d25652753"
-PV = "1.2+git${SRCPV}"
-
-SRC_URI = "git://github.com/voidlinux/musl-fts \
-"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-#
-# We will skip parsing for non-musl systems
-#
-COMPATIBLE_HOST = ".*-musl.*"
-
diff --git a/meta/recipes-core/fts/fts_1.2.7.bb 
b/meta/recipes-core/fts/fts_1.2.7.bb
new file mode 100644
index 00..7ede6550f6
--- /dev/null
+++ b/meta/recipes-core/fts/fts_1.2.7.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Implementation of ftsfor musl libc packages"
+HOMEPAGE = "https://github.com/pullmoll/musl-fts";
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
+SECTION = "libs"
+
+SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472"
+
+SRC_URI = "git://github.com/pullmoll/musl-fts.git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+#
+# We will skip parsing for non-musl systems
+#
+COMPATIBLE_HOST = ".*-musl.*"
+
-- 
2.19.1

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


Re: [OE-core] [PATCH 1/2] oeqa: Fix for QEMU_USE_KVM

2019-01-03 Thread Richard Purdie
On Thu, 2019-01-03 at 16:04 +0800, Robert Yang wrote:
> Fixed:
> MACHINE = "qemux86"
> QEMU_USE_KVM = "qemux86"
> IMAGE_CLASSES += "testimage"
> 
> $ oe-selftest -r runqemu.RunqemuTests.test_boot_rootfs
> 
> [snip]
>   File "/buildarea1/lyang1/poky/meta/lib/oe/types.py", line 122, in
> boolean
> raise ValueError("Invalid boolean value '%s'" % value)
> ValueError: Invalid boolean value 'qemux86'
> 
> Signed-off-by: Robert Yang 
> ---
>  meta/classes/testimage.bbclass |  8 +---
>  meta/lib/oe/types.py   | 18 ++
>  meta/lib/oeqa/targetcontrol.py |  8 +---
>  3 files changed, 20 insertions(+), 14 deletions(-)
> 
> diff --git a/meta/classes/testimage.bbclass
> b/meta/classes/testimage.bbclass
> index e8fa4a3..82aef9f 100644
> --- a/meta/classes/testimage.bbclass
> +++ b/meta/classes/testimage.bbclass
> @@ -230,13 +230,7 @@ def testimage_main(d):
>  boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT"))
>  
>  # Get use_kvm
> -qemu_use_kvm = d.getVar("QEMU_USE_KVM")
> -if qemu_use_kvm and \
> -   (d.getVar('MACHINE') in qemu_use_kvm.split() or \
> -oe.types.boolean(qemu_use_kvm) and 'x86' in machine):
> -kvm = True
> -else:
> -kvm = False
> +kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'),
> d.getVar('MACHINE'))
>  
>  slirp = False
>  if d.getVar("QEMU_USE_SLIRP"):
> diff --git a/meta/lib/oe/types.py b/meta/lib/oe/types.py
> index f401713..a153f2c 100644
> --- a/meta/lib/oe/types.py
> +++ b/meta/lib/oe/types.py
> @@ -156,3 +156,21 @@ def path(value, relativeto='', normalize='true',
> mustexist='false'):
>  raise ValueError("{0}: {1}".format(value,
> os.strerror(errno.ENOENT)))
>  
>  return value
> +
> +def qemu_use_kvm(kvm, machine):
> +"""
> +kvm can be:
> +- bool: 0, yes, ...
> +- MACHINEs: qemux86 qemux86-64 ...
> +"""
> +use_kvm = False
> +if kvm:
> +kvm_boolean = False
> +try:
> +kvm_boolean = boolean(kvm)
> +except ValueError:
> +pass
> +if (kvm_boolean and "x86" in machine) or (machine in
> kvm.split()):
> +use_kvm = True
> +return use_kvm
> +
> diff --git a/meta/lib/oeqa/targetcontrol.py
> b/meta/lib/oeqa/targetcontrol.py
> index 59a9c35..980d6a2 100644
> --- a/meta/lib/oeqa/targetcontrol.py
> +++ b/meta/lib/oeqa/targetcontrol.py
> @@ -107,13 +107,7 @@ class QemuTarget(BaseTarget):
>  dump_target_cmds = d.getVar("testimage_dump_target")
>  dump_host_cmds = d.getVar("testimage_dump_host")
>  dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
> -qemu_use_kvm = d.getVar("QEMU_USE_KVM")
> -if qemu_use_kvm and \
> -   (oe.types.boolean(qemu_use_kvm) and "x86" in
> d.getVar("MACHINE") or \
> -d.getVar("MACHINE") in qemu_use_kvm.split()):
> -use_kvm = True
> -else:
> -use_kvm = False
> +use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'),
> d.getVar('MACHINE'))
>  
>  # Log QemuRunner log output to a file
>  import oe.path


There have been a few patches related to this floating around. I'd like
to fix this once and for all but we don't have a patch which quite gets
this to where it needs to be.

I'd suggest we:

a) drop the approach of having MACHINE in the variable and simply have
it either set to enabled or disabled

b) only enable KVM if the target arch matches the host arch


For b) I'd like to cover the case where qemuarm64 is being run on an
aarch64 server.

This way we'd automatically enable KVM where the arch matches rather
than needing to code it for each MACHINE.

Does that make sense?

Cheers,

Richard



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


Re: [OE-core] [PATCH] swig: Fix the build

2019-01-03 Thread Khem Raj
On Thu, Jan 3, 2019 at 2:30 PM Alistair Francis
 wrote:
>
> Fix the swig build by calling autogen.sh before running configure.
>
> Signed-off-by: Alistair Francis 
> ---
>  meta/recipes-devtools/swig/swig.inc | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-devtools/swig/swig.inc 
> b/meta/recipes-devtools/swig/swig.inc
> index aec544997f..49da68c544 100644
> --- a/meta/recipes-devtools/swig/swig.inc
> +++ b/meta/recipes-devtools/swig/swig.inc
> @@ -11,7 +11,7 @@ DEPENDS = "libpcre"
>
>  SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
>
> -inherit autotools python3native pkgconfig
> +inherit autotools-brokensep python3native pkgconfig

this seems to be going backwards.

>
>  EXTRA_OECONF = " \
>  --with-python3=${PYTHON} \
> @@ -45,6 +45,7 @@ do_configure() {
>  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
> ${S}/Tools/config
>  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
>  install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
> +./autogen.sh

may be just (cd ${S} && ./autogen.sh)

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


[OE-core] [PATCH] swig: Fix the build

2019-01-03 Thread Alistair Francis
Fix the swig build by calling autogen.sh before running configure.

Signed-off-by: Alistair Francis 
---
 meta/recipes-devtools/swig/swig.inc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/swig/swig.inc 
b/meta/recipes-devtools/swig/swig.inc
index aec544997f..49da68c544 100644
--- a/meta/recipes-devtools/swig/swig.inc
+++ b/meta/recipes-devtools/swig/swig.inc
@@ -11,7 +11,7 @@ DEPENDS = "libpcre"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
 
-inherit autotools python3native pkgconfig
+inherit autotools-brokensep python3native pkgconfig
 
 EXTRA_OECONF = " \
 --with-python3=${PYTHON} \
@@ -45,6 +45,7 @@ do_configure() {
 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub 
${S}/Tools/config
 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+./autogen.sh
 oe_runconf
 }
 
-- 
2.19.1

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


[OE-core] Dropping armv5 and armv5e tunes in 2.7

2019-01-03 Thread Khem Raj
Hello All

You might have noticed a recent commit in gcc trunk

https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=b232e6b58e3766bc66fe08fdb7bcba1bdadda8a2

Which removed support for deprecated -march=armv5 and armv5e, this
will be released along with gcc-9 release which is upcoming and we
might be able to add gcc9 to 2.7 release or 2.8 release for sure.

We still have non-thumb tunes for armv5 and armv4 in our tune pack, I
would like to propose a patch to remove them.

Secondly, I would also like to drop armv4t, and keep armv5te as lowest
supported tune, I know some of us do have machines using armv4t, if
you still maintain them and have need to keep armv4t going, please
chime into this thread.

I have also already posted a related patch here

https://patchwork.openembedded.org/patch/157529/

which uses 't' variants for -mtune explicitly for armv4 and armv5 tunes.

I will prepare patches if there is agreement here, and a no reply is
deemed to be 'yes' :)

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


Re: [OE-core] [PATCH 3/3] oeqa/sdk: add test to exercise Meson

2019-01-03 Thread Richard Purdie
On Thu, 2018-12-20 at 15:40 +, Ross Burton wrote:
> Signed-off-by: Ross Burton 
> ---
>  meta/lib/oeqa/sdk/cases/buildepoxy.py | 36
> +++
>  1 file changed, 36 insertions(+)
>  create mode 100644 meta/lib/oeqa/sdk/cases/buildepoxy.py

Fails on the autobuilder sadly:

https://autobuilder.yoctoproject.org/typhoon/#/builders/85/builds/84

Cheers,

Richard

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


Re: [OE-core] [PATCH] kernel.bbclass: Fix incorrect deploying of fitimage.initramfs

2019-01-03 Thread Manjukumar Harthikote Matha



> -Original Message-
> From: openembedded-core-boun...@lists.openembedded.org
> [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of
> André Draszik
> Sent: Thursday, January 03, 2019 8:07 AM
> To: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] kernel.bbclass: Fix incorrect deploying of
> fitimage.initramfs
> 
> On Wed, 2019-01-02 at 20:51 -0800, Manjukumar Matha wrote:
> > When kernel-fitimage and initramfs is enabled using
> > INITRAMFS_IMAGE_BUNDLE = "1", kernel do_deploy tries to deploy
> > fitImage.initramfs with following error
> >
> > > install: cannot stat 'arch/arm64/boot/fitImage.initramfs': No such
> > file or directory
> >
> > Skip deploying fitimage.initramfs, since fitimage does not create
> > fitimage.initramfs
> >
> > Signed-off-by: Manjukumar Matha
> > 
> > ---
> >  meta/classes/kernel.bbclass | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > index e04d2fe..60382bf 100644
> > --- a/meta/classes/kernel.bbclass
> > +++ b/meta/classes/kernel.bbclass
> > @@ -682,6 +682,9 @@ kernel_do_deploy() {
> >
> > if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1
> > ]; then
> > for imageType in ${KERNEL_IMAGETYPES} ; do
> > +   if [ "$imageType" == "fitImage" ] ; then
>   ^^
> 
> == is a bashism and should simply be = instead.
> 

Right, v2 on its way

Thanks,
Manju

> Cheers,
> Andre'
> 
> > +   continue
> > +   fi
> > initramfs_base_name=${imageType}-${INITRAMFS_NAME}
> > initramfs_symlink_name=${imageType}-
> > ${INITRAMFS_LINK_NAME}
> > install -m 0644
> > ${KERNEL_OUTPUT_DIR}/${imageType}.initramfs
> > $deployDir/${initramfs_base_name}.bin
> > --
> > 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


[OE-core] [PATCH v2] kernel.bbclass: Fix incorrect deploying of fitimage.initramfs

2019-01-03 Thread Manjukumar Matha
When kernel-fitimage and initramfs is enabled using
INITRAMFS_IMAGE_BUNDLE = "1", kernel do_deploy tries to deploy
fitImage.initramfs with following error

| install: cannot stat 'arch/arm64/boot/fitImage.initramfs': No such
file or directory

Skip deploying fitimage.initramfs, since fitimage does not
create fitimage.initramfs

Signed-off-by: Manjukumar Matha 
---
Changes since version 1:
Fix the compare operator to be = instead of ==
 meta/classes/kernel.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index e04d2fe..985ceb3 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -682,6 +682,9 @@ kernel_do_deploy() {
 
if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; 
then
for imageType in ${KERNEL_IMAGETYPES} ; do
+   if [ "$imageType" = "fitImage" ] ; then
+   continue
+   fi
initramfs_base_name=${imageType}-${INITRAMFS_NAME}

initramfs_symlink_name=${imageType}-${INITRAMFS_LINK_NAME}
install -m 0644 
${KERNEL_OUTPUT_DIR}/${imageType}.initramfs 
$deployDir/${initramfs_base_name}.bin
-- 
2.7.4

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


Re: [OE-core] [PATCH 3/8] nettle: update to 3.4.1

2019-01-03 Thread akuster808



On 1/3/19 4:33 AM, Richard Purdie wrote:
> On Wed, 2019-01-02 at 22:35 -0800, Khem Raj wrote:
>> native version fails on ubuntu 14.04, seems like we need to pass
>> -std=c99 explicitly via cflags see
>>
>> http://errors.yoctoproject.org/Errors/Details/214590/

Ok. thanks. v2 is in order

- armin
> and 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/56/builds/86
>
> Cheers,
>
> Richard
>

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


Re: [OE-core] [PATCH] kernel.bbclass: Fix incorrect deploying of fitimage.initramfs

2019-01-03 Thread André Draszik
On Wed, 2019-01-02 at 20:51 -0800, Manjukumar Matha wrote:
> When kernel-fitimage and initramfs is enabled using
> INITRAMFS_IMAGE_BUNDLE = "1", kernel do_deploy tries to deploy
> fitImage.initramfs with following error
> 
> > install: cannot stat 'arch/arm64/boot/fitImage.initramfs': No such
> file or directory
> 
> Skip deploying fitimage.initramfs, since fitimage does not
> create fitimage.initramfs
> 
> Signed-off-by: Manjukumar Matha 
> ---
>  meta/classes/kernel.bbclass | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index e04d2fe..60382bf 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -682,6 +682,9 @@ kernel_do_deploy() {
>  
>   if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1
> ]; then
>   for imageType in ${KERNEL_IMAGETYPES} ; do
> + if [ "$imageType" == "fitImage" ] ; then
  ^^

== is a bashism and should simply be = instead.

Cheers,
Andre'

> + continue
> + fi
>   initramfs_base_name=${imageType}-${INITRAMFS_NAME}
>   initramfs_symlink_name=${imageType}-
> ${INITRAMFS_LINK_NAME}
>   install -m 0644
> ${KERNEL_OUTPUT_DIR}/${imageType}.initramfs
> $deployDir/${initramfs_base_name}.bin
> -- 
> 2.7.4
> 

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


[OE-core] [PATCH] update-alternatives.bbclass: Stabilize iteration order

2019-01-03 Thread Clemens Lang
The use of a dictionary for link_rename causes problems for higher-order
alternatives, i.e. when an alternative link points to another
alternative link, since these links must be processed in the order in
which they were originally added for symlink correction to work.

Switch from a dict to a list of tuples to ensure processing happens in
the original order.

Signed-off-by: Clemens Lang 
---
 meta/classes/update-alternatives.bbclass | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/meta/classes/update-alternatives.bbclass 
b/meta/classes/update-alternatives.bbclass
index ee66379933..1362274d4d 100644
--- a/meta/classes/update-alternatives.bbclass
+++ b/meta/classes/update-alternatives.bbclass
@@ -148,7 +148,7 @@ def apply_update_alternative_renames(d):
 pkgdest = d.getVar('PKGD')
 for pkg in (d.getVar('PACKAGES') or "").split():
 # If the src == dest, we know we need to rename the dest by appending 
${BPN}
-link_rename = {}
+link_rename = []
 for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
 alt_link = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name)
 if not alt_link:
@@ -174,7 +174,7 @@ def apply_update_alternative_renames(d):
 elif os.path.lexists(src):
 if os.path.islink(src):
 # Delay rename of links
-link_rename[alt_target] = alt_target_rename
+link_rename.append((alt_target, alt_target_rename))
 else:
 bb.note('%s: Rename %s -> %s' % (pn, alt_target, 
alt_target_rename))
 os.rename(src, dest)
@@ -185,22 +185,21 @@ def apply_update_alternative_renames(d):
 
 # Process delayed link names
 # Do these after other renames so we can correct broken links
-for alt_target in link_rename:
+for (alt_target, alt_target_rename) in link_rename:
 src = '%s/%s' % (pkgdest, alt_target)
-dest = '%s/%s' % (pkgdest, link_rename[alt_target])
-link = os.readlink(src)
+dest = '%s/%s' % (pkgdest, alt_target_rename)
 link_target = oe.path.realpath(src, pkgdest, True)
 
 if os.path.lexists(link_target):
 # Ok, the link_target exists, we can rename
-bb.note('%s: Rename (link) %s -> %s' % (pn, alt_target, 
link_rename[alt_target]))
+bb.note('%s: Rename (link) %s -> %s' % (pn, alt_target, 
alt_target_rename))
 os.rename(src, dest)
 else:
 # Try to resolve the broken link to link.${BPN}
 link_maybe = '%s.%s' % (os.readlink(src), pn)
 if os.path.lexists(os.path.join(os.path.dirname(src), 
link_maybe)):
 # Ok, the renamed link target exists.. create a new link, 
and remove the original
-bb.note('%s: Creating new link %s -> %s' % (pn, 
link_rename[alt_target], link_maybe))
+bb.note('%s: Creating new link %s -> %s' % (pn, 
alt_target_rename, link_maybe))
 os.symlink(link_maybe, dest)
 os.unlink(src)
 else:
-- 
2.19.2

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


Re: [OE-core] [PATCH] u-boot.inc: Support menuconfig for u-boot

2019-01-03 Thread Tom Rini
On Tue, Jan 01, 2019 at 09:48:17PM -0800, Manjukumar Matha wrote:

> u-boot mainline supports menuconfig, this patch enables menuconfig for
> u-boot using cml1.
> 
> u-boot recipe in OE-core handles multi configuration of u-boot using
> UBOOT_CONFIG. Since we cannot determine on which u-boot config the
> menuconfig should run, the patch limits when UBOOT_CONFIG is not
> defined.
> 
> Signed-off-by: Manjukumar Matha 

Reviewed-by: Tom Rini 

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


Re: [OE-core] [PATCH 2/2] nativesdk-*-provides-dummy: Fixes to allow correct operation with opkg

2019-01-03 Thread Richard Purdie
On Mon, 2018-12-31 at 20:56 +0100, Andrej Valek wrote:
> Your previous solution is working for me, so I was not working on
> fixing
> this. I thought, that You will just add missing packages, and that
> is.
> I don't have setup for failing machine.
> 
> Is there any simple way to get all missing perl packages?

I reworked the patch a bit, tested and just merged a working version of
it:

http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=d4e27863f3874fb7dc543eed8dcf6a8c4d146fb5

Cheers,

Richard

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


[OE-core] [PATCH] u-boot.inc: Support menuconfig for u-boot

2019-01-03 Thread Manjukumar Matha
u-boot mainline supports menuconfig, this patch enables menuconfig for
u-boot using cml1.

u-boot recipe in OE-core handles multi configuration of u-boot using
UBOOT_CONFIG. Since we cannot determine on which u-boot config the
menuconfig should run, the patch limits when UBOOT_CONFIG is not
defined.

Signed-off-by: Manjukumar Matha 
---
 meta/recipes-bsp/u-boot/u-boot.inc | 27 +--
 1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-bsp/u-boot/u-boot.inc 
b/meta/recipes-bsp/u-boot/u-boot.inc
index 48fbc57..2b33c42 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -5,7 +5,9 @@ B = "${WORKDIR}/build"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-inherit uboot-config uboot-extlinux-config uboot-sign deploy
+DEPENDS += "kern-tools-native"
+
+inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1
 
 DEPENDS += "swig-native python-native"
 
@@ -66,6 +68,28 @@ UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
 UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf"
 UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}"
 
+# returns all the elements from the src uri that are .cfg files
+def find_cfgs(d):
+sources=src_patches(d, True)
+sources_list=[]
+for s in sources:
+if s.endswith('.cfg'):
+sources_list.append(s)
+
+return sources_list
+
+do_configure () {
+if [ -z "${UBOOT_CONFIG}" ]; then
+if [ -n "${UBOOT_MACHINE}" ]; then
+oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
+else
+oe_runmake -C ${S} O=${B} oldconfig
+fi
+merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
+cml1_do_configure
+fi
+}
+
 do_compile () {
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' 
${S}/config.mk
@@ -105,7 +129,6 @@ do_compile () {
 done
 unset  i
 else
-oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
 oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
 fi
 
-- 
2.7.4

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


[OE-core] [oe-core][PATCH v2 2/2] eglinfo: add wayland receipe

2019-01-03 Thread Roman Stratienko via Openembedded-core
From: Roman Stratiienko 

Signed-off-by: Roman Stratiienko 
---
Changes since version 1:
Added maintainer for egl info-wayland recipe
 meta/conf/distro/include/maintainers.inc|  1 +
 .../eglinfo/eglinfo-wayland_1.0.0.bb| 13 +
 2 files changed, 14 insertions(+)
 create mode 100644 meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb

diff --git a/meta/conf/distro/include/maintainers.inc 
b/meta/conf/distro/include/maintainers.inc
index 8e6648d0f8..8d6eb1afc0 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -163,6 +163,7 @@ RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang 
"
 RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin "
 RECIPE_MAINTAINER_pn-eglinfo-fb = "Alexander Kanavin "
 RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin "
+RECIPE_MAINTAINER_pn-eglinfo-wayland = "Alexander Kanavin 
"
 RECIPE_MAINTAINER_pn-elfutils = "Hongxu Jia "
 RECIPE_MAINTAINER_pn-enchant = "Anuj Mittal "
 RECIPE_MAINTAINER_pn-encodings = "Armin Kuster "
diff --git a/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb 
b/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb
new file mode 100644
index 00..87a131aa7b
--- /dev/null
+++ b/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb
@@ -0,0 +1,13 @@
+EGLINFO_PLATFORM ?= "wayland"
+EGLINFO_BINARY_NAME ?= "eglinfo-wayland"
+
+require eglinfo.inc
+
+DEPENDS += "wayland"
+
+inherit distro_features_check
+
+# depends on wayland
+REQUIRED_DISTRO_FEATURES += "wayland"
+
+SUMMARY += "(Wayland version)"
-- 
2.17.1

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


Re: [OE-core] ovmf fails when python sqlite module is not installed on host

2019-01-03 Thread Burton, Ross
On Fri, 28 Dec 2018 at 13:07, Ahsan, Noor  wrote:
> While building ovmf recipe I faced one issue regarding sqlite python module. 
> The recipe is trying to access host python packages in order to build it. On 
> my system I had multiple puthon version installed and the one which Ovmf was 
> picking did not had sqlite module installed so I got this error

sqlite3 is part of the standard library, so what host distro are you
using where this isn't installed?

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


[OE-core] [oe-core][PATCH v2 1/2] eglinfo: upgrade SRCREV to 223817ee3798

2019-01-03 Thread Roman Stratienko via Openembedded-core
From: Roman Stratiienko 

SRCREV upgraded to 223817ee3798 ("Add Wayland support")
Additional patches rebased to this version

Signed-off-by: Roman Stratiienko 
---
No changes since v1
 meta/recipes-graphics/eglinfo/eglinfo.inc |  2 +-
 ...INCDIR-to-searchpath-for-egl-headers.patch |  9 +++
 ...01-Check-for-libegl-using-pkg-config.patch | 27 +++
 3 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/meta/recipes-graphics/eglinfo/eglinfo.inc 
b/meta/recipes-graphics/eglinfo/eglinfo.inc
index 07ad07220b..6dcb0c5a19 100644
--- a/meta/recipes-graphics/eglinfo/eglinfo.inc
+++ b/meta/recipes-graphics/eglinfo/eglinfo.inc
@@ -11,7 +11,7 @@ SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \
file://0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch \
file://0001-Check-for-libegl-using-pkg-config.patch \
"
-SRCREV = "4b317648ec6cf39556a9e5d8078f605bc0edd5de"
+SRCREV = "223817ee37988042db7873cfb5b2e899dfe35c10"
 
 CVE_PRODUCT = "eglinfo"
 
diff --git 
a/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
 
b/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
index ca9f55c189..61327eb36b 100644
--- 
a/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
+++ 
b/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
@@ -1,4 +1,4 @@
-From 94b1e6daf7d70550b0e32fbb269fcf6887948d3f Mon Sep 17 00:00:00 2001
+From 99a5784d33ad5e0e6fa00338d2732cbccad7661c Mon Sep 17 00:00:00 2001
 From: Khem Raj 
 Date: Wed, 13 Jan 2016 16:08:22 -0800
 Subject: [PATCH] Add STAGING_INCDIR to searchpath for egl headers
@@ -14,10 +14,10 @@ Upstream-Status: Submitted
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/wscript b/wscript
-index fcbb55b..cece8bf 100644
+index 195e247..0f6ec53 100644
 --- a/wscript
 +++ b/wscript
-@@ -163,9 +163,10 @@ def configure_raspberrypi_device(conf, platform):
+@@ -177,9 +177,10 @@ def configure_raspberrypi_device(conf, platform):
conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], 
uselib_store = 'EGL')
import os
sysroot = conf.options.sysroot + conf.options.prefix
@@ -30,5 +30,4 @@ index fcbb55b..cece8bf 100644
conf.env['WITH_APIS'] = []
if check_gles2(conf):
 -- 
-2.7.0
-
+2.19.1
diff --git 
a/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
 
b/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
index 0289ac228c..572c8014ca 100644
--- 
a/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
+++ 
b/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
@@ -1,22 +1,25 @@
-From 58d51d941d3f4dfa38be18282d3e285d76d9020d Mon Sep 17 00:00:00 2001
+From 17f5d2f574236f8c3459f9efadef2f0f6220a4dd Mon Sep 17 00:00:00 2001
 From: Khem Raj 
 Date: Mon, 13 Aug 2018 15:46:53 -0700
 Subject: [PATCH] Check for libegl using pkg-config
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj 
+[Roman: patch has been rebased to 223817ee3798 ("Add Wayland support")
+ trivial merge conflicts resolved]
+Signed-off-by: Roman Stratiienko 
 ---
- wscript | 1 +
- 1 file changed, 1 insertion(+)
+ wscript | 7 +--
+ 1 file changed, 1 insertion(+), 6 deletions(-)
 
-Index: git/wscript
-===
 git.orig/wscript
-+++ git/wscript
-@@ -160,14 +160,9 @@ def configure_raspberrypi_device(conf, p
-   conf.env['PLATFORM_USELIBS'] += ["X11"]
-   elif platform == "fb":
-   conf.env['PLATFORM_SOURCE'] = 
['src/platform_fb_raspberrypi.cpp']
+diff --git a/wscript b/wscript
+index 0f6ec53..401f62e 100644
+--- a/wscript
 b/wscript
+@@ -174,14 +174,9 @@ def configure_raspberrypi_device(conf, platform):
+   else:
+   conf.fatal('Unsupported Raspberry Pi platform "%s"' % platform)
+   return
 -  conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], 
uselib_store = 'EGL')
 +  conf.check_cfg(package='egl', args='--libs --cflags')
import os
@@ -29,3 +32,5 @@ Index: git/wscript
conf.env['WITH_APIS'] = []
if check_gles2(conf):
conf.env['WITH_APIS'] += ['GLES1', 'GLES2']
+-- 
+2.19.1
-- 
2.17.1

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


[OE-core] [PATCH] kernel.bbclass: Fix incorrect deploying of fitimage.initramfs

2019-01-03 Thread Manjukumar Matha
When kernel-fitimage and initramfs is enabled using
INITRAMFS_IMAGE_BUNDLE = "1", kernel do_deploy tries to deploy
fitImage.initramfs with following error

| install: cannot stat 'arch/arm64/boot/fitImage.initramfs': No such
file or directory

Skip deploying fitimage.initramfs, since fitimage does not
create fitimage.initramfs

Signed-off-by: Manjukumar Matha 
---
 meta/classes/kernel.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index e04d2fe..60382bf 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -682,6 +682,9 @@ kernel_do_deploy() {
 
if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; 
then
for imageType in ${KERNEL_IMAGETYPES} ; do
+   if [ "$imageType" == "fitImage" ] ; then
+   continue
+   fi
initramfs_base_name=${imageType}-${INITRAMFS_NAME}

initramfs_symlink_name=${imageType}-${INITRAMFS_LINK_NAME}
install -m 0644 
${KERNEL_OUTPUT_DIR}/${imageType}.initramfs 
$deployDir/${initramfs_base_name}.bin
-- 
2.7.4

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


Re: [OE-core] [PATCH 3/8] nettle: update to 3.4.1

2019-01-03 Thread Richard Purdie
On Wed, 2019-01-02 at 22:35 -0800, Khem Raj wrote:
> native version fails on ubuntu 14.04, seems like we need to pass
> -std=c99 explicitly via cflags see
> 
> http://errors.yoctoproject.org/Errors/Details/214590/

and 
https://autobuilder.yoctoproject.org/typhoon/#/builders/56/builds/86

Cheers,

Richard

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


Re: [OE-core] [PATCH 1/3 v2] scripts/oe-git-archive: fix non-existent key referencing error

2019-01-03 Thread Richard Purdie
On Thu, 2019-01-03 at 15:23 +0800, Yeoh Ee Peng wrote:
> Without installing gitpython package, oe-git-archive will face error
> below, where it was referencing key that was non-existent inside
> metadata object.
> 
> Traceback (most recent call last):
>   File "/scripts/oe-git-archive", line 271, in 
> sys.exit(main())
>   File "/scripts/oe-git-archive", line 229, in main
> 'commit_count': metadata['layers']['meta']['commit_count'],
> KeyError: 'commit_count'
> 
> Fix this error by checking the key existent from metadata before
> referencing it.
> 
> [YOCTO# 13082]
> 
> Signed-off-by: Yeoh Ee Peng 
> ---
>  scripts/oe-git-archive | 28 ++--
>  1 file changed, 22 insertions(+), 6 deletions(-)
> 
> diff --git a/scripts/oe-git-archive b/scripts/oe-git-archive
> index ab19cb9..80c2379 100755
> --- a/scripts/oe-git-archive
> +++ b/scripts/oe-git-archive
> @@ -1,4 +1,4 @@
> -#!/usr/bin/python3
> +#!/usr/bin/env python3
>  #
>  # Helper script for committing data to git and pushing upstream
>  #
> @@ -208,6 +208,18 @@ def parse_args(argv):
>  help="Data to commit")
>  return parser.parse_args(argv)
>  
> +def _get_metadata_value(metadata, keys):
> +if len(keys) > 0:
> +key = keys.pop(0)
> +if key in metadata:
> +if len(keys) == 0:
> +return metadata[key]
> +else:
> +return _get_metadata_value(metadata[key], keys)
> +else:
> +return ""
> +else:
> +return ""

This isn't very pythonic unfortunately. You can do "if X:" instead of
"if len(X)" or "if len(X) > 0:". You can also remove the else: return
"" and just put return "" at the end of the function.

I also think the recursion here is hard to understand and python has a
better way of handling this, python tends to work on the "forgiveness"
rather than "permission" approach to code. By that I mean:

try:
return metadata[key]
except KeyError:
return ""

is more "pythonic" than:

if key in metadata:
return metadata[key]
else:
return ""

(for dicts you can also do metadata.get(key, "") )

>  def main(argv=None):
>  """Script entry point"""
> @@ -223,11 +235,15 @@ def main(argv=None):
>  
>  # Get keywords to be used in tag and branch names and
> messages
>  metadata = metadata_from_bb()
> -keywords = {'hostname': metadata['hostname'],
> -'branch': metadata['layers']['meta']['branch'],
> -'commit': metadata['layers']['meta']['commit'],
> -'commit_count':
> metadata['layers']['meta']['commit_count'],
> -'machine': metadata['config']['MACHINE']}
> +keywords_map = {'hostname': ['hostname'],
> +'branch': ['layers', 'meta', 'branch'],
> +'commit': ['layers', 'meta', 'commit'],
> +'commit_count': ['layers', 'meta',
> 'commit_count'],
> +'machine': ['config', 'MACHINE']}
> +keywords = {}
> +for map_key in keywords_map.keys():
> +keywords_value = _get_metadata_value(metadata,
> keywords_map[map_key])
> +keywords[map_key] = keywords_value
>  
>  # Expand strings early in order to avoid getting into
> inconsistent
>  # state (e.g. no tag even if data was committed)


How about something like:

def get_nested(d, list_of_keys):
try:
for k in list_of_keys:
d = d[k]
return d
except KeyError:
return ""

keywords = {'hostname': get_nested(metadata, ['hostname']),
'branch': get_nested(metadata, ['layers', 'meta', 'branch']),
'commit': get_nested(metadata, ['layers', 'meta', 'commit']),
'commit_count': get_nested(metadata, ['layers', 'meta', 
'commit_count']),
'machine': get_nested(metadata, ['config', 'MACHINE'])}

Cheers,

Richard

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


Re: [OE-core] [PATCH 04/13] libdazzle: fix a build issue with meson 0.49.0

2019-01-03 Thread Alexander Kanavin
On Thu, 3 Jan 2019 at 09:49, Kang Kai  wrote:
> The first error has been fixed in gobject-introspection 1.58.2. But I
> didn't find out the root cause of "qemu: uncaught target signal 11
> (Segmentation fault) - core dumped".

Same issue here - and it used to work for me :( Unfortunately I don't
really know how to debug this - typically we just add arch-specific
configuration flags that disable introspection.
However, the crash may mean that libdazzle won't work on target mips
hardware either.

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


Re: [OE-core] [PATCH] classes/buildhistory: avoid git diff churn by sorting more dictionaries

2019-01-03 Thread Paul Eggleton
On Friday, 21 December 2018 10:05:00 PM NZDT Jacob Kroon wrote:
> Sort 'srcrevs' and 'tag_srcrevs' before iterating over them in order
> to avoid unnecessary changes in the build history.
> 
> Signed-off-by: Jacob Kroon 
> ---
>  meta/classes/buildhistory.bbclass | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/buildhistory.bbclass 
> b/meta/classes/buildhistory.bbclass
> index 40b292b139..d1f3e6aa82 100644
> --- a/meta/classes/buildhistory.bbclass
> +++ b/meta/classes/buildhistory.bbclass
> @@ -896,7 +896,7 @@ def write_latest_srcrev(d, pkghistdir):
>  if orig_srcrev != 'INVALID':
>  f.write('# SRCREV = "%s"\n' % orig_srcrev)
>  if len(srcrevs) > 1:
> -for name, srcrev in srcrevs.items():
> +for name, srcrev in sorted(srcrevs.items()):
>  orig_srcrev = d.getVar('SRCREV_%s' % name, False)
>  if orig_srcrev:
>  f.write('# SRCREV_%s = "%s"\n' % (name, orig_srcrev))
> @@ -904,7 +904,7 @@ def write_latest_srcrev(d, pkghistdir):
>  else:
>  f.write('SRCREV = "%s"\n' % next(iter(srcrevs.values(
>  if len(tag_srcrevs) > 0:
> -for name, srcrev in tag_srcrevs.items():
> +for name, srcrev in sorted(tag_srcrevs.items()):
>  f.write('# tag_%s = "%s"\n' % (name, srcrev))
>  if name in old_tag_srcrevs and old_tag_srcrevs[name] != 
> srcrev:
>  pkg = d.getVar('PN')
> 

This is OK. An alternative would be to create the original dictionaries as 
OrderedDicts, but on the other hand I'm not sure if the original order (i.e. as 
specified in SRC_URI) is particularly important in this context. Any other 
opinions?

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


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


Re: [OE-core] Efficient ways to delete a build directory

2019-01-03 Thread Burton, Ross
On Thu, 3 Jan 2019 at 02:39, Robert Yang  wrote:
> We can see that find -delete is the fastest way, rsync is the slowest one,
> and rm is close to find. Maybe it is because find and rsync are improved in
> nowadays, so they are faster than rsync.

That's good to know.  There were some improvements to the syscalls
recently that was meant to improve this sort of thing, so it appears
to be working.

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


Re: [OE-core] [PATCH 04/13] libdazzle: fix a build issue with meson 0.49.0

2019-01-03 Thread Kang Kai

On 2018/12/19 上午12:29, Alexander Kanavin wrote:

Signed-off-by: Alexander Kanavin 


Hi Alexander,

Have you ever meet build failure on qemumips with libdazzle:

 389 
/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/recipe-sysroot/usr/include/glib-2.0/gobject/gobject.h:725: 
syntax error,
 unexpected ')' in '    ((__typeof__(new_object)) (g_object_ref) 
(new_object));' at ')'

 390 qemu: uncaught target signal 11 (Segmentation fault) - core dumped
 391 
/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/recipe-sysroot/usr/bin/g-ir-scanner-qemuwrapper: 
line 6: 24294 Segmentati
 on fault  (core dumped) PSEUDO_UNLOAD=1 qemu-mips -r 3.2.0 -L 
/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/recipe-
 sysroot -E 
LD_LIBRARY_PATH=$GIR_EXTRA_LIBS_PATH:.libs:/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/recipe-sysroot//usr
/lib:/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/recipe-sysroot//lib 
"$@"
 392 If the above error message is about missing .so libraries, then 
setting up GIR_EXTRA_LIBS_PATH in the recipe should help.

 393 (typically like this: GIR_EXTRA_LIBS_PATH="${B}/something/.libs" )
 394 Command 
'['/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/recipe-sysroot/usr/bin/g-ir-scanner-qemuwrapper', 
'/home/kkang
/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/build/tmp-introspecta3rexhyk/Dazzle-1.0', 
'--introspect-dump=/home/kkang/buildarea/W

RLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/build/tmp-introspecta3rexhyk/functions.txt,/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-D
ec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/build/tmp-introspecta3rexhyk/dump.xml']' 
returned non-zero exit status 1

 395 ninja: build stopped: subcommand failed.
 396 WARNING: 
/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/temp/run.do_compile.23419:1 
exit 1 from 'ninja -v -j 32'
 397 ERROR: Function failed: do_compile (log file is located at 
/home/kkang/buildarea/WRLX-1019/systemd-oe-selftest-Dec24/tmp-glibc/work/mips32r2-wrs-linux/libdazzle/3.30.2-r0/temp/log.do_co

 mpile.23419)


The first error has been fixed in gobject-introspection 1.58.2. But I 
didn't find out the root cause of "qemu: uncaught target signal 11 
(Segmentation fault) - core dumped".



Regards,
Kai



---
  ...ine-so-that-gir-compilation-succeeds.patch | 26 +++
  .../libdazzle/libdazzle_3.30.2.bb |  1 +
  2 files changed, 27 insertions(+)
  create mode 100644 
meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch

diff --git 
a/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch
 
b/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch
new file mode 100644
index 000..c959d43972f
--- /dev/null
+++ 
b/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch
@@ -0,0 +1,26 @@
+From 546d53c3515e8a488a204763437d1fa0917097e5 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Tue, 11 Dec 2018 12:39:30 +0100
+Subject: [PATCH] Add a define so that gir compilation succeeds
+
+For some reason meson 0.49.0 does not anymore pass global arguments to gir 
compiler.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin 
+---
+ src/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index 6ff8a6a..f0b2887 100644
+--- a/src/meson.build
 b/src/meson.build
+@@ -132,7 +132,7 @@ if get_option('with_introspection')
+ install_dir_gir: girdir,
+ install_dir_typelib: typelibdir,
+ export_packages: libdazzle_package,
+- extra_args: [ '--c-include=dazzle.h', '--quiet' ],
++ extra_args: [ '--c-include=dazzle.h', '--quiet', 
'-DDAZZLE_COMPILATION' ],
+   )
+
+   if get_option('with_vapi')
diff --git a/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb 
b/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb
index 029adddb9ee..5441c10f990 100644
--- a/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb
+++ b/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb
@@ -7,6 +7,7 @@ inherit gnomebase upstream-version-is-even vala 
gobject-introspection
  
  DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
  
+SRC_URI += " file://0001-Add-a-define-so-that-gir-compilation-succeeds.patch"

  SRC_URI[archive.md5sum] = "24e2e1b914a34f5b8868a9507d1f3c4c"
  SRC_URI[archive.sha256sum] = 
"78770eae9fa15ac5acb9c733d29