[OE-core] βœ— patchtest: failure for createrepo-c: Fix setup of logging (log domains)

2018-12-09 Thread Patchwork
== Series Details ==

Series: createrepo-c: Fix setup of logging (log domains)
Revision: 1
URL   : https://patchwork.openembedded.org/series/15277/
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 A patch file has been added, but does not have a 
Signed-off-by tag [test_signed_off_by_presence] 
  Suggested fixSign off the added patch file 
(meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch)

* Issue Upstream-Status is in incorrect format 
[test_upstream_status_presence_format] 
  Suggested fixFix Upstream-Status format in 
0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
  Current  Upstream Status: Backport
  Standard format  Upstream-Status: 
  Valid status Pending, Accepted, Backport, Denied, Inappropriate [reason], 
Submitted [where]



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

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

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


[OE-core] βœ— patchtest: failure for createrepo-c: Fix setup of logging (log domains) (rev2)

2018-12-09 Thread Patchwork
== Series Details ==

Series: createrepo-c: Fix setup of logging (log domains) (rev2)
Revision: 2
URL   : https://patchwork.openembedded.org/series/15277/
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 A patch file has been added, but does not have a 
Signed-off-by tag [test_signed_off_by_presence] 
  Suggested fixSign off the added patch file 
(meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch)

* Issue Upstream-Status is in incorrect format 
[test_upstream_status_presence_format] 
  Suggested fixFix Upstream-Status format in 
0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
  Current  Upstream Status: Backport
  Standard format  Upstream-Status: 
  Valid status Pending, Accepted, Backport, Denied, Inappropriate [reason], 
Submitted [where]



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

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

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


[OE-core] [PATCH] createrepo-c: Fix setup of logging (log domains)

2018-12-09 Thread Zheng Ruoqin
New debug messages were added into GLib library. These messages come
from the "GLib" log domain and were not hidden in the standard and
quiet mode of the application.
This fix hides log messages regardless on source log domain.

Backport from 80810f04f2de6bae6e394f52ad9cdd2189862f74.

Signed-off-by: Zheng Ruoqin 
---
 ...etup-of-logging-log-domains-RhBug-1645897.patch | 72 ++
 .../createrepo-c/createrepo-c_git.bb   |  1 +
 2 files changed, 73 insertions(+)
 create mode 100644 
meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch

diff --git 
a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
 
b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
new file mode 100644
index 000..38bcdf8
--- /dev/null
+++ 
b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
@@ -0,0 +1,72 @@
+From 80810f04f2de6bae6e394f52ad9cdd2189862f74 Mon Sep 17 00:00:00 2001
+From: Jaroslav Rohel 
+Date: Fri, 9 Nov 2018 07:35:13 +0100
+Subject: [PATCH] Fix setup of logging (log domains) (RhBug:1645897)
+
+New debug messages were added into GLib library. These messages come
+from the "GLib" log domain and were not hidden in the standard and
+quiet mode of the application.
+This fix hides log messages regardless on source log domain.
+
+Upstream Status: Backport
+
+---
+ src/createrepo_shared.c | 19 ++-
+ src/misc.c  |  5 -
+ 2 files changed, 10 insertions(+), 14 deletions(-)
+
+diff --git a/src/createrepo_shared.c b/src/createrepo_shared.c
+index 8a26787..7cb8ba8 100644
+--- a/src/createrepo_shared.c
 b/src/createrepo_shared.c
+@@ -270,24 +270,17 @@ cr_lock_repo(const gchar *repo_dir,
+ void
+ cr_setup_logging(gboolean quiet, gboolean verbose)
+ {
+-g_log_set_default_handler (cr_log_fn, NULL);
+-
+ if (quiet) {
+ // Quiet mode
+-GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
+-G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
+-g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
+-g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
++GLogLevelFlags hidden_levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO 
|
++   G_LOG_LEVEL_DEBUG | 
G_LOG_LEVEL_WARNING;
++g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
+ } else if (verbose) {
+ // Verbose mode
+-GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
+-G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
+-g_log_set_handler(NULL, levels, cr_log_fn, NULL);
+-g_log_set_handler("C_CREATEREPOLIB", levels, cr_log_fn, NULL);
++g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(0));
+ } else {
+ // Standard mode
+-GLogLevelFlags levels = G_LOG_LEVEL_DEBUG;
+-g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
+-g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
++GLogLevelFlags hidden_levels = G_LOG_LEVEL_DEBUG;
++g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
+ }
+ }
+diff --git a/src/misc.c b/src/misc.c
+index 9937480..9549a44 100644
+--- a/src/misc.c
 b/src/misc.c
+@@ -912,8 +912,11 @@ void
+ cr_log_fn(const gchar *log_domain,
+   GLogLevelFlags log_level,
+   const gchar *message,
+-  G_GNUC_UNUSED gpointer user_data)
++  gpointer user_data)
+ {
++gint hidden_log_levels = GPOINTER_TO_INT(user_data);
++if (log_level & hidden_log_levels)
++return;
+ switch(log_level) {
+ case G_LOG_LEVEL_ERROR:
+ if (log_domain) g_printerr("%s: ", log_domain);
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb 
b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
index 2960811..08766b3 100644
--- a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
+++ b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
file://0001-Correctly-install-the-shared-library.patch \
+   file://0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch \
"
 
 PV = "0.11.1+git${SRCPV}"
-- 
2.7.4



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


[OE-core] [thud][PATCH] createrepo-c: Fix setup of logging (log domains)

2018-12-09 Thread Zheng Ruoqin
New debug messages were added into GLib library. These messages come
from the "GLib" log domain and were not hidden in the standard and
quiet mode of the application.
This fix hides log messages regardless on source log domain.

Backport from 80810f04f2de6bae6e394f52ad9cdd2189862f74.

Signed-off-by: Zheng Ruoqin 
---
 ...etup-of-logging-log-domains-RhBug-1645897.patch | 72 ++
 .../createrepo-c/createrepo-c_git.bb   |  1 +
 2 files changed, 73 insertions(+)
 create mode 100644 
meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch

diff --git 
a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
 
b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
new file mode 100644
index 000..38bcdf8
--- /dev/null
+++ 
b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
@@ -0,0 +1,72 @@
+From 80810f04f2de6bae6e394f52ad9cdd2189862f74 Mon Sep 17 00:00:00 2001
+From: Jaroslav Rohel 
+Date: Fri, 9 Nov 2018 07:35:13 +0100
+Subject: [PATCH] Fix setup of logging (log domains) (RhBug:1645897)
+
+New debug messages were added into GLib library. These messages come
+from the "GLib" log domain and were not hidden in the standard and
+quiet mode of the application.
+This fix hides log messages regardless on source log domain.
+
+Upstream Status: Backport
+
+---
+ src/createrepo_shared.c | 19 ++-
+ src/misc.c  |  5 -
+ 2 files changed, 10 insertions(+), 14 deletions(-)
+
+diff --git a/src/createrepo_shared.c b/src/createrepo_shared.c
+index 8a26787..7cb8ba8 100644
+--- a/src/createrepo_shared.c
 b/src/createrepo_shared.c
+@@ -270,24 +270,17 @@ cr_lock_repo(const gchar *repo_dir,
+ void
+ cr_setup_logging(gboolean quiet, gboolean verbose)
+ {
+-g_log_set_default_handler (cr_log_fn, NULL);
+-
+ if (quiet) {
+ // Quiet mode
+-GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
+-G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
+-g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
+-g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
++GLogLevelFlags hidden_levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO 
|
++   G_LOG_LEVEL_DEBUG | 
G_LOG_LEVEL_WARNING;
++g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
+ } else if (verbose) {
+ // Verbose mode
+-GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
+-G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
+-g_log_set_handler(NULL, levels, cr_log_fn, NULL);
+-g_log_set_handler("C_CREATEREPOLIB", levels, cr_log_fn, NULL);
++g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(0));
+ } else {
+ // Standard mode
+-GLogLevelFlags levels = G_LOG_LEVEL_DEBUG;
+-g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
+-g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
++GLogLevelFlags hidden_levels = G_LOG_LEVEL_DEBUG;
++g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
+ }
+ }
+diff --git a/src/misc.c b/src/misc.c
+index 9937480..9549a44 100644
+--- a/src/misc.c
 b/src/misc.c
+@@ -912,8 +912,11 @@ void
+ cr_log_fn(const gchar *log_domain,
+   GLogLevelFlags log_level,
+   const gchar *message,
+-  G_GNUC_UNUSED gpointer user_data)
++  gpointer user_data)
+ {
++gint hidden_log_levels = GPOINTER_TO_INT(user_data);
++if (log_level & hidden_log_levels)
++return;
+ switch(log_level) {
+ case G_LOG_LEVEL_ERROR:
+ if (log_domain) g_printerr("%s: ", log_domain);
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb 
b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
index 2960811..08766b3 100644
--- a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
+++ b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
file://0001-Correctly-install-the-shared-library.patch \
+   file://0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch \
"
 
 PV = "0.11.1+git${SRCPV}"
-- 
2.7.4



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


[OE-core] [PATCH 4/4] cmake.bbclass/goarch.bbclass: Set CCACHE_DISABLE

2018-12-09 Thread Robert Yang
They can't be built with ccache.

Signed-off-by: Robert Yang 
---
 meta/classes/cmake.bbclass  | 4 ++--
 meta/classes/goarch.bbclass | 4 
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index b364d2b..12fc452 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -4,8 +4,8 @@ OECMAKE_SOURCEPATH ??= "${S}"
 DEPENDS_prepend = "cmake-native "
 B = "${WORKDIR}/build"
 
-# We need to unset CCACHE otherwise cmake gets too confused
-CCACHE = ""
+# We need to disable CCACHE otherwise cmake gets too confused
+CCACHE_DISABLE = "1"
 
 # What CMake generator to use.
 # The supported options are "Unix Makefiles" or "Ninja".
diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass
index b2c94fa..1390f31 100644
--- a/meta/classes/goarch.bbclass
+++ b/meta/classes/goarch.bbclass
@@ -42,6 +42,10 @@ TUNE_CCARGS_remove = "-march=mips32r2"
 SECURITY_CFLAGS_mipsarch = "${SECURITY_NOPIE_CFLAGS}"
 SECURITY_NOPIE_CFLAGS ??= ""
 
+# go can't be built with ccache:
+# gcc: fatal error: no input files
+CCACHE_DISABLE = "1"
+
 def go_map_arch(a, d):
 import re
 if re.match('i.86', a):
-- 
2.10.2

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


[OE-core] [PATCH 2/4] ccache.bbclass: Refactor it to make it more reliable

2018-12-09 Thread Robert Yang
The previous ccache.bbclass has the following problems:
- It uses host's ccache for native recipes, but this may not work on some
  hosts, for example, it nerver works on my Ubuntu 14.04.4, there are always
  build failures (m4-native failed at do_configure, and others will also be
  failed if I disable CCACHE for m4-native)

- native/nativesdk/cross/crosssdk recipes use host's ccahe, but target uses
  ccache-native, this may confuse user.

- The target recipes may use both host's ccache and ccache-native, this may
  cause unexpected problems and hard to debug. This is because ccache-native is
  in SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS, so ccache-native may not be present when
  rebuild target recipes, and then it would use hosttools/ccache, but the
  previous ccache files were generated by ccache-native.

- Target recipes can't use ccache when no ccahe is installed on the host:
  CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}"

After refactored:
All types recipes (native, target and others) will use ccache-native except
ccache-native's dependencies, host's cache won't be used any more. It is more
reliable now, which will work everywhere when ccache-native can be built.

And now we need use "CCACHE_DISABLE = '1'" to disable ccahe for the recipe
rather than "CCACHE = ''" since we set CCACHE in anonymous function, and
d.getVar('CCACHE') works after "CCACHE ??=" which is set in bitbake.conf, so we
can't check whether CCACHE is set or not in anonymous function since it is
always set. Use CCACHE_DISABLE to disable it would be more clear.

Signed-off-by: Robert Yang 
---
 meta/classes/ccache.bbclass | 25 ++---
 meta/conf/bitbake.conf  | 21 -
 meta/conf/layer.conf|  1 -
 meta/lib/oe/utils.py|  3 +++
 meta/recipes-devtools/ccache/ccache.inc |  2 ++
 5 files changed, 43 insertions(+), 9 deletions(-)

diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass
index 9609020..f4eefce 100644
--- a/meta/classes/ccache.bbclass
+++ b/meta/classes/ccache.bbclass
@@ -1,4 +1,14 @@
-CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}"
+#
+# Usage:
+# - Enable ccache
+#   Add the following line to a conffile such as conf/local.conf:
+#   INHERIT += "ccache"
+#
+# - Disable ccache for a recipe
+#   Add the following line to the recipe if it can't be built with ccache:
+#   CCACHE_DISABLE = '1'
+#
+
 export CCACHE_DIR ?= "${TMPDIR}/ccache/${MULTIMACH_TARGET_SYS}/${PN}"
 
 # We need to stop ccache considering the current directory or the
@@ -7,5 +17,14 @@ export CCACHE_DIR ?= 
"${TMPDIR}/ccache/${MULTIMACH_TARGET_SYS}/${PN}"
 # ${PV} or ${PR} change.
 export CCACHE_NOHASHDIR ?= "1"
 
-DEPENDS_append_class-target = " ccache-native"
-DEPENDS[vardepvalueexclude] = " ccache-native"
+python() {
+"""
+Enable ccache for the recipe if is not a dependency of ccache-native
+"""
+ccache_native_deps = d.getVar('CCACHE_NATIVE_DEPENDS') or ''
+ccache_native_deps += 'ccache-native'
+if not (d.getVar('PN') in ccache_native_deps.split() or \
+bb.utils.to_boolean(d.getVar('CCACHE_DISABLE'))):
+d.appendVar('DEPENDS', ' ccache-native')
+d.setVar('CCACHE', 'ccache ')
+}
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 6480062..cb1dba8 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -492,7 +492,7 @@ HOSTTOOLS += " \
 HOSTTOOLS += "${@'ip ping ps scp ssh stty' if 
(bb.utils.contains_any('IMAGE_CLASSES', 'testimage testsdk', True, False, d) or 
any(x in (d.getVar("BBINCLUDED") or "") for x in ["testimage.bbclass", 
"testsdk.bbclass"])) else ''}"
 
 # Link to these if present
-HOSTTOOLS_NONFATAL += "aws ccache gcc-ar gpg ld.bfd ld.gold nc pigz sftp socat 
ssh sudo"
+HOSTTOOLS_NONFATAL += "aws gcc-ar gpg ld.bfd ld.gold nc pigz sftp socat ssh 
sudo"
 
 # Temporary add few more detected in bitbake world
 HOSTTOOLS_NONFATAL += "join nl size yes zcat"
@@ -503,11 +503,22 @@ HOSTTOOLS_NONFATAL += "bzr"
 # Used by ssh fetcher
 HOSTTOOLS_NONFATAL += "scp"
 
+# This is used by both ccache.bbclass and ccahe-native recipe, these
+# recipes can't use ccache since ccache-native depends on them,
+# otherwise, there would be loop dependencies.
+CCACHE_NATIVE_DEPENDS ?= " \
+gnu-config-native \
+autoconf-native \
+quilt-native \
+zlib-native \
+gettext-minimal-native \
+texinfo-dummy-native \
+m4-native \
+libtool-native \
+automake-native \
+xz-native \
+"
 CCACHE ??= ""
-# ccache < 3.1.10 will create CCACHE_DIR on startup even if disabled, and
-# autogen sets HOME=/dev/null so in certain situations builds can fail.
-# Explicitly export CCACHE_DIR until we can assume ccache >3.1.10 on the host.
-export CCACHE_DIR ??= "${@os.getenv('HOME')}/.ccache"
 
 TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
 
diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index c67dec4..4141d6c 

[OE-core] [PATCH 3/4] apr/openssl10: Enable ccache for them

2018-12-09 Thread Robert Yang
The work well now.

Signed-off-by: Robert Yang 
---
 meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb | 3 ---
 meta/recipes-support/apr/apr_1.6.5.bb | 1 -
 2 files changed, 4 deletions(-)

diff --git a/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb 
b/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb
index 6518dac..1986cf2 100644
--- a/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb
+++ b/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb
@@ -76,9 +76,6 @@ EXTRA_OEMAKE = "${@bb.utils.contains('PACKAGECONFIG', 
'manpages', '', 'OE_DISABL
 
 export OE_LDFLAGS = "${LDFLAGS}"
 
-# openssl fails with ccache: 
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12810
-CCACHE = ""
-
 TERMIO ?= "-DTERMIO"
 TERMIO_libc-musl = "-DTERMIOS"
 
diff --git a/meta/recipes-support/apr/apr_1.6.5.bb 
b/meta/recipes-support/apr/apr_1.6.5.bb
index c2f5900..ed93a7e 100644
--- a/meta/recipes-support/apr/apr_1.6.5.bb
+++ b/meta/recipes-support/apr/apr_1.6.5.bb
@@ -40,7 +40,6 @@ CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes"
 # Otherwise libtool fails to compile apr-utils
 # x86_64-linux-libtool: compile: unable to infer tagged configuration
 # x86_64-linux-libtool:   error: specify a tag with '--tag'
-CCACHE = ""
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-- 
2.10.2

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


[OE-core] [PATCH 1/4] base.bbclass: Remove invalid ccache related code

2018-12-09 Thread Robert Yang
The code is in setup_hosttools_dir(), it searches ccache in PATH in reverse
order, I can't figure out what it is used for, maybe it is aimed to use host's
ccache rather than recipe-sysroot-native/usr/bin/ccache, but the later one
isn't in original PATH, so remove the code.

Signed-off-by: Robert Yang 
---
 meta/classes/base.bbclass | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index e715ffa..36b9c15 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -122,8 +122,6 @@ def setup_hosttools_dir(dest, toolsvar, d, fatal=True):
 desttool = os.path.join(dest, tool)
 if not os.path.exists(desttool):
 srctool = bb.utils.which(path, tool, executable=True)
-if "ccache" in srctool:
-srctool = bb.utils.which(path, tool, executable=True, 
direction=1)
 if srctool:
 os.symlink(srctool, desttool)
 else:
-- 
2.10.2

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


[OE-core] [PATCH 0/4] ccache.bbclass: Refactor it to make it more reliable

2018-12-09 Thread Robert Yang
Hi RP and Ross,

With this refactor, I think that we can even enable ccache by default, it is
useful for debugging recipes which require a lot of time to compile.

// Robert

The following changes since commit 8bc0d2f2197430723f8b2d0785169e48c883eedb:

  mdadm: Drop redundant patches and fix build with clang (2018-12-09 11:08:07 
+)

are available in the git repository at:

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

Robert Yang (4):
  base.bbclass: Remove invalid ccache related code
  ccache.bbclass: Refactor it to make it more reliable
  apr/openssl10: Enable ccache for them
  cmake.bbclass/goarch.bbclass: Set CCACHE_DISABLE

 meta/classes/base.bbclass  |  2 --
 meta/classes/ccache.bbclass| 25 +++---
 meta/classes/cmake.bbclass |  4 ++--
 meta/classes/goarch.bbclass|  4 
 meta/conf/bitbake.conf | 21 +-
 meta/conf/layer.conf   |  1 -
 meta/lib/oe/utils.py   |  3 +++
 .../openssl/openssl10_1.0.2q.bb|  3 ---
 meta/recipes-devtools/ccache/ccache.inc|  2 ++
 meta/recipes-support/apr/apr_1.6.5.bb  |  1 -
 10 files changed, 49 insertions(+), 17 deletions(-)

-- 
2.10.2

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


Re: [OE-core] [PATCH 1/1] oeqa: drop support of listing machines in QEMU_USE_KVM

2018-12-09 Thread ChenQi

On 12/07/2018 07:02 PM, Richard Purdie wrote:

On Thu, 2018-12-06 at 14:30 +0800, Chen Qi wrote:

We want QEMU_USE_KVM to only set to some boolean value, with possible
MACHINE override. Drop the support of listing machines in this variable,
and give users error message if they still do so.

Error message below is an example.

ERROR: core-image-minimal-1.0-r0 do_testimage: Invalid boolean value 
'intel-corei7-64 intel-core2-32 qemux86 qemux86-64'
QEMU_USE_KVM needs to be set to a boolean value. It no longer supports 
accepting a list of machines.
   e.g.
   QEMU_USE_KVM_qemux86-64 = '1'
ERROR: core-image-minimal-1.0-r0 do_testimage: Function failed: do_testimage

QB_CPU_KVM is also checked to determine whether to enable kvm.

Signed-off-by: Chen Qi 
---
  meta/classes/testimage.bbclass | 12 +++-
  meta/lib/oeqa/targetcontrol.py | 12 +++-
  2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 82cbb06..3353d133 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -229,11 +229,13 @@ def testimage_main(d):
  
  # 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:
+try:
+kvm = oe.types.boolean(qemu_use_kvm)
+except ValueError as e:
+bb.fatal("%s\nQEMU_USE_KVM needs to be set to a boolean value. It no longer 
supports accepting a list of machines.\n"
+ "  e.g.\n"
+ "  QEMU_USE_KVM_qemux86-64 = '1'" % e)
+if kvm and not d.getVar('QB_CPU_KVM'):
  kvm = False
  
  slirp = False

diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index 59a9c35..d21823b 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -108,11 +108,13 @@ class QemuTarget(BaseTarget):
  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:
+try:
+use_kvm = oe.types.boolean(qemu_use_kvm)
+except ValueError as e:
+bb.fatal("%s\nQEMU_USE_KVM needs to be set to a boolean value. It no 
longer supports accepting a list of machines.\n"
+ "  e.g.\n"
+ "  QEMU_USE_KVM_qemux86-64 = '1'" % e)
+if use_kvm and not d.getVar('QB_CPU_KVM'):
  use_kvm = False
  
  # Log QemuRunner log output to a file

Unfortunately this still isn't going to work quite as I mentioned.

We've about to add an aarch64 server to our autobuilder infrastructure.
We need that to use kvm for arm targets but not x86 ones yet have x86
targets use kvm on x86 hardware too.

I appreciate that isn't how the code works now but we may as well fix
this properly once and for all.

Cheers,

Richard





How about setting QB_CPU_KVM to something like 
${@bb.utils.contains('BUILD_ARCH', 'x86_64', '-cpu core2duo', '', d)}?
In this way, we are actually doing BUILD_ARCH and TARGET_ARCH match 
manually, as we are setting QB_CPU_KVM in different conf files like 
qemuboot-x86.inc, qemuboot-intel.inc, which contain target information 
in their names.
When aarch64 server is supported, qemuarm and qemuarm64's configuration 
files could also be modified to add QB_CPU_KVM.


I'm thinking about a general matching function to check BUILD_ARCH and 
TARGET_ARCH, and getting rid of QB_CPU_KVM. But when checking 
qemuboot-intel.inc, I found the '-cpu' option is not the same when 
enabling and disabling kvm.

QB_CPU_intel-core2-32 = "-cpu coreduo"
QB_CPU_KVM_intel-core2-32 = "-cpu kvm32"

So it seems QB_CPU_KVM is still needed. One step further, if it's still 
needed, we could set it properly, doing arch matching manually.


Best Regards,
Chen Qi
--
___
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

2018-12-09 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

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

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

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

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



Got it. I am going to fix fix them.

Regards,
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




--
Regards,
Neil | Kai Kang

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


[OE-core] [PATCH] liberror-perl: upgrade 0.17026 -> 0.17027

2018-12-09 Thread Tim Orling
* add RDEPENDS
* add RDEPENDS for ptest
  - tested on qemux86 with glibc and musl
* drop do_compile, not obvious why LIBC needed to be set
* Added HOMEPAGE:
  https://bitbucket.org/shlomif/perl-error.pm
  - Repository used to be github.com/shlomif (deadlink)

Upstream release notes:
"""
0.17027 2018-10-28
- Documentation and examples enhancements.
  - 
https://bitbucket.org/shlomif/perl-error.pm/pull-requests/1/october-prc-some-minor-mostly-doc-changes/diff
  - Thanks to https://metacpan.org/author/JMERELO .
"""

Signed-off-by: Tim Orling 
---
 ...rl_0.17026.bb => liberror-perl_0.17027.bb} | 30 ++-
 1 file changed, 22 insertions(+), 8 deletions(-)
 rename meta/recipes-devtools/perl/{liberror-perl_0.17026.bb => 
liberror-perl_0.17027.bb} (55%)

diff --git a/meta/recipes-devtools/perl/liberror-perl_0.17026.bb 
b/meta/recipes-devtools/perl/liberror-perl_0.17027.bb
similarity index 55%
rename from meta/recipes-devtools/perl/liberror-perl_0.17026.bb
rename to meta/recipes-devtools/perl/liberror-perl_0.17027.bb
index 6f42b47298..cf1f6d685f 100644
--- a/meta/recipes-devtools/perl/liberror-perl_0.17026.bb
+++ b/meta/recipes-devtools/perl/liberror-perl_0.17027.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The Error package provides two interfaces. 
Firstly \
 Error provides a procedural interface to exception handling. \
 Secondly Error is a base class for errors/exceptions that can \
 either be thrown, for subsequent catch, or can simply be recorded."
-
+HOMEPAGE = "https://bitbucket.org/shlomif/perl-error.pm;
 SECTION = "libs"
 LICENSE = "Artistic-1.0 | GPL-1.0+"
 
@@ -11,20 +11,34 @@ LIC_FILES_CHKSUM = 
"file://LICENSE;md5=8f3499d09ee74a050c0319391ff9d100"
 
 DEPENDS += "perl"
 
+RDEPENDS_${PN} += " \
+perl-module-carp \
+perl-module-exporter \
+perl-module-scalar-util \
+perl-module-overload \
+perl-module-strict \
+perl-module-vars \
+perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += " \
+perl-module-base \
+perl-module-file-spec \
+perl-module-io-handle \
+perl-module-ipc-open3 \
+perl-module-lib \
+perl-module-test-more \
+"
+
 SRC_URI = "http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Error-${PV}.tar.gz;
 
-SRC_URI[md5sum] = "0dcd94640f617df02b6d6c1e4e92018c"
-SRC_URI[sha256sum] = 
"37590a962cd73ae03470e1ff16459a6cbc5273fc57626b8981dab9c2433155d9"
+SRC_URI[md5sum] = "4ef9b2890fb144d804527ba32573dd56"
+SRC_URI[sha256sum] = 
"07b2ac8275dfa04144745a6c1900a596280f862b97d22bab0c5ce02682ebd3be"
 
 S = "${WORKDIR}/Error-${PV}"
 
 inherit cpan ptest-perl
 
-do_compile() {
-   export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 
'libc-*.so')"
-   cpan_do_compile
-}
-
 do_install_prepend() {
# test requires "-T" (taint) command line option
rm -rf ${B}/t/pod-coverage.t
-- 
2.19.2

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

2018-12-09 Thread Richard Purdie
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

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

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

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

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


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


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


[OE-core] [PATCH 1/2] create_manifest2: Dont match filenames which contain the directory name for new manifest

2018-12-09 Thread Alejandro Enedino Hernandez Samaniego
When creating a new python2 manifest, there is a corner case on which
the filepath for a certain dependency that was found, could contain
the path of an existing folder, e.g. ${libdir}/python2.7/xmlrpclib.py
module path contains ${libdir}/python2.7/xml, this causes an issue where
the dependency doesnt get eventually added on FILES for that module.

This patch checks if the dependency that was found is a directory, if it
is, it checks if it matches one of the existing directories on the
manifest, if it is not, then it checks if the dependency's path (without
the filename) matches one of the directories.

Also some misc indentation fixes.

Signed-off-by: Alejandro Enedino Hernandez Samaniego 
---
 .../python/python/create_manifest2.py  | 28 +-
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/meta/recipes-devtools/python/python/create_manifest2.py 
b/meta/recipes-devtools/python/python/create_manifest2.py
index b674865..3465951 100644
--- a/meta/recipes-devtools/python/python/create_manifest2.py
+++ b/meta/recipes-devtools/python/python/create_manifest2.py
@@ -209,7 +209,13 @@ for key in old_manifest:
 
 inFolders=False
 for folder in allfolders:
-if folder in item:
+# The module could have a directory named after it, e.g. xml, 
if we take out the filename from the path
+# we'll end up with ${libdir}, and we want ${libdir}/xml
+if isFolder(item):
+check_path = item
+else:
+check_path = os.path.dirname(item)
+if folder in check_path :
 inFolders = True # Did we find a folder?
 folderFound = False # Second flag to break inner for
 # Loop only through packages which contain folders
@@ -262,16 +268,16 @@ for key in old_manifest:

new_manifest[key]['rdepends'].append(newkey)
 break
 else:
-  # Debug
-  print('Adding %s to %s FILES' % (item, key))
-  # Since it wasnt found on another package, its not an 
RDEP, so add it to FILES for this package
-  new_manifest[key]['files'].append(item)
-  if item.endswith('*'):
-  wildcards.append(item)
-  if item not in allfiles:
-  allfiles.append(item)
-  else:
-  repeated.append(item)
+# Debug
+print('Adding %s to %s FILES' % (item, key))
+# Since it wasnt found on another package, its not an 
RDEP, so add it to FILES for this package
+new_manifest[key]['files'].append(item)
+if item.endswith('*'):
+wildcards.append(item)
+if item not in allfiles:
+allfiles.append(item)
+else:
+repeated.append(item)
 
 print ('The following files are repeated (contained in more than one package), 
please check which package should get it:')
 print (repeated)
-- 
2.7.4

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