meta: various fixes
v4 cover meta: various fixes
* V4:
- Fix Paul's comments on populate_sdk_ext.bbclass patch
- Remove the ones which are already merged.
* V3:
- Fix RP's comments
Fix comments for "lsof: fix LSOF_CCV in version.h"
Fix "rootfs-postcommands: split ssh_allow_empty_password" since it caused a oe-selftest case failed.
- Drop already merge commits
- Drop unneeded commit:
gcc-sanitizers: Fix libtool .la files
- Drop an incorrect commit which caused oe-selftest failed:
glibc: re-package for libnss-db
This one needs rework.
- Ran "oe-selftest -a" to test it.
* V2:
Rebase to up-to-date master branch and drop already merged patches.
* V1: Initial version
// Robert
The following changes since commit f9324af88a99eca28b160fa31aa4516fd397e44b:
distutils3: pass build arguments when doing a clean (2018-07-10 11:10:14 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/fix_from_wr
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/fix_from_wr
Chen Qi (1):
populate_sdk_ext.bbclass: add SDK_CONF_MANIFEST_EXCLUDE
Kai Kang (1):
toolchain-scripts.bbclass: do not extend dependency if extended
already
Mark Hatle (1):
base.bbclass: Add buildcfg multilib values
Shan Hai (1):
xinetd: add Init Script Actions to xinetd script
meta/classes/base.bbclass | 13 ++++++++++++- meta/classes/populate_sdk_ext.bbclass | 7 +++++++ meta/classes/toolchain-scripts.bbclass | 13 ++++++++++++- meta/conf/bitbake.conf | 2 +- meta/recipes-extended/xinetd/xinetd/xinetd.init | 12 +++++++++++- 5 files changed, 43 insertions(+), 4 deletions(-)
Signature · 1 line
2.7.4
PATCH v4 1/4 base.bbclass: Add buildcfg multilib values
From: Mark Hatle <[email protected]>
When displaying the buildcfg for the end user, add in processing of the multilib variants. Only the items that are not the same as the DEFAULTTUNE are displayed.
I.e.:
Build Configuration:
BB_VERSION = "1.19.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "CentOS-6.4" DISTRO_VERSION = "oe-core.0" MACHINE = "qemux86-64" DEFAULTTUNE = "x86-64" TARGET_SYS = "x86_64-oe-linux" TUNE_FEATURES = "m64" TARGET_FPU = "" lib32: DEFAULTTUNE = "x86" lib32: TARGET_SYS = "i586-oe-linux" lib32: TUNE_FEATURES = "m32"
meta = "master:1975f3d7bbeb184489a5d0a2e0de231f317d3e1b"
The order of the displayed elements was changed slightly to group the host information together, as well as group the target information together.
--- meta/classes/base.bbclass | 13 ++++++++++++- meta/conf/bitbake.conf | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-)
meta/classes/base.bbclass +12 -1
@@ -188,7 +188,7 @@ def get_layers_branch_rev(d): return layers_branch_rev -BUILDCFG_FUNCS ??= "buildcfg_vars get_layers_branch_rev buildcfg_neededvars" +BUILDCFG_FUNCS ??= "buildcfg_vars buildcfg_multilibs get_layers_branch_rev buildcfg_neededvars" BUILDCFG_FUNCS[type] = "list" def buildcfg_vars(d):
@@ -198,6 +198,17 @@ def buildcfg_vars(d): if value is not None: yield '%-20s = "%s"' % (var, value) +def buildcfg_multilibs(d): + variants = d.getVar("MULTILIB_VARIANTS", True) or "" + for variant in variants.split(): + localdata = get_multilib_datastore(variant, d) + statusvars = oe.data.typed_value('BUILDCFG_VARS', d) + for var in statusvars: + origvalue = d.getVar(var, True) + variantvalue = localdata.getVar(var, True) + if origvalue and variantvalue and origvalue != variantvalue: + yield '%-7s %-17s = "%s"' % (variant + ":", var, variantvalue) + def buildcfg_neededvars(d): needed_vars = oe.data.typed_value("BUILDCFG_NEEDEDVARS", d) pesteruser = []
meta/conf/bitbake.conf +1 -1
@@ -698,7 +698,7 @@ PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native" # Pre-build configuration output BUILDCFG_HEADER = "Build Configuration:" -BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU" +BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING DISTRO DISTRO_VERSION MACHINE DEFAULTTUNE TARGET_SYS TUNE_FEATURES TARGET_FPU" BUILDCFG_VARS[type] = "list" BUILDCFG_NEEDEDVARS = "TARGET_ARCH TARGET_OS" BUILDCFG_NEEDEDVARS[type] = "list"
Signature · 1 line
2.7.4
Re: [OE-core] [PATCH V4 1/4] base.bbclass: Add buildcfg multilib values
Ping.
Thanks,
Quoted 79 lines · Robert Yang
From: Mark Hatle <[email protected]>
When displaying the buildcfg for the end user, add in processing of the multilib variants. Only the items that are not the same as the DEFAULTTUNE are displayed.
I.e.:
Build Configuration:BB_VERSION = "1.19.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "CentOS-6.4" DISTRO_VERSION = "oe-core.0" MACHINE = "qemux86-64" DEFAULTTUNE = "x86-64" TARGET_SYS = "x86_64-oe-linux" TUNE_FEATURES = "m64" TARGET_FPU = "" lib32: DEFAULTTUNE = "x86" lib32: TARGET_SYS = "i586-oe-linux" lib32: TUNE_FEATURES = "m32"meta = "master:1975f3d7bbeb184489a5d0a2e0de231f317d3e1b"
The order of the displayed elements was changed slightly to group the host information together, as well as group the target information together.
Signed-off-by Mark Hatle <[email protected]>Signed-off-by Hongxu Jia <[email protected]>Signed-off-by Robert Yang <[email protected]>--- meta/classes/base.bbclass | 13 ++++++++++++- meta/conf/bitbake.conf | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-)meta/classes/base.bbclass +12
-1@@ -188,7 +188,7 @@ def get_layers_branch_rev(d): return layers_branch_rev -BUILDCFG_FUNCS ??= "buildcfg_vars get_layers_branch_rev buildcfg_neededvars" +BUILDCFG_FUNCS ??= "buildcfg_vars buildcfg_multilibs get_layers_branch_rev buildcfg_neededvars" BUILDCFG_FUNCS[type] = "list" def buildcfg_vars(d):@@ -198,6 +198,17 @@ def buildcfg_vars(d): if value is not None: yield '%-20s = "%s"' % (var, value) +def buildcfg_multilibs(d): + variants = d.getVar("MULTILIB_VARIANTS", True) or "" + for variant in variants.split(): + localdata = get_multilib_datastore(variant, d) + statusvars = oe.data.typed_value('BUILDCFG_VARS', d) + for var in statusvars: + origvalue = d.getVar(var, True) + variantvalue = localdata.getVar(var, True) + if origvalue and variantvalue and origvalue != variantvalue: + yield '%-7s %-17s = "%s"' % (variant + ":", var, variantvalue) + def buildcfg_neededvars(d): needed_vars = oe.data.typed_value("BUILDCFG_NEEDEDVARS", d) pesteruser = []meta/conf/bitbake.conf +1
-1@@ -698,7 +698,7 @@ PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native" # Pre-build configuration output BUILDCFG_HEADER = "Build Configuration:" -BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU" +BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING DISTRO DISTRO_VERSION MACHINE DEFAULTTUNE TARGET_SYS TUNE_FEATURES TARGET_FPU" BUILDCFG_VARS[type] = "list" BUILDCFG_NEEDEDVARS = "TARGET_ARCH TARGET_OS" BUILDCFG_NEEDEDVARS[type] = "list"
PATCH v4 2/4 xinetd: add Init Script Actions to xinetd script
In reply to Robert YangFrom: Shan Hai <[email protected]>
The chkconfig fails to list the xinetd service because the xinetd lacks Init Script Actions in it, add the actions to fix it.
--- meta/recipes-extended/xinetd/xinetd/xinetd.init | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
meta/recipes-extended/xinetd/xinetd/xinetd.init +11 -1
@@ -1,5 +1,15 @@ #!/bin/sh -# +### BEGIN INIT INFO +# Provides: inetd +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Should-Start: $syslog +# Should-Stop: $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start or stop the xinetd daemon. +### END INIT INFO + # /etc/init.d/xinetd -- script to start and stop xinetd. # Source function library.
Signature · 1 line
2.7.4
PATCH v4 3/4 toolchain-scripts.bbclass: do not extend dependency if extended already
In reply to Robert YangFrom: Kai Kang <[email protected]>
When set MULTILIBS with two or more items, such as for mips64:
MULTILIBS ?= "multilib:lib32 multilib:libn32"
It expands dependency once in mutlib.bbclass, and expand again in toolchain-scripts.bbclass which causes error:
| ERROR: Nothing PROVIDES 'virtual/lib32-libn32-libc'. Close matches: | virtual/libn32-libc | virtual/lib32-libc | virtual/libn32-librpc | ERROR: Required build target 'libn32-meta-ide-support' has no buildable providers. | Missing or unbuildable dependency chain was: ['libn32-meta-ide-support', 'virtual/lib32-libn32-libc']
--- meta/classes/toolchain-scripts.bbclass | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
meta/classes/toolchain-scripts.bbclass +12 -1
@@ -190,7 +190,18 @@ python __anonymous () { deps = "" for dep in (d.getVar('TOOLCHAIN_NEED_CONFIGSITE_CACHE') or "").split(): deps += " %s:do_populate_sysroot" % dep - for variant in (d.getVar('MULTILIB_VARIANTS') or "").split(): + ml_variants = (d.getVar('MULTILIB_VARIANTS') or "").split() + + # don't extend if dep has been extended already + extended = False + for variant in ml_variants: + if dep.startswith(variant) or dep.startswith('virtual/' + variant): + extended = True + break + if extended: + continue + + for variant in ml_variants: clsextend = oe.classextend.ClassExtender(variant, d) newdep = clsextend.extend_name(dep) deps += " %s:do_populate_sysroot" % newdep
Signature · 1 line
2.7.4
PATCH v4 4/4 populate_sdk_ext.bbclass: add SDK_CONF_MANIFEST_EXCLUDE
In reply to Robert YangFrom: Chen Qi <[email protected]>
Add SDK_CONF_MANIFEST_EXCLUDE to enable excluding items in sdk-conf-manifest.
By default, files under conf/ are all added to sdk-conf-manifest, as the manifest file is set to 'conf/*'.
However, there are situations where some configuration files under conf/ directory are not intended to be added to sdk-conf-manifest, thus adding SDK_CONF_MANIFEST_EXCLUDE to enable users to do this.
This variable takes the form of glob matching.
e.g.SDK_CONF_MANIFEST_EXCLUDE = "conf/autogen*"
This would exclude all files under conf/ starting with 'autogen' from sdk-conf-manifest.
--- meta/classes/populate_sdk_ext.bbclass | 7 +++++++ 1 file changed, 7 insertions(+)
meta/classes/populate_sdk_ext.bbclass +7 -0
@@ -479,12 +479,19 @@ python copy_buildsystem () { # sdk_ext_postinst() below) thus the checksum we take here would always # be different. manifest_file_list = ['conf/*'] + esdk_manifest_excludes = (d.getVar('SDK_CONF_MANIFEST_EXCLUDE') or '').split() + esdk_manifest_excludes_list = [] + for exclude_item in esdk_manifest_excludes: + esdk_manifest_excludes_list += glob.glob(os.path.join(baseoutpath, exclude_item)) manifest_file = os.path.join(baseoutpath, 'conf', 'sdk-conf-manifest') with open(manifest_file, 'w') as f: for item in manifest_file_list: for fn in glob.glob(os.path.join(baseoutpath, item)): if fn == manifest_file: continue + if fn in esdk_manifest_excludes_list: + bb.note('Exclude %s since it is in SDK_CONF_MANIFEST_EXCLUDE' % fn) + continue chksum = bb.utils.sha256_file(fn) f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, baseoutpath))) }
Signature · 1 line
2.7.4