[OE-core] β patchtest: failure for createrepo-c: Fix setup of logging (log domains)
== 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)
== 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)
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)
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
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
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
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
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
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
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
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
* 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
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
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