[OE-core] [PATCH v3] externalsrc: Handle .git not being a directory

2017-08-07 Thread Joshua Watt
Use git rev-parse to determine the location of the .git directory, in
case it is not an immediate child of EXTERNALSRC (e.g. when using
submodules). In the event git can't resolve the .git directory, fall
back to the non-git method for hashing.

Signed-off-by: Joshua Watt 
---
 meta/classes/externalsrc.bbclass | 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 9aabb426d9e..ea0faaf4193 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -184,11 +184,16 @@ def srctree_hash_files(d, srcdir=None):
 import tempfile
 
 s_dir = srcdir or d.getVar('EXTERNALSRC')
-git_dir = os.path.join(s_dir, '.git')
-oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
+git_dir = None
+
+try:
+git_dir = subprocess.check_output(['git', 'rev-parse', 
'--absolute-git-dir'], cwd=s_dir).decode("utf-8").rstrip()
+except subprocess.CalledProcessError:
+pass
 
 ret = " "
-if os.path.exists(git_dir):
+if git_dir is not None:
+oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
 with tempfile.NamedTemporaryFile(prefix='oe-devtool-index') as 
tmp_index:
 # Clone index
 shutil.copyfile(os.path.join(git_dir, 'index'), tmp_index.name)
-- 
2.13.3

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


[OE-core] [PATCH v2] externalsrc: Handle .git not being a directory

2017-08-07 Thread Joshua Watt
Use git rev-parse to determine the location of the .git directory, in
case it is not an immediate child of EXTERNALSRC (e.g. when using
submodules). In the event git can't resolve the .git directory, fall
back to the non-git method for hashing.

Signed-off-by: Joshua Watt 
---
 meta/classes/externalsrc.bbclass | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 9aabb426d9e..14a61d4201f 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -182,13 +182,19 @@ def srctree_hash_files(d, srcdir=None):
 import shutil
 import subprocess
 import tempfile
+import re
 
 s_dir = srcdir or d.getVar('EXTERNALSRC')
-git_dir = os.path.join(s_dir, '.git')
-oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
+git_dir = None
+
+try:
+git_dir = subprocess.check_output(['git', 'rev-parse', 
'--absolute-git-dir'], cwd=s_dir).decode("utf-8").rstrip()
+except subprocess.CalledProcessError:
+pass
 
 ret = " "
-if os.path.exists(git_dir):
+if git_dir is not None:
+oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
 with tempfile.NamedTemporaryFile(prefix='oe-devtool-index') as 
tmp_index:
 # Clone index
 shutil.copyfile(os.path.join(git_dir, 'index'), tmp_index.name)
-- 
2.13.3

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


[OE-core] [PATCH v3 2/2] sstatetests: limit the number of signature comparisons when differ

2017-08-07 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

For perfomance reasons, limit the number of signature comparisons when
stamps differ. The limit set is hardcoded to 20.

[YOCTO #11651]

Signed-off-by: Leonardo Sandoval 
---
 meta/lib/oeqa/selftest/cases/sstatetests.py | 40 +++--
 1 file changed, 26 insertions(+), 14 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py 
b/meta/lib/oeqa/selftest/cases/sstatetests.py
index 0b36027918..6298443a18 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -458,6 +458,25 @@ http_proxy = "http://example.com/;
 base = os.sep.join(root.rsplit(os.sep, 2)[-2:] + [name])
 f[base] = shash
 return f
+
+def compare_sigfiles(files, files1, files2, compare=False):
+for k in files:
+if k in files1 and k in files2:
+i_sigfile += 1
+print("%s differs:" % k)
+if compare:
+sigdatafile1 = self.topdir + 
"/tmp-sstatesamehash/stamps/" + k + "." + files1[k]
+sigdatafile2 = self.topdir + 
"/tmp-sstatesamehash2/stamps/" + k + "." + files2[k]
+output = bb.siggen.compare_sigfiles(sigdatafile1, 
sigdatafile2)
+if output:
+print('\n'.join(output))
+elif k in files1 and k not in files2:
+print("%s in files1" % k)
+elif k not in files1 and k in files2:
+print("%s in files2" % k)
+else:
+assert "shouldn't reach here"
+
 files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps/")
 files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps/")
 # Remove items that are identical in both sets
@@ -468,18 +487,11 @@ http_proxy = "http://example.com/;
 # No changes, so we're done
 return
 
-for k in files1.keys() | files2.keys():
-if k in files1 and k in files2:
-print("%s differs:" % k)
-sigdatafile1 = self.topdir + "/tmp-sstatesamehash/stamps/" + k 
+ "." + files1[k]
-sigdatafile2 = self.topdir + "/tmp-sstatesamehash2/stamps/" + 
k + "." + files2[k]
-output = bb.siggen.compare_sigfiles(sigdatafile1, sigdatafile2)
-if output:
-print('\n'.join(output))
-elif k in files1 and k not in files2:
-print("%s in files1" % k)
-elif k not in files1 and k in files2:
-print("%s in files2" % k)
-else:
-assert "shouldn't reach here"
+files = list(files1.keys() | files2.keys())
+# this is an expensive computation, thus just compare the first 
'max_sigfiles_to_compare' k files
+max_sigfiles_to_compare = 20
+first, rest = files[:max_sigfiles_to_compare], 
files[max_sigfiles_to_compare:]
+compare_sigfiles(first, files1.keys(), files2.keys(), compare=True)
+compare_sigfiles(rest, files1.keys(), files2.keys(), compare=False)
+
 self.fail("sstate hashes not identical.")
-- 
2.12.3

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


[OE-core] [PATCH v3 1/2] sstatetests: Use python function instead of bitbake-diffsigs script

2017-08-07 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

Using a python function instead of launching a subprocess fasten the
diffsigs computation.

[YOCTO #11651]

Signed-off-by: Leonardo Sandoval 
---
 meta/lib/oeqa/selftest/cases/sstatetests.py | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py 
b/meta/lib/oeqa/selftest/cases/sstatetests.py
index 07a206824a..0b36027918 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -8,6 +8,8 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, 
get_test_layer
 from oeqa.selftest.cases.sstate import SStateBase
 from oeqa.core.decorator.oeid import OETestID
 
+import bb.siggen
+
 class SStateTests(SStateBase):
 
 # Test sstate files creation and their location
@@ -469,9 +471,11 @@ http_proxy = "http://example.com/;
 for k in files1.keys() | files2.keys():
 if k in files1 and k in files2:
 print("%s differs:" % k)
-print(subprocess.check_output(("bitbake-diffsigs",
-   self.topdir + 
"/tmp-sstatesamehash/stamps/" + k + "." + files1[k],
-   self.topdir + 
"/tmp-sstatesamehash2/stamps/" + k + "." + files2[k])))
+sigdatafile1 = self.topdir + "/tmp-sstatesamehash/stamps/" + k 
+ "." + files1[k]
+sigdatafile2 = self.topdir + "/tmp-sstatesamehash2/stamps/" + 
k + "." + files2[k]
+output = bb.siggen.compare_sigfiles(sigdatafile1, sigdatafile2)
+if output:
+print('\n'.join(output))
 elif k in files1 and k not in files2:
 print("%s in files1" % k)
 elif k not in files1 and k in files2:
-- 
2.12.3

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


Re: [OE-core] ✗ patchtest: failure for sstatetests: limit the number of signature comparisons when differ

2017-08-07 Thread Leonardo Sandoval
This patch depends of another one (1/1) I sent in the first series and
it also has a logic error. I will send a v3.

Leo

On Mon, 2017-08-07 at 21:01 +, Patchwork wrote:
> == Series Details ==
> 
> Series: sstatetests: limit the number of signature comparisons when differ
> Revision: 1
> URL   : https://patchwork.openembedded.org/series/8109/
> State : failure
> 
> == Summary ==
> 
> 
> Thank you for submitting this patch series to OpenEmbedded Core. This is
> an automated response. Several tests have been executed on the proposed
> series by patchtest resulting in the following failures:
> 
> 
> 
> * Issue Series does not apply on top of target branch 
> [test_series_merge_on_head] 
>   Suggested fixRebase your series on top of targeted branch
>   Targeted branch  master (currently at a5bb13a5d7)
> 
> 
> 
> 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] -> ...).
> 
> ---
> 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] ✗ patchtest: failure for sstatetests: limit the number of signature comparisons when differ

2017-08-07 Thread Patchwork
== Series Details ==

Series: sstatetests: limit the number of signature comparisons when differ
Revision: 1
URL   : https://patchwork.openembedded.org/series/8109/
State : failure

== Summary ==


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



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



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] -> ...).

---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe

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


[OE-core] [PATCH v2] sstatetests: limit the number of signature comparisons when differ

2017-08-07 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

For perfomance reasons, limit the number of signature comparisons when
stamps differ. The limit set is hardcoded to 20.

[YOCTO #11651]

Signed-off-by: Leonardo Sandoval 
---
 meta/lib/oeqa/selftest/cases/sstatetests.py | 41 +++--
 1 file changed, 27 insertions(+), 14 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py 
b/meta/lib/oeqa/selftest/cases/sstatetests.py
index 0b36027918..05a919b320 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -458,6 +458,26 @@ http_proxy = "http://example.com/;
 base = os.sep.join(root.rsplit(os.sep, 2)[-2:] + [name])
 f[base] = shash
 return f
+
+def compare_sigfiles(files, files1, files2, compare=False):
+for k in files1 | files2:
+if k in files1 and k in files2:
+i_sigfile += 1
+print("%s differs:" % k)
+if compare:
+sigdatafile1 = self.topdir + 
"/tmp-sstatesamehash/stamps/" + k + "." + files1[k]
+sigdatafile2 = self.topdir + 
"/tmp-sstatesamehash2/stamps/" + k + "." + files2[k]
+output = bb.siggen.compare_sigfiles(sigdatafile1, 
sigdatafile2)
+if output:
+print('\n'.join(output))
+elif k in files1 and k not in files2:
+print("%s in files1" % k)
+elif k not in files1 and k in files2:
+print("%s in files2" % k)
+else:
+assert "shouldn't reach here"
+
+
 files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps/")
 files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps/")
 # Remove items that are identical in both sets
@@ -468,18 +488,11 @@ http_proxy = "http://example.com/;
 # No changes, so we're done
 return
 
-for k in files1.keys() | files2.keys():
-if k in files1 and k in files2:
-print("%s differs:" % k)
-sigdatafile1 = self.topdir + "/tmp-sstatesamehash/stamps/" + k 
+ "." + files1[k]
-sigdatafile2 = self.topdir + "/tmp-sstatesamehash2/stamps/" + 
k + "." + files2[k]
-output = bb.siggen.compare_sigfiles(sigdatafile1, sigdatafile2)
-if output:
-print('\n'.join(output))
-elif k in files1 and k not in files2:
-print("%s in files1" % k)
-elif k not in files1 and k in files2:
-print("%s in files2" % k)
-else:
-assert "shouldn't reach here"
+files = list(files1.keys() | files2.keys())
+# this is an expensive computation, thus just compare the first 
'max_sigfiles_to_compare' k files
+max_sigfiles_to_compare = 20
+first, rest = files[:max_sigfiles_to_compare], 
files[max_sigfiles_to_compare:]
+compare_sigfiles(first, files1.keys(), files2.keys(), compare=True)
+compare_sigfiles(rest, files1.keys(), files2.keys(), compare=False)
+
 self.fail("sstate hashes not identical.")
-- 
2.12.3

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


Re: [OE-core] [PATCH] context: Include a command line argument to run all except certain tests

2017-08-07 Thread Leonardo Sandoval
On Mon, 2017-08-07 at 15:29 -0500, Aníbal Limón wrote:
> Hi,
> 
> The code looks ok but i prefer to implement this kind of feature inside
> loader instead of at context module, this is because the oeqa loader has
> all the logic to get tests and filter it if is necessary.

I included it at context* because the tests to be skipped come from the
command line and command line stuff is manage there.

> 
> Cheers,
> Anibal
> 
> On 08/02/2017 12:22 PM, Leoanardo Sandoval wrote:
> > Useful command line argument (-R, which is the oposite of current -r) that 
> > allows
> > to run all test cases except the ones indicated through the command line.
> > 
> > Some command line examples:
> > 
> > * Run all except the distro test case:
> > $ oe-selftest -R distrodata
> > 
> > * Run all except the archiver test case and a single bblayers unit test
> > $ oe-selftest -R archiver 
> > bblayers.BitbakeLayers.test_bitbakelayers_add_remove
> > 
> > [YOCTO #11847]
> > 
> > Signed-off-by: Leoanardo Sandoval 
> > 
> > ---
> >  meta/lib/oeqa/core/context.py | 20 +---
> >  meta/lib/oeqa/selftest/context.py | 11 ---
> >  2 files changed, 25 insertions(+), 6 deletions(-)
> > 
> > diff --git a/meta/lib/oeqa/core/context.py b/meta/lib/oeqa/core/context.py
> > index 422e289992..acd547416f 100644
> > --- a/meta/lib/oeqa/core/context.py
> > +++ b/meta/lib/oeqa/core/context.py
> > @@ -41,6 +41,14 @@ class OETestContext(object):
> >  
> >  return modules
> >  
> > +def skipTests(self, skips):
> > +if not skips:
> > +return
> > +for test in self.suites:
> > +for skip in skips:
> > +if test.id().startswith(skip):
> > +setattr(test, 'setUp', lambda: test.skipTest('Skip by 
> > the command line argument "%s"' % skip))
> > +
> >  def loadTests(self, module_paths, modules=[], tests=[],
> >  modules_manifest="", modules_required=[], filters={}):
> >  if modules_manifest:
> > @@ -50,9 +58,12 @@ class OETestContext(object):
> >  modules_required, filters)
> >  self.suites = self.loader.discover()
> >  
> > -def runTests(self):
> > +def runTests(self, skips=[]):
> >  self.runner = self.runnerClass(self, descriptions=False, 
> > verbosity=2)
> >  
> > +# Dinamically skip those tests specified though arguments
> > +self.skipTests(skips)
> > +
> >  self._run_start_time = time.time()
> >  result = self.runner.run(self.suites)
> >  self._run_end_time = time.time()
> > @@ -128,7 +139,8 @@ class OETestContextExecutor(object):
> >  self.tc_kwargs = {}
> >  self.tc_kwargs['init'] = {}
> >  self.tc_kwargs['load'] = {}
> > -self.tc_kwargs['run'] = {}
> > +self.tc_kwargs['list'] = {}
> > +self.tc_kwargs['run']  = {}
> >  
> >  self.tc_kwargs['init']['logger'] = self._setup_logger(logger, args)
> >  if args.test_data_file:
> > @@ -143,6 +155,8 @@ class OETestContextExecutor(object):
> >  else:
> >  self.tc_kwargs['load']['modules'] = []
> >  
> > +self.tc_kwargs['run']['skips'] = []
> > +
> >  self.module_paths = args.CASES_PATHS
> >  
> >  def _pre_run(self):
> > @@ -159,7 +173,7 @@ class OETestContextExecutor(object):
> >  sys.exit(1)
> >  
> >  if args.list_tests:
> > -rc = self.tc.listTests(args.list_tests, 
> > **self.tc_kwargs['run'])
> > +rc = self.tc.listTests(args.list_tests, 
> > **self.tc_kwargs['list'])
> >  else:
> >  self._pre_run()
> >  rc = self.tc.runTests(**self.tc_kwargs['run'])
> > diff --git a/meta/lib/oeqa/selftest/context.py 
> > b/meta/lib/oeqa/selftest/context.py
> > index 990c761f29..9e90d3c256 100644
> > --- a/meta/lib/oeqa/selftest/context.py
> > +++ b/meta/lib/oeqa/selftest/context.py
> > @@ -25,14 +25,14 @@ class OESelftestTestContext(OETestContext):
> >  self.custommachine = None
> >  self.config_paths = config_paths
> >  
> > -def runTests(self, machine=None):
> > +def runTests(self, machine=None, skips=[]):
> >  if machine:
> >  self.custommachine = machine
> >  if machine == 'random':
> >  self.custommachine = choice(self.machines)
> >  self.logger.info('Run tests with custom MACHINE set to: %s' % \
> >  self.custommachine)
> > -return super(OESelftestTestContext, self).runTests()
> > +return super(OESelftestTestContext, self).runTests(skips)
> >  
> >  def listTests(self, display_type, machine=None):
> >  return super(OESelftestTestContext, self).listTests(display_type)
> > @@ -51,6 +51,9 @@ class 
> > OESelftestTestContextExecutor(OETestContextExecutor):
> >  group.add_argument('-a', '--run-all-tests', default=False,
> >  

Re: [OE-core] [PATCH] context: Include a command line argument to run all except certain tests

2017-08-07 Thread Aníbal Limón
Hi,

The code looks ok but i prefer to implement this kind of feature inside
loader instead of at context module, this is because the oeqa loader has
all the logic to get tests and filter it if is necessary.

Cheers,
Anibal

On 08/02/2017 12:22 PM, Leoanardo Sandoval wrote:
> Useful command line argument (-R, which is the oposite of current -r) that 
> allows
> to run all test cases except the ones indicated through the command line.
> 
> Some command line examples:
> 
> * Run all except the distro test case:
> $ oe-selftest -R distrodata
> 
> * Run all except the archiver test case and a single bblayers unit test
> $ oe-selftest -R archiver bblayers.BitbakeLayers.test_bitbakelayers_add_remove
> 
> [YOCTO #11847]
> 
> Signed-off-by: Leoanardo Sandoval 
> ---
>  meta/lib/oeqa/core/context.py | 20 +---
>  meta/lib/oeqa/selftest/context.py | 11 ---
>  2 files changed, 25 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/lib/oeqa/core/context.py b/meta/lib/oeqa/core/context.py
> index 422e289992..acd547416f 100644
> --- a/meta/lib/oeqa/core/context.py
> +++ b/meta/lib/oeqa/core/context.py
> @@ -41,6 +41,14 @@ class OETestContext(object):
>  
>  return modules
>  
> +def skipTests(self, skips):
> +if not skips:
> +return
> +for test in self.suites:
> +for skip in skips:
> +if test.id().startswith(skip):
> +setattr(test, 'setUp', lambda: test.skipTest('Skip by 
> the command line argument "%s"' % skip))
> +
>  def loadTests(self, module_paths, modules=[], tests=[],
>  modules_manifest="", modules_required=[], filters={}):
>  if modules_manifest:
> @@ -50,9 +58,12 @@ class OETestContext(object):
>  modules_required, filters)
>  self.suites = self.loader.discover()
>  
> -def runTests(self):
> +def runTests(self, skips=[]):
>  self.runner = self.runnerClass(self, descriptions=False, verbosity=2)
>  
> +# Dinamically skip those tests specified though arguments
> +self.skipTests(skips)
> +
>  self._run_start_time = time.time()
>  result = self.runner.run(self.suites)
>  self._run_end_time = time.time()
> @@ -128,7 +139,8 @@ class OETestContextExecutor(object):
>  self.tc_kwargs = {}
>  self.tc_kwargs['init'] = {}
>  self.tc_kwargs['load'] = {}
> -self.tc_kwargs['run'] = {}
> +self.tc_kwargs['list'] = {}
> +self.tc_kwargs['run']  = {}
>  
>  self.tc_kwargs['init']['logger'] = self._setup_logger(logger, args)
>  if args.test_data_file:
> @@ -143,6 +155,8 @@ class OETestContextExecutor(object):
>  else:
>  self.tc_kwargs['load']['modules'] = []
>  
> +self.tc_kwargs['run']['skips'] = []
> +
>  self.module_paths = args.CASES_PATHS
>  
>  def _pre_run(self):
> @@ -159,7 +173,7 @@ class OETestContextExecutor(object):
>  sys.exit(1)
>  
>  if args.list_tests:
> -rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['run'])
> +rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['list'])
>  else:
>  self._pre_run()
>  rc = self.tc.runTests(**self.tc_kwargs['run'])
> diff --git a/meta/lib/oeqa/selftest/context.py 
> b/meta/lib/oeqa/selftest/context.py
> index 990c761f29..9e90d3c256 100644
> --- a/meta/lib/oeqa/selftest/context.py
> +++ b/meta/lib/oeqa/selftest/context.py
> @@ -25,14 +25,14 @@ class OESelftestTestContext(OETestContext):
>  self.custommachine = None
>  self.config_paths = config_paths
>  
> -def runTests(self, machine=None):
> +def runTests(self, machine=None, skips=[]):
>  if machine:
>  self.custommachine = machine
>  if machine == 'random':
>  self.custommachine = choice(self.machines)
>  self.logger.info('Run tests with custom MACHINE set to: %s' % \
>  self.custommachine)
> -return super(OESelftestTestContext, self).runTests()
> +return super(OESelftestTestContext, self).runTests(skips)
>  
>  def listTests(self, display_type, machine=None):
>  return super(OESelftestTestContext, self).listTests(display_type)
> @@ -51,6 +51,9 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
>  group.add_argument('-a', '--run-all-tests', default=False,
>  action="store_true", dest="run_all_tests",
>  help='Run all (unhidden) tests')
> +group.add_argument('-R', '--skip-tests', required=False, 
> action='store',
> +nargs='+', dest="skips", default=None,
> +help='Run all (unhidden) tests except the ones specified. 
> Format should be [.[.]]')
>  group.add_argument('-r', '--run-tests', required=False, 
> action='store',
>  nargs='+', 

[OE-core] [PATCH 2/2] terminal: wait for terminal task to finish before procedding

2017-08-07 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

This commit generalizes the work done in [1] and [2], both fixing
issues on several areas (the former with -c patch and gnome-terminal and
the latter with -c menuconfig and several terminals, including
gnome-terminal and tmux). The main idea is to get the PID
from the new spawned terminal and loop there until finished.

[1] 76e8ab47c9: terminal: Fix gnome-terminal to work with recent versions
[2] 7d02ea283b: cml1.bbclass: wait until menuconfig terminal finishes

Signed-off-by: Leonardo Sandoval 
---
 meta/lib/oe/terminal.py | 58 +
 1 file changed, 30 insertions(+), 28 deletions(-)

diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 0426e15834..3c6220dfce 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -62,28 +62,7 @@ class Gnome(XTerminal):
 # Once fixed on the gnome-terminal project, this should be removed.
 if os.getenv('LC_ALL'): os.putenv('LC_ALL','')
 
-# We need to know when the command completes but gnome-terminal gives 
us no way 
-# to do this. We therefore write the pid to a file using a "phonehome" 
wrapper
-# script, then monitor the pid until it exits. Thanks gnome!
-import tempfile
-pidfile = tempfile.NamedTemporaryFile(delete = False).name
-try:
-sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd
-XTerminal.__init__(self, sh_cmd, title, env, d)
-while os.stat(pidfile).st_size <= 0:
-continue
-with open(pidfile, "r") as f:
-pid = int(f.readline())
-finally:
-os.unlink(pidfile)
-
-import time
-while True:
-try:
-os.kill(pid, 0)
-time.sleep(0.1)
-except OSError:
-   return
+XTerminal.__init__(self, sh_cmd, title, env, d)
 
 class Mate(XTerminal):
 command = 'mate-terminal -t "{title}" -x {command}'
@@ -237,12 +216,35 @@ def spawn(name, sh_cmd, title=None, env=None, d=None):
 except KeyError:
 raise UnsupportedTerminal(name)
 
-pipe = terminal(sh_cmd, title, env, d)
-output = pipe.communicate()[0]
-if output:
-output = output.decode("utf-8")
-if pipe.returncode != 0:
-raise ExecutionError(sh_cmd, pipe.returncode, output)
+# We need to know when the command completes but some terminals (at least
+# gnome and tmux) gives us no way to do this. We therefore write the pid
+# to a file using a "phonehome" wrapper script, then monitor the pid
+# until it exits.
+import tempfile
+pidfile = tempfile.NamedTemporaryFile(delete = False).name
+try:
+sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd
+pipe = terminal(sh_cmd, title, env, d)
+output = pipe.communicate()[0]
+if output:
+output = output.decode("utf-8")
+if pipe.returncode != 0:
+raise ExecutionError(sh_cmd, pipe.returncode, output)
+
+while os.stat(pidfile).st_size <= 0:
+continue
+with open(pidfile, "r") as f:
+pid = int(f.readline())
+finally:
+os.unlink(pidfile)
+
+import time
+while True:
+try:
+os.kill(pid, 0)
+time.sleep(0.1)
+except OSError:
+   return
 
 def check_tmux_pane_size(tmux):
 import subprocess as sub
-- 
2.12.3

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


[OE-core] [PATCH 1/2] Revert "cml1.bbclass: wait until menuconfig terminal finishes"

2017-08-07 Thread leonardo . sandoval . gonzalez
From: Leonardo Sandoval 

This reverts commit d2ebee7c3a0c8ab9a09ebad12a2fda51f8d10954.
---
 meta/classes/cml1.bbclass | 22 +-
 1 file changed, 1 insertion(+), 21 deletions(-)

diff --git a/meta/classes/cml1.bbclass b/meta/classes/cml1.bbclass
index 0bab22efed..eb8e7907f6 100644
--- a/meta/classes/cml1.bbclass
+++ b/meta/classes/cml1.bbclass
@@ -26,28 +26,8 @@ python do_menuconfig() {
 except OSError:
 mtime = 0
 
-# We need to know when the command completes but some terminals (including 
gnome-terminal
-# and tmux) gives us no way to do this. We therefore write the pid to a 
temporal file
-# then monitor the pid until it exits.
-import tempfile
-pidfile = tempfile.NamedTemporaryFile(delete = False).name
-try:
-oe_terminal("${SHELL} -c \"echo $$ > %s; make %s; if [ \$? -ne 0 ]; 
then echo 'Command failed.'; printf 'Press any key to continue... '; read r; 
fi\"" % (pidfile, d.getVar('KCONFIG_CONFIG_COMMAND')),
+oe_terminal("${SHELL} -c \"make %s; if [ \$? -ne 0 ]; then echo 'Command 
failed.'; printf 'Press any key to continue... '; read r; fi\"" % 
d.getVar('KCONFIG_CONFIG_COMMAND'),
 d.getVar('PN') + ' Configuration', d)
-while os.stat(pidfile).st_size <= 0:
-continue
-with open(pidfile, "r") as f:
-pid = int(f.readline())
-finally:
-os.unlink(pidfile)
-
-import time
-while True:
-try:
-os.kill(pid, 0)
-time.sleep(0.1)
-except OSError:
-break
 
 # FIXME this check can be removed when the minimum bitbake version has 
been bumped
 if hasattr(bb.build, 'write_taint'):
-- 
2.12.3

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


Re: [OE-core] [PATCH 2/2] sstatetests: limit the number of signature comparisons when differ

2017-08-07 Thread Leonardo Sandoval
On Mon, 2017-08-07 at 18:05 +0100, Burton, Ross wrote:
> On 7 August 2017 at 18:06, Leonardo Sandoval
>  wrote:
> yes, but we this way, we are not listing those > 20 and I
> believe this
> is important. This fix just diffsigs the first 20, and the
> rest are just
> listed for convenience.
> 
> 
> Good point.  You could neatly print the filenames in one iteration,
> and then the first 20 diffs in another loop.

not super convinced but yes, that can be a another way to avoid the if
inside the for body. I will send a v2.

Leo
> 
> 
> also, sets are not 'subscriptable' thus slicing is not
> possible on sets.
> 
> 
> Which is why I called list() before slicing.
> 
> 
> Ross 


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


Re: [OE-core] [PATCH 2/2] sstatetests: limit the number of signature comparisons when differ

2017-08-07 Thread Burton, Ross
On 7 August 2017 at 18:06, Leonardo Sandoval <
leonardo.sandoval.gonza...@linux.intel.com> wrote:

> yes, but we this way, we are not listing those > 20 and I believe this
> is important. This fix just diffsigs the first 20, and the rest are just
> listed for convenience.
>

Good point.  You could neatly print the filenames in one iteration, and
then the first 20 diffs in another loop.

also, sets are not 'subscriptable' thus slicing is not possible on sets.
>

Which is why I called list() before slicing.

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


[OE-core] Yocto Project Status WW32’17

2017-08-07 Thread Jolley, Stephen K
Current Dev Position: YP 2.4 M2 rc3 is in QA, patches are being merged for M3

Next Deadline: YP 2.4 M3 Cut off is Aug. 21, 2017


SWAT team rotation: Ross -> Leo on Aug. 4, 2017.

SWAT team rotation: Leo -> Juro on Aug. 11, 2017.

https://wiki.yoctoproject.org/wiki/Yocto_Build_Failure_Swat_Team


Key Status/Updates:

·Based on the 2.4 M2 rc2 QA report we decided to build an rc3 based on 
master as there were many different issues found, many of which were fixed post 
rc2 in master.

·2.4 M2 rc3 is in QA and about 15% complete: 
https://wiki.yoctoproject.org/wiki/2.4_QA_Status

·A new uninative version was released which allows the system to work 
with newer distros with newer gcc and glibc versions.

·Much of the key maintainers time is being taken up with patch review, 
testing and tracking down which patch was responsible for which build failure. 
It does sometimes feel that people expect others to test their patches which 
isn’t the case. Test failures mean batches have to be retested and slow the 
merge of code into master so we’d appreciate people’s attention to detail when 
they do send changes.

·2.2 is struggling due to build issues right now. We need to get these 
resolved in order to be able to merge patches and unblock this release series.


Planned upcoming dot releases:

YP 2.2.2 Cut off June 5, 2017 - Not ready to do an rc2 yet.

YP 2.2.2 Release by June, 16 2017

YP 2.3.2 Cut off Sept. 1, 2017

YP 2.3.2 Release by Sept. 15, 2017


Key YP 2.4 Dates are:

YP 2.4 M2 Cut off is July 17, 2017 - In QA now.

YP 2.4 M2 Release by July 28, 2017

YP 2.4 M3 Cut off is Aug. 21, 2017

YP 2.4 M3 Release by Sept. 1, 2017

YP 2.4 M4 (Final) Cut off is Sept. 18, 2017

YP 2.4 M4 (Final) Release by Oct. 20, 2017


Tracking Metrics:

WDD 2433 (last week 2556)

(https://wiki.yoctoproject.org/charts/combo.html)


Key Status Links for YP:

https://wiki.yoctoproject.org/wiki/Yocto_Project_v2.4_Status

https://wiki.yoctoproject.org/wiki/Yocto_2.4_Schedule

https://wiki.yoctoproject.org/wiki/Yocto_2.4_Features


[If anyone has suggestions for other information you’d like to see on this 
weekly status update, let us know!]

Thanks,

Stephen K. Jolley
Yocto Project Program Manager
INTEL, MS JF1-255, 2111 N.E. 25th Avenue, Hillsboro, OR 97124
•   Work Telephone:(503) 712-0534
•Cell:   (208) 244-4460
• Email:  stephen.k.jol...@intel.com

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


Re: [OE-core] [PATCH 2/2] sstatetests: limit the number of signature comparisons when differ

2017-08-07 Thread Leonardo Sandoval
On Mon, 2017-08-07 at 17:32 +0100, Burton, Ross wrote:
> On 4 August 2017 at 19:57,
>  wrote:
> +i_sigfile, max_sigfiles_to_compare = 0, 20
>  for k in files1.keys() | files2.keys():
>  if k in files1 and k in files2:
> +i_sigfile += 1
>  print("%s differs:" % k)
> +# this is an expensive computation, thus just
> compare the first
> +# 'max_sigfiles_to_compare' k files
> +if i_sigfile > max_sigfiles_to_compare:
> +continue
>  sigdatafile1 = self.topdir +
> "/tmp-sstatesamehash/stamps/" + k + "." + files1[k]
>  sigdatafile2 = self.topdir +
> "/tmp-sstatesamehash2/stamps/" + k + "." + files2[k]
>  output =
> bb.siggen.compare_sigfiles(sigdatafile1, sigdatafile2)
> 
> 
> A neater way to do this:
> 
> 
> -for k in files1.keys() | files2.keys():
> +for k in list(files1.keys() | files2.key())[:20];
> 
> 
yes, but we this way, we are not listing those > 20 and I believe this
is important. This fix just diffsigs the first 20, and the rest are just
listed for convenience.

also, sets are not 'subscriptable' thus slicing is not possible on sets.

Leo



> (take the union of the files1 and files2 keys, turn it into a list,
> and slice off up to the first 20)
> 
> 
> Ross


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


Re: [OE-core] [PATCH 2/6] diffutils: upgrade to 3.6

2017-08-07 Thread Christopher Larson
On Mon, Jul 24, 2017 at 2:51 AM, Chen Qi  wrote:

> diffutils-3.5-gcc7.patch is removed as it's merged in this version.
>
> do_configure_prepend is removed to solve the following configure error.
>
>   error: possibly undefined macro: gl_TYPE_WINT_T_PREREQ
>
> A workaround patch is made to fix the following compilation error for
> glibc.
>
>   error: dereferencing pointer to incomplete type 'const struct rpl_option'
>
> Signed-off-by: Chen Qi 
>

This disables use of the internal getopt, yet we don’t set
gl_cv_func_getopt_gnu=yes in our site info, so it always assumes it doesn’t
have a valid gnu getopt and decides to use the internal one, and the build
fails. I expect we need to add that to the site info in glibc-common in the
glib section in order to get this to build, now.
-- 
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Senior Software Engineer, Mentor Graphics
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/2] sstatetests: limit the number of signature comparisons when differ

2017-08-07 Thread Burton, Ross
On 4 August 2017 at 19:57, 
wrote:

> +i_sigfile, max_sigfiles_to_compare = 0, 20
>  for k in files1.keys() | files2.keys():
>  if k in files1 and k in files2:
> +i_sigfile += 1
>  print("%s differs:" % k)
> +# this is an expensive computation, thus just compare the
> first
> +# 'max_sigfiles_to_compare' k files
> +if i_sigfile > max_sigfiles_to_compare:
> +continue
>  sigdatafile1 = self.topdir +
> "/tmp-sstatesamehash/stamps/" + k + "." + files1[k]
>  sigdatafile2 = self.topdir +
> "/tmp-sstatesamehash2/stamps/" + k + "." + files2[k]
>  output = bb.siggen.compare_sigfiles(sigdatafile1,
> sigdatafile2)
>

A neater way to do this:

-for k in files1.keys() | files2.keys():
+for k in list(files1.keys() | files2.key())[:20];

(take the union of the files1 and files2 keys, turn it into a list, and
slice off up to the first 20)

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


[OE-core] Yocto Project Status WW32’17

2017-08-07 Thread Jolley, Stephen K
Current Dev Position: YP 2.4 M3 is in QA, patches are being merged for M3

Next Deadline: YP 2.4 M3 Cut off is Aug. 21, 2017


SWAT team rotation: Ross -> Leo on Aug. 4, 2017.

SWAT team rotation: Leo -> Juro on Aug. 11, 2017.

https://wiki.yoctoproject.org/wiki/Yocto_Build_Failure_Swat_Team


Key Status/Updates:

·Based on the 2.4 M2 rc2 QA report we decided to build an rc3 based on 
master as there were many different issues found, many of which were fixed post 
rc2 in master.

·2.4 M2 rc3 is in QA and about 15% complete: 
https://wiki.yoctoproject.org/wiki/2.4_QA_Status

·A new uninative version was released which allows the system to work 
with newer distros with newer gcc and glibc versions.

·Much of the key maintainers time is being taken up with patch review, 
testing and tracking down which patch was responsible for which build failure. 
It does sometimes feel that people expect others to test their patches which 
isn’t the case. Test failures mean batches have to be retested and slow the 
merge of code into master so we’d appreciate people’s attention to detail when 
they do send changes.

·2.2 is struggling due to build issues right now. We need to get these 
resolved in order to be able to merge patches and unblock this release series.


Planned upcoming dot releases:

YP 2.2.2 Cut off June 5, 2017 - Not ready to do an rc2 yet.

YP 2.2.2 Release by June, 16 2017

YP 2.3.2 Cut off Sept. 1, 2017

YP 2.3.2 Release by Sept. 15, 2017


Key YP 2.4 Dates are:

YP 2.4 M2 Cut off is July 17, 2017 - In QA now.

YP 2.4 M2 Release by July 28, 2017

YP 2.4 M3 Cut off is Aug. 21, 2017

YP 2.4 M3 Release by Sept. 1, 2017

YP 2.4 M4 (Final) Cut off is Sept. 18, 2017

YP 2.4 M4 (Final) Release by Oct. 20, 2017


Tracking Metrics:

WDD 2433 (last week 2556)

(https://wiki.yoctoproject.org/charts/combo.html)


Key Status Links for YP:

https://wiki.yoctoproject.org/wiki/Yocto_Project_v2.4_Status

https://wiki.yoctoproject.org/wiki/Yocto_2.4_Schedule

https://wiki.yoctoproject.org/wiki/Yocto_2.4_Features


[If anyone has suggestions for other information you’d like to see on this 
weekly status update, let us know!]

Thanks,

Stephen K. Jolley
Yocto Project Program Manager
INTEL, MS JF1-255, 2111 N.E. 25th Avenue, Hillsboro, OR 97124
•   Work Telephone:(503) 712-0534
•Cell:   (208) 244-4460
• Email:  stephen.k.jol...@intel.com

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


Re: [OE-core] Meson support in oe-core

2017-08-07 Thread Alexander Kanavin

On 08/07/2017 04:00 PM, Richard Purdie wrote:


Thanks for looking at this. Whilst some project still have some support
for both, could we get timings of do_{configure|compile|install} for
autotools vs. meson?


So far there's just one recipe that I can test, json-glib, which is 
fairly small, and so there's not a lot of difference between 
compile+install steps. configure however is vastly faster:


autotools with gtk-doc

configure 16.53
compile 12.56
install 1.94
total 31.03

meson with gtk-doc

configure 2.04
compile 4.87
install 9.16
total 16.07

autotools without gtk-doc
configure 16.26
compile 5.49
install 1.59
total 23.34

meson without gtk-doc
configure 1.95
compile 5.04
install 2.26
total 9.25


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


[OE-core] [PATCHv2] btrfs-tools: update to 4.12

2017-08-07 Thread Alexander Kanavin
Add a patch to force a native build for a helper binary
(which is not installed or used outside of the build process).

Signed-off-by: Alexander Kanavin 
---
 ...-Makefile-build-mktables-using-native-gcc.patch | 30 ++
 .../{btrfs-tools_4.11.1.bb => btrfs-tools_4.12.bb} |  6 +++--
 2 files changed, 34 insertions(+), 2 deletions(-)
 create mode 100644 
meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
 rename meta/recipes-devtools/btrfs-tools/{btrfs-tools_4.11.1.bb => 
btrfs-tools_4.12.bb} (88%)

diff --git 
a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
 
b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
new file mode 100644
index 000..a81900ee7e7
--- /dev/null
+++ 
b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
@@ -0,0 +1,30 @@
+From e58369f6d36bc51eb59d6afa34c1cae3ff0810ef Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Mon, 7 Aug 2017 14:10:38 +0300
+Subject: [PATCH] Makefile: build mktables using native gcc
+
+It's a throwaway helper binary used during build, and so it needs to
+be native.
+
+Upstream-Status: Inappropriate [oe specific]
+Signed-off-by: Alexander Kanavin 
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index b3e2b63..347aaf1 100644
+--- a/Makefile
 b/Makefile
+@@ -323,7 +323,7 @@ version.h: version.sh version.h.in configure.ac
+ 
+ mktables: kernel-lib/mktables.c
+   @echo "[CC] $@"
+-  $(Q)$(CC) $(CFLAGS) $< -o $@
++  $(Q)$(BUILD_CC) $(BUILD_CFLAGS) $< -o $@
+ 
+ kernel-lib/tables.c: mktables
+   @echo "[TABLE]  $@"
+-- 
+2.13.2
+
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb 
b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.12.bb
similarity index 88%
rename from meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb
rename to meta/recipes-devtools/btrfs-tools/btrfs-tools_4.12.bb
index a7b42e9546b..c3cc89c2b0f 100644
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.12.bb
@@ -14,8 +14,10 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl"
 DEPENDS_append_class-target = " udev"
 RDEPENDS_${PN} = "libgcc"
 
-SRCREV = "88221fc081a7a0979a012f243b66cf097382cc8f"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git"
+SRCREV = "0607132c3200bcead1426e6dc685432008de95de"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git 
\
+   file://0001-Makefile-build-mktables-using-native-gcc.patch \
+   "
 
 inherit autotools-brokensep pkgconfig manpages
 
-- 
2.13.2

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


Re: [OE-core] [PATCH 3/7] btrfs-tools: update to 4.12

2017-08-07 Thread Burton, Ross
Can you send a v2 instead?

Presumably they don't already use CC_FOR_BUILD and so on?

Ross

On 7 August 2017 at 13:59, Alexander Kanavin <
alexander.kana...@linux.intel.com> wrote:

> On 08/07/2017 03:59 PM, Burton, Ross wrote:
>
> +-  $(Q)$(CC) $(CFLAGS) $< -o $@
>> ++  $(Q)$(BUILD_CC) $(CFLAGS) $< -o $@
>>
>>
>> This won't work when CFLAGS contains arguments that the host compiler
>> doesn't recognise, or are inappropriate.
>>
>
> Right, should've been BUILD_CFLAGS? Can you amend the patch in-place?
>
> Alex
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 3/7] btrfs-tools: update to 4.12

2017-08-07 Thread Alexander Kanavin

On 08/07/2017 03:59 PM, Burton, Ross wrote:


+-  $(Q)$(CC) $(CFLAGS) $< -o $@
++  $(Q)$(BUILD_CC) $(CFLAGS) $< -o $@


This won't work when CFLAGS contains arguments that the host compiler 
doesn't recognise, or are inappropriate.


Right, should've been BUILD_CFLAGS? Can you amend the patch in-place?

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


Re: [OE-core] [PATCH 3/7] btrfs-tools: update to 4.12

2017-08-07 Thread Burton, Ross
On 7 August 2017 at 12:45, Alexander Kanavin <
alexander.kana...@linux.intel.com> wrote:

> +-  $(Q)$(CC) $(CFLAGS) $< -o $@
> ++  $(Q)$(BUILD_CC) $(CFLAGS) $< -o $@
>

This won't work when CFLAGS contains arguments that the host compiler
doesn't recognise, or are inappropriate.

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


Re: [OE-core] Meson support in oe-core

2017-08-07 Thread Richard Purdie
On Mon, 2017-08-07 at 15:19 +0300, Alexander Kanavin wrote:
> On 08/07/2017 03:09 PM, Jussi Kukkonen wrote:
> Looks like 2017 is when autotools is finally being replaced en masse
> by 
> various projects, particularly those related to gnome stack. Even 
> relatively large projects like gstreamer are going forward with it.
> The 
> replacement is meson, whose advantages over autotools are major, and 
> disadvantages are minor:
> http://mesonbuild.com/
> 
> Ross and I have done some work on bringing meson support into oe-
> core. 
> One recipe has been fully migrated to meson (including tricker bits
> like
> gtkdoc, and gobject introspection). Going forward that will be the 
> default when a project has both that and autotools, and of course we 
> should be ready for the situation when autotools support is removed
> from 
> the upstream altogether.
> 
> http://git.openembedded.org/meta-openembedded-contrib/log/?h=akanavin
> /meson
> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=akanavi
> n/meson

Thanks for looking at this. Whilst some project still have some support
for both, could we get timings of do_{configure|compile|install} for
autotools vs. meson?

Cheers,

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


[OE-core] Meson support in oe-core

2017-08-07 Thread Alexander Kanavin

On 08/07/2017 03:09 PM, Jussi Kukkonen wrote:

New feature release, see
https://lists.freedesktop.org/archives/wayland-devel/2017-June/034286.html
for the major features. This is the last major release to support
autotools.


Looks like 2017 is when autotools is finally being replaced en masse by 
various projects, particularly those related to gnome stack. Even 
relatively large projects like gstreamer are going forward with it. The 
replacement is meson, whose advantages over autotools are major, and 
disadvantages are minor:

http://mesonbuild.com/

Ross and I have done some work on bringing meson support into oe-core. 
One recipe has been fully migrated to meson (including tricker bits like
gtkdoc, and gobject introspection). Going forward that will be the 
default when a project has both that and autotools, and of course we 
should be ready for the situation when autotools support is removed from 
the upstream altogether.


http://git.openembedded.org/meta-openembedded-contrib/log/?h=akanavin/meson
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=akanavin/meson



Alex


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


[OE-core] [PATCH] libinput: Upgrade 1.7.3 -> 1.8.1

2017-08-07 Thread Jussi Kukkonen
New feature release, see
https://lists.freedesktop.org/archives/wayland-devel/2017-June/034286.html
for the major features. This is the last major release to support
autotools.

Configure flag "--enable-event-gui" changed name.

Configure flags no longer default to "auto": explicitly disable the
things that were previously automatically disabled.

Package the binaries into libinput-bin while being careful with
packaging as the main package gets renamed to libinput10.

Signed-off-by: Jussi Kukkonen 
---
 .../wayland/{libinput_1.7.3.bb => libinput_1.8.1.bb}  | 15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)
 rename meta/recipes-graphics/wayland/{libinput_1.7.3.bb => libinput_1.8.1.bb} 
(57%)

diff --git a/meta/recipes-graphics/wayland/libinput_1.7.3.bb 
b/meta/recipes-graphics/wayland/libinput_1.8.1.bb
similarity index 57%
rename from meta/recipes-graphics/wayland/libinput_1.7.3.bb
rename to meta/recipes-graphics/wayland/libinput_1.8.1.bb
index 6194fba..fdae3f8 100644
--- a/meta/recipes-graphics/wayland/libinput_1.7.3.bb
+++ b/meta/recipes-graphics/wayland/libinput_1.8.1.bb
@@ -10,16 +10,21 @@ DEPENDS = "libevdev udev mtdev"
 SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \

file://touchpad-serial-synaptics-need-to-fake-new-touches-on-TRIPLETAP.patch \
 "
-SRC_URI[md5sum] = "f2993b477db8d7ec0e785ce04ffecb03"
-SRC_URI[sha256sum] = 
"096d612d2711f0caa2de544976ff3729e6233511ab373808644cc2dd5affcb1d"
+SRC_URI[md5sum] = "8247f0bb67052ffb272c50c3cb9c5998"
+SRC_URI[sha256sum] = 
"e3590a9037e561a5791c8bd3b34bfd30fad5cacd8cbefc0d75fafe3a41d07147"
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig lib_package
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
 PACKAGECONFIG[libwacom] = "--enable-libwacom,--disable-libwacom,libwacom"
-PACKAGECONFIG[gui] = "--enable-event-gui,--disable-event-gui,cairo gtk+3"
+PACKAGECONFIG[gui] = "--enable-debug-gui,--disable-debug-gui,cairo gtk+3"
 
 UDEVDIR = "`pkg-config --variable=udevdir udev`"
 
-EXTRA_OECONF += "--with-udev-dir=${UDEVDIR}"
+EXTRA_OECONF += "--with-udev-dir=${UDEVDIR} --disable-documentation 
--disable-tests"
+
+# package name changed in 1.8.1 upgrade: make sure package upgrades work
+RPROVIDES_${PN} = "libinput"
+RREPLACES_${PN} = "libinput"
+RCONFLICTS_${PN} = "libinput"
-- 
2.1.4

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


[OE-core] [PATCH 6/7] oprofile: update to 1.2.0

2017-08-07 Thread Alexander Kanavin
Drop upstreamed 0001-Fix-FTBFS-problem-with-GCC-6.patch

Signed-off-by: Alexander Kanavin 
---
 meta/recipes-kernel/oprofile/oprofile.inc  |  1 -
 .../0001-Fix-FTBFS-problem-with-GCC-6.patch| 51 --
 meta/recipes-kernel/oprofile/oprofile_1.1.0.bb | 10 -
 meta/recipes-kernel/oprofile/oprofile_1.2.0.bb | 10 +
 4 files changed, 10 insertions(+), 62 deletions(-)
 delete mode 100644 
meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
 delete mode 100644 meta/recipes-kernel/oprofile/oprofile_1.1.0.bb
 create mode 100644 meta/recipes-kernel/oprofile/oprofile_1.2.0.bb

diff --git a/meta/recipes-kernel/oprofile/oprofile.inc 
b/meta/recipes-kernel/oprofile/oprofile.inc
index 4b01654fa3e..83fc8435cbd 100644
--- a/meta/recipes-kernel/oprofile/oprofile.inc
+++ b/meta/recipes-kernel/oprofile/oprofile.inc
@@ -25,7 +25,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
file://run-ptest \
file://root-home-dir.patch \
file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \
-   file://0001-Fix-FTBFS-problem-with-GCC-6.patch \
 "
 UPSTREAM_CHECK_REGEX = "oprofile-(?P\d+(\.\d+)+)/"
 UPSTREAM_CHECK_URI = 
"https://sourceforge.net/projects/oprofile/files/oprofile/;
diff --git 
a/meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch 
b/meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
deleted file mode 100644
index d372fd527ba..000
--- 
a/meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 39d4d46a0bd504ac708ffe72df87bf74cd12ad30 Mon Sep 17 00:00:00 2001
-From: William Cohen 
-Date: Fri, 5 Feb 2016 17:30:19 -0500
-Subject: [PATCH] Fix FTBFS problem with GCC-6
-
-GCC-6 is pickier about some of the type conversions causing the Fedora
-24 mass rebuild the build of oprofile failed with:
-
-make[3]: Entering directory '/builddir/build/BUILD/oprofile-1.1.0/libutil++'
-g++ -DHAVE_CONFIG_H -I. -I..  -I ../libutil -I ../libop -I ../libpp   -W -Wall 
-fno-common -ftemplate-depth-50 -O2 -g -pipe -Wall -Werror=format-security 
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong 
--param=ssp-buffer-size=4 -grecord-gcc-switches 
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom 
-fasynchronous-unwind-tables -c -o op_bfd.o op_bfd.cpp
-op_bfd.cpp: In member function 'void op_bfd::get_symbol_range(symbol_index_t, 
long long unsigned int&, long long unsigned int&) const':
-op_bfd.cpp:538:47: error: cannot convert 'std::ostream {aka 
std::basic_ostream}' to 'const bool' in initialization
-  bool const verbose = cverb << (vbfd & vlevel1);
-   ^
-op_bfd.cpp:546:7: error: in argument to unary !
-  if (!verbose)
-   ^~~
-
-Avoid the intermediate bool type to make GCC-6 happy.
-
-Signed-off-by: William Cohen 

-Upstream-Status: Backport
-
- libutil++/op_bfd.cpp | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/libutil++/op_bfd.cpp b/libutil++/op_bfd.cpp
-index 389c920..f2eb42b 100644
 a/libutil++/op_bfd.cpp
-+++ b/libutil++/op_bfd.cpp
-@@ -535,15 +535,13 @@ void op_bfd::get_symbol_range(symbol_index_t sym_idx,
- {
-   op_bfd_symbol const & sym = syms[sym_idx];
- 
--  bool const verbose = cverb << (vbfd & vlevel1);
--
-   if (anon_obj)
-   start = sym.vma();
-   else
-   start = sym.filepos();
-   end = start + sym.size();
- 
--  if (!verbose)
-+  if (!(cverb << (vbfd & vlevel1)))
-   return;
- 
-   io_state state(cverb << (vbfd & vlevel1));
--- 
-1.9.1
-
diff --git a/meta/recipes-kernel/oprofile/oprofile_1.1.0.bb 
b/meta/recipes-kernel/oprofile/oprofile_1.1.0.bb
deleted file mode 100644
index 92a94ad0d4d..000
--- a/meta/recipes-kernel/oprofile/oprofile_1.1.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require oprofile.inc
-
-DEPENDS += "virtual/kernel"
-DEPENDS_append_powerpc64 = " libpfm4"
-
-SRC_URI[md5sum] = "248c4c069f9476f427fa7195563f9867"
-SRC_URI[sha256sum] = 
"cf759a6de1a6033d5dfc93bda129a9f2e128aecc4238cc657feb0801d1b0366c"
-
-S = "${WORKDIR}/oprofile-${PV}"
-
diff --git a/meta/recipes-kernel/oprofile/oprofile_1.2.0.bb 
b/meta/recipes-kernel/oprofile/oprofile_1.2.0.bb
new file mode 100644
index 000..e85e805c37c
--- /dev/null
+++ b/meta/recipes-kernel/oprofile/oprofile_1.2.0.bb
@@ -0,0 +1,10 @@
+require oprofile.inc
+
+DEPENDS += "virtual/kernel"
+DEPENDS_append_powerpc64 = " libpfm4"
+
+SRC_URI[md5sum] = "4fcd3920984dcb607314b2e225086c3a"
+SRC_URI[sha256sum] = 
"eb95f98c40b7d0ee29b45fba3565d9f8381747528aa6b6159e37d4fa0c8ca57d"
+
+S = "${WORKDIR}/oprofile-${PV}"
+
-- 
2.13.2

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org

[OE-core] [PATCH 7/7] gptfdisk: update to 1.0.3

2017-08-07 Thread Alexander Kanavin
Signed-off-by: Alexander Kanavin 
---
 meta/recipes-devtools/fdisk/{gptfdisk_1.0.1.bb => gptfdisk_1.0.3.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/fdisk/{gptfdisk_1.0.1.bb => gptfdisk_1.0.3.bb} 
(86%)

diff --git a/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb 
b/meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb
similarity index 86%
rename from meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb
rename to meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb
index d62a903a709..4d617e3e46f 100644
--- a/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb
+++ b/meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb
@@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 DEPENDS = "util-linux popt ncurses"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "d7f3d306b083123bcc6f5941efade586"
-SRC_URI[sha256sum] = 
"864c8aee2efdda50346804d7e6230407d5f42a8ae754df70404dd8b2fdfaeac7"
+SRC_URI[md5sum] = "07b625a583b66c8c5840be5923f3e3fe"
+SRC_URI[sha256sum] = 
"89fd5aec35c409d610a36cb49c65b442058565ed84042f767bba614b8fc91b5c"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/;
 UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P(\d+[\.\-_]*)+)/"
-- 
2.13.2

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


[OE-core] [PATCH 5/7] babeltrace: update to 1.5.3

2017-08-07 Thread Alexander Kanavin
Signed-off-by: Alexander Kanavin 
---
 .../recipes-kernel/lttng/{babeltrace_1.5.2.bb => babeltrace_1.5.3.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-kernel/lttng/{babeltrace_1.5.2.bb => babeltrace_1.5.3.bb} 
(82%)

diff --git a/meta/recipes-kernel/lttng/babeltrace_1.5.2.bb 
b/meta/recipes-kernel/lttng/babeltrace_1.5.3.bb
similarity index 82%
rename from meta/recipes-kernel/lttng/babeltrace_1.5.2.bb
rename to meta/recipes-kernel/lttng/babeltrace_1.5.3.bb
index c7ea5c1ba41..4d81da0160d 100644
--- a/meta/recipes-kernel/lttng/babeltrace_1.5.2.bb
+++ b/meta/recipes-kernel/lttng/babeltrace_1.5.3.bb
@@ -15,5 +15,5 @@ SRC_URI = 
"http://www.efficios.com/files/babeltrace/babeltrace-${PV}.tar.bz2 \
 
 EXTRA_OECONF = "--disable-debug-info"
 
-SRC_URI[md5sum] = "1176e7f69e128112d5f29fefec39c6ce"
-SRC_URI[sha256sum] = 
"696ee46e5750ab57a258663e73915d2901b7cd4fc53b06eb3f7a0d7b1012fa56"
+SRC_URI[md5sum] = "0cec2745ac316649791c43f416d71ea1"
+SRC_URI[sha256sum] = 
"2249fee5beba657731f5d6a84c5296c6517f544bfbe7571bd1fd7af23726137c"
-- 
2.13.2

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


[OE-core] [PATCH 4/7] ffmpeg: update to 3.3.3

2017-08-07 Thread Alexander Kanavin
Signed-off-by: Alexander Kanavin 
---
 meta/recipes-multimedia/ffmpeg/{ffmpeg_3.3.2.bb => ffmpeg_3.3.3.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-multimedia/ffmpeg/{ffmpeg_3.3.2.bb => ffmpeg_3.3.3.bb} 
(97%)

diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb 
b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.3.bb
similarity index 97%
rename from meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb
rename to meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.3.bb
index 3c183674118..b4de97300d2 100644
--- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.2.bb
+++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.3.3.bb
@@ -27,8 +27,8 @@ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
file://mips64_cpu_detection.patch \
file://0001-build-fix-for-mips.patch \
   "
-SRC_URI[md5sum] = "d6c09c84e3d0d9ca8a51f481da660603"
-SRC_URI[sha256sum] = 
"1998de1ab32616cbf2ff86efc3f1f26e76805ec5dc51e24c041c79edd8262785"
+SRC_URI[md5sum] = "743dc66ebe67180283b92d029f690d0f"
+SRC_URI[sha256sum] = 
"d2a9002cdc6b533b59728827186c044ad02ba64841f1b7cd6c21779875453a1e"
 
 # Build fails when thumb is enabled: 
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
 ARM_INSTRUCTION_SET = "arm"
-- 
2.13.2

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


[OE-core] [PATCH 3/7] btrfs-tools: update to 4.12

2017-08-07 Thread Alexander Kanavin
Add a patch to force a native build for a helper binary
(which is not installed or used outside of the build process).

Signed-off-by: Alexander Kanavin 
---
 ...-Makefile-build-mktables-using-native-gcc.patch | 30 ++
 .../{btrfs-tools_4.11.1.bb => btrfs-tools_4.12.bb} |  6 +++--
 2 files changed, 34 insertions(+), 2 deletions(-)
 create mode 100644 
meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
 rename meta/recipes-devtools/btrfs-tools/{btrfs-tools_4.11.1.bb => 
btrfs-tools_4.12.bb} (88%)

diff --git 
a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
 
b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
new file mode 100644
index 000..0a3b5fd7102
--- /dev/null
+++ 
b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Makefile-build-mktables-using-native-gcc.patch
@@ -0,0 +1,30 @@
+From e58369f6d36bc51eb59d6afa34c1cae3ff0810ef Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Mon, 7 Aug 2017 14:10:38 +0300
+Subject: [PATCH] Makefile: build mktables using native gcc
+
+It's a throwaway helper binary used during build, and so it needs to
+be native.
+
+Upstream-Status: Inappropriate [oe specific]
+Signed-off-by: Alexander Kanavin 
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index b3e2b63..347aaf1 100644
+--- a/Makefile
 b/Makefile
+@@ -323,7 +323,7 @@ version.h: version.sh version.h.in configure.ac
+ 
+ mktables: kernel-lib/mktables.c
+   @echo "[CC] $@"
+-  $(Q)$(CC) $(CFLAGS) $< -o $@
++  $(Q)$(BUILD_CC) $(CFLAGS) $< -o $@
+ 
+ kernel-lib/tables.c: mktables
+   @echo "[TABLE]  $@"
+-- 
+2.13.2
+
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb 
b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.12.bb
similarity index 88%
rename from meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb
rename to meta/recipes-devtools/btrfs-tools/btrfs-tools_4.12.bb
index a7b42e9546b..c3cc89c2b0f 100644
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.11.1.bb
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.12.bb
@@ -14,8 +14,10 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl"
 DEPENDS_append_class-target = " udev"
 RDEPENDS_${PN} = "libgcc"
 
-SRCREV = "88221fc081a7a0979a012f243b66cf097382cc8f"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git"
+SRCREV = "0607132c3200bcead1426e6dc685432008de95de"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git 
\
+   file://0001-Makefile-build-mktables-using-native-gcc.patch \
+   "
 
 inherit autotools-brokensep pkgconfig manpages
 
-- 
2.13.2

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


[OE-core] [PATCH 2/7] libdnf: update to 0.9.3

2017-08-07 Thread Alexander Kanavin
Signed-off-by: Alexander Kanavin 
---
 meta/recipes-devtools/libdnf/{libdnf_0.9.1.bb => libdnf_0.9.3.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-devtools/libdnf/{libdnf_0.9.1.bb => libdnf_0.9.3.bb} (95%)

diff --git a/meta/recipes-devtools/libdnf/libdnf_0.9.1.bb 
b/meta/recipes-devtools/libdnf/libdnf_0.9.3.bb
similarity index 95%
rename from meta/recipes-devtools/libdnf/libdnf_0.9.1.bb
rename to meta/recipes-devtools/libdnf/libdnf_0.9.3.bb
index e5c47bf8dbe..01d9346d9ad 100644
--- a/meta/recipes-devtools/libdnf/libdnf_0.9.1.bb
+++ b/meta/recipes-devtools/libdnf/libdnf_0.9.3.bb
@@ -10,7 +10,7 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf \

file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
"
 
-SRCREV = "d5ecb17c0fde4f99c6a80e6f162510465b8d28f9"
+SRCREV = "1b19950e82d88eec28d01b4e7c1da712c941201d"
 
 S = "${WORKDIR}/git"
 
-- 
2.13.2

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


[OE-core] [PATCH 1/7] dnf: update to 2.6.3

2017-08-07 Thread Alexander Kanavin
Signed-off-by: Alexander Kanavin 
---
 ...ever-check-after-the-etc-dnf-vars-substit.patch | 37 --
 .../dnf/0030-Run-python-scripts-using-env.patch| 13 +---
 .../dnf/{dnf_2.5.1.bb => dnf_2.6.3.bb} |  3 +-
 3 files changed, 2 insertions(+), 51 deletions(-)
 delete mode 100644 
meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch
 rename meta/recipes-devtools/dnf/{dnf_2.5.1.bb => dnf_2.6.3.bb} (94%)

diff --git 
a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch
 
b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch
deleted file mode 100644
index daf058bbae7..000
--- 
a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 3d0cdd8af1b415712eeb00e377c307001684ad06 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin 
-Date: Wed, 21 Jun 2017 15:35:20 +0300
-Subject: [PATCH] Move releasever check after the etc/dnf/vars substitutions.
-
-The substitutions may actually set the releasever correctly,
-and so the check is premature.
-
-Upstream-Status: Submitted 
[https://github.com/rpm-software-management/dnf/pull/868]
-Signed-off-by: Alexander Kanavin 

- dnf/cli/cli.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/dnf/cli/cli.py b/dnf/cli/cli.py
-index c53c2a52..f9f2c13a 100644
 a/dnf/cli/cli.py
-+++ b/dnf/cli/cli.py
-@@ -882,12 +882,12 @@ class Cli(object):
- releasever = dnf.rpm.detect_releasever(conf.installroot)
- elif releasever == '/':
- releasever = dnf.rpm.detect_releasever(releasever)
--if releasever is None:
--logger.warning(_("Unable to detect release version (use 
'--releasever' to specify "
-- "release version)"))
- conf.releasever = releasever
- subst = conf.substitutions
- subst.update_from_etc(conf.installroot)
-+if releasever is None:
-+logger.warning(_("Unable to detect release version (use 
'--releasever' to specify "
-+ "release version)"))
- 
- for opt in ('cachedir', 'logdir', 'persistdir'):
- conf.prepend_installroot(opt)
--- 
-2.11.0
-
diff --git 
a/meta/recipes-devtools/dnf/dnf/0030-Run-python-scripts-using-env.patch 
b/meta/recipes-devtools/dnf/dnf/0030-Run-python-scripts-using-env.patch
index 61328e6ec5b..1abd880da9b 100644
--- a/meta/recipes-devtools/dnf/dnf/0030-Run-python-scripts-using-env.patch
+++ b/meta/recipes-devtools/dnf/dnf/0030-Run-python-scripts-using-env.patch
@@ -10,8 +10,7 @@ Signed-off-by: Alexander Kanavin 
 ---
  bin/dnf-automatic.in | 2 +-
  bin/dnf.in   | 2 +-
- bin/yum.in   | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
+ 2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/bin/dnf-automatic.in b/bin/dnf-automatic.in
 index 5b06aa26..9f6f703e 100755
@@ -33,16 +32,6 @@ index 645d0f06..ab141abd 100755
  # The dnf executable script.
  #
  # Copyright (C) 2012-2016 Red Hat, Inc.
-diff --git a/bin/yum.in b/bin/yum.in
-index f1fee071..013dc8c5 100755
 a/bin/yum.in
-+++ b/bin/yum.in
-@@ -1,4 +1,4 @@
--#!@PYTHON_EXECUTABLE@
-+#!/usr/bin/env python3
- # The dnf executable script.
- #
- # Copyright (C) 2016 Red Hat, Inc.
 -- 
 2.11.0
 
diff --git a/meta/recipes-devtools/dnf/dnf_2.5.1.bb 
b/meta/recipes-devtools/dnf/dnf_2.6.3.bb
similarity index 94%
rename from meta/recipes-devtools/dnf/dnf_2.5.1.bb
rename to meta/recipes-devtools/dnf/dnf_2.6.3.bb
index cdc2a8549fb..ade55ea0a80 100644
--- a/meta/recipes-devtools/dnf/dnf_2.5.1.bb
+++ b/meta/recipes-devtools/dnf/dnf_2.6.3.bb
@@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
"
 
 SRC_URI = "git://github.com/rpm-software-management/dnf.git \
-   
file://0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch \
file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
file://0030-Run-python-scripts-using-env.patch \
file://0001-Do-not-prepend-installroot-to-logdir.patch \
@@ -13,7 +12,7 @@ SRC_URI = "git://github.com/rpm-software-management/dnf.git \
file://0001-Corretly-install-tmpfiles.d-configuration.patch \
"
 
-SRCREV = "32e6ffdc8902b868cd8f98f9c399c98c9de0c7b8"
+SRCREV = "be2585183ec4485ee4d5e121f242d8669296f065"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
-- 
2.13.2

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


[OE-core] [PATCH 2/2] devtool: fix handling of errors during task execution

2017-08-07 Thread Paul Eggleton
* If an error is logged while executing a task, we need to ensure we
  exit instead of assuming everything went OK.
* If we receive CookerExit, the server is shutting down and we need to
  stop waiting for events and probably exit (knotty does this). This
  will occur if an exception or bb.fatal() happens during an event
  handler.

This fixes a couple of issues highlighted when using devtool upgrade or
modify on a non-supported recipe with intel-iot-refkit together with
bitbake master, but I'd be very surprised if it were hard to reproduce
in other scenarios.

Signed-off-by: Paul Eggleton 
---
 scripts/lib/devtool/standard.py | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 22a9ec8..ec19223 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -498,18 +498,24 @@ def _extract_source(srctree, keep_temp, devbranch, sync, 
d, tinfoil):
 'logging.LogRecord',
 'bb.command.CommandCompleted',
 'bb.command.CommandFailed',
+'bb.cooker.CookerExit',
 'bb.build.TaskStarted',
 'bb.build.TaskSucceeded',
 'bb.build.TaskFailed',
 'bb.build.TaskFailedSilent'])
 
 def runtask(target, task):
+error = False
 if tinfoil.build_file(target, task):
 while True:
 event = tinfoil.wait_event(0.25)
 if event:
 if isinstance(event, bb.command.CommandCompleted):
 break
+elif isinstance(event, bb.cooker.CookerExit):
+# The server is going away, so drop the connection
+tinfoil.server_connection = None
+break
 elif isinstance(event, bb.command.CommandFailed):
 raise DevtoolError('Task do_%s failed: %s' % 
(task, event.error))
 elif isinstance(event, bb.build.TaskFailed):
@@ -519,7 +525,11 @@ def _extract_source(srctree, keep_temp, devbranch, sync, 
d, tinfoil):
 elif isinstance(event, logging.LogRecord):
 if event.levelno <= logging.INFO:
 continue
+if event.levelno >= logging.ERROR:
+error = True
 logger.handle(event)
+if error:
+raise DevtoolError('An error occurred during do_%s, 
exiting' % task)
 
 # we need virtual:native:/path/to/recipe if it's a BBCLASSEXTEND
 fn = tinfoil.get_recipe_file(pn)
-- 
2.9.4

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


[OE-core] [PATCH 1/2] bitbake.conf: whitelist BB_SERVER_TIMEOUT from config hash

2017-08-07 Thread Paul Eggleton
We don't need to reparse recipes just because BB_SERVER_TIMEOUT changed,
so exclude it from the config hash.

Signed-off-by: Paul Eggleton 
---
 meta/conf/bitbake.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 9a3aa8b..3110b9c 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -850,7 +850,7 @@ BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE 
TIME SSH_AGENT_PID \
 PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
 GIT_PROXY_COMMAND ALL_PROXY all_proxy NO_PROXY no_proxy FTP_PROXY 
ftp_proxy \
 HTTP_PROXY http_proxy HTTPS_PROXY https_proxy SOCKS5_USER SOCKS5_PASSWD \
-BB_SETSCENE_ENFORCE BB_CMDLINE"
+BB_SETSCENE_ENFORCE BB_CMDLINE BB_SERVER_TIMEOUT"
 BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc deps depends \
 lockfiles type vardepsexclude vardeps vardepvalue vardepvalueexclude \
 file-checksums python func task export unexport noexec nostamp dirs 
cleandirs \
-- 
2.9.4

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


[OE-core] [PATCH 0/2] A couple of fixes related to the server rework

2017-08-07 Thread Paul Eggleton
A couple of fixes for issues I've noticed when working with the newly
reworked server code in bitbake. 

Note: patch 2/2 also requires the revert I just sent to bitbake-devel
in order to fully resolve the issue.


The following changes since commit a5bb13a5d7d7a668ca61da6b17884e3b05b95355:

  python: don't include -tests with modules (2017-08-03 11:14:04 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib paule/server-fixes
  
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=paule/server-fixes

Paul Eggleton (2):
  bitbake.conf: whitelist BB_SERVER_TIMEOUT from config hash
  devtool: fix handling of errors during task execution

 meta/conf/bitbake.conf  |  2 +-
 scripts/lib/devtool/standard.py | 10 ++
 2 files changed, 11 insertions(+), 1 deletion(-)

-- 
2.9.4

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


[OE-core] ✗ patchtest: failure for package_manager: Fix support for NO_RECOMMENDATONS (rev3)

2017-08-07 Thread Patchwork
== Series Details ==

Series: package_manager: Fix support for NO_RECOMMENDATONS (rev3)
Revision: 3
URL   : https://patchwork.openembedded.org/series/8021/
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 cannot be parsed correctly due to malformed diff 
lines [test_mbox_format] 
  Suggested fixCreate the series again using git-format-patch and ensure it 
can be applied using git am
  Diff line  




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] -> ...).

---
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] [pyro][PATCH] package_manager: Fix support for NO_RECOMMENDATONS

2017-08-07 Thread Richard Röjfors
When support for dnf was introduced the check of the
no NO_RECOMMENDATIONS variable got broken.

This fixes the issue by compairing to the string "1"
rather than the number 1.

Signed-off-by: Richard Röjfors 
---
 meta/lib/oe/package_manager.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 93d079d73d..28c6b2aec2 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -585,7 +585,7 @@ class RpmPM(PackageManager):
 
 output = self._invoke_dnf((["--skip-broken"] if attempt_only else []) +
  (["-x", ",".join(exclude_pkgs)] if len(exclude_pkgs) 
> 0 else []) +
- (["--setopt=install_weak_deps=False"] if 
self.d.getVar('NO_RECOMMENDATIONS') == 1 else []) +
+ (["--setopt=install_weak_deps=False"] if 
self.d.getVar('NO_RECOMMENDATIONS') == "1" else []) +
  (["--nogpgcheck"] if 
self.d.getVar('RPM_SIGN_PACKAGES') != '1' else ["--setopt=gpgcheck=True"]) +
  ["install"] +
  pkgs)
-- 
2.11.0
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core