[OE-core] [PATCH 1/1 V2] oe/path.py: fix for "Argument list too long"
Fixed when len(TMPDIR) = 410: $ bitbake core-image-sato-sdk [snip] Subprocess output: /bin/sh: /bin/cp: Argument list too long ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Function failed: do_rootfs [snip] This is because "copyhardlinktree(src, dst)" does "cp -afl src/* dst", while src/* is expanded to "src/file1 src/file2, src/file3..." which causes the "Argument list too long", use ./* as src and change cwd in subprocess.check_output() to fix the problem. Signed-off-by: Robert Yang--- meta/lib/oe/path.py | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta/lib/oe/path.py b/meta/lib/oe/path.py index f73fd4a..81e7632 100644 --- a/meta/lib/oe/path.py +++ b/meta/lib/oe/path.py @@ -82,12 +82,14 @@ def copyhardlinktree(src, dst): source = '' if os.path.isdir(src): if len(glob.glob('%s/.??*' % src)) > 0: -source = '%s/.??* ' % src -source = source + '%s/*' % src +source = './.??* ' +source += './*' +s_dir = src else: source = src -cmd = 'cp -afl --preserve=xattr %s %s' % (source, dst) -subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) +s_dir = os.getcwd() +cmd = 'cp -afl --preserve=xattr %s %s' % (source, os.path.realpath(dst)) +subprocess.check_output(cmd, shell=True, cwd=s_dir, stderr=subprocess.STDOUT) else: copytree(src, dst) -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/1 V2] oe/path.py: fix for "Argument list too long"
* V2 Fix oe/path.py:copyhardlinktree() as Ross suggested. * V1 package_manager.py: fix for "Argument list too long" // Robert The following changes since commit 4e412234c37efec42b3962c11d44903c0c58c92e: libpcap: Disable exposed bits of WinPCAP remote capture support (2016-12-13 22:47:35 +) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib rbt/long http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/long Robert Yang (1): oe/path.py: fix for "Argument list too long" meta/lib/oe/path.py | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 7/8] oeqa/sdkext/devtool.py: skip a testcase when no libxml2
Skip test_extend_autotools_recipe_creation when no libxml2 The librdfa requires libxml2 to build, otherwise, it would fail: | configure: error: Package requirements (libxml-2.0 >= 2.6.26) were not met: | | No package 'libxml-2.0' found Signed-off-by: Robert Yang--- meta/lib/oeqa/sdkext/devtool.py | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/lib/oeqa/sdkext/devtool.py b/meta/lib/oeqa/sdkext/devtool.py index f101eb6..6cb8d01 100644 --- a/meta/lib/oeqa/sdkext/devtool.py +++ b/meta/lib/oeqa/sdkext/devtool.py @@ -1,7 +1,7 @@ import shutil import subprocess import urllib.request -from oeqa.oetest import oeSDKExtTest +from oeqa.oetest import oeSDKExtTest, skipModule from oeqa.utils.decorators import * class DevtoolTest(oeSDKExtTest): @@ -66,6 +66,9 @@ class DevtoolTest(oeSDKExtTest): @testcase(1482) @skipUnlessPassed('test_devtool_location') def test_extend_autotools_recipe_creation(self): +# librdfa requires libxml2 +if not oeSDKExtTest.hasLockedSig("libxml2"): +skipModule("No libxml2 package in the eSDK") req = 'https://github.com/rdfa/librdfa' recipe = "bbexample" self._run('devtool add %s %s' % (recipe, req) ) -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 6/8] oeqa/oetest.py: add hasLockedSig()
It checks whether there is a "recipe:do_populate_sysroot:" in locked-sigs.inc, which will help to determine whether the testcase will run or not. Signed-off-by: Robert Yang--- meta/lib/oeqa/oetest.py | 13 + 1 file changed, 13 insertions(+) diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 95d3bf7..d12381d 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -171,6 +171,12 @@ class oeSDKExtTest(oeSDKTest): return subprocess.check_output(". %s > /dev/null;"\ " %s;" % (self.tc.sdkenv, cmd), stderr=subprocess.STDOUT, shell=True, env=env).decode("utf-8") +@classmethod +def hasLockedSig(self, recipe): +if re.search(" " + recipe + ":do_populate_sysroot:", oeTest.tc.locked_sigs): +return True +return False + def getmodule(pos=2): # stack returns a list of tuples containg frame information # First element of the list the is current frame, caller is 1 @@ -708,6 +714,13 @@ class SDKExtTestContext(SDKTestContext): self.sdkextfilesdir = os.path.join(os.path.dirname(os.path.abspath( oeqa.sdkext.__file__)), "files") +self.locked_sig_file = os.path.join(self.sdktestdir, "tc/conf/locked-sigs.inc") +if os.path.exists(self.locked_sig_file): +with open(self.locked_sig_file) as f: +self.locked_sigs = f.read() +else: +bb.fatal("%s not found. Did you build the ext sdk image?\n%s" % e) + def _get_test_namespace(self): if self.cm: return "sdk" -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 0/8] Fixes for eSDK and testsdkext
* V2 1) Fix Paul's comments: - Drop "don't reset when the test is failed" - Update bug id for "oe-publish-sdk: add pyshtables.py to .gitignore" - Split "install multilib targets as populate_sdk does" into 2 commits: "break the long lines" "install multilib SDKs" 2) Use shorter subject lines * V1 Initial version // Robert The following changes since commit 4e412234c37efec42b3962c11d44903c0c58c92e: libpcap: Disable exposed bits of WinPCAP remote capture support (2016-12-13 22:47:35 +) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib rbt/eSDK http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/eSDK Robert Yang (8): populate_sdk_ext.bbclass: break the long lines populate_sdk_ext.bbclass: install multilib SDKs oeqa/sdkext/devtool.py: remove sources before run test cases oe-publish-sdk: make cmd easier to read oe-publish-sdk: add pyshtables.py to .gitignore oeqa/oetest.py: add hasLockedSig() oeqa/sdkext/devtool.py: skip a testcase when no libxml2 oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN meta/classes/populate_sdk_ext.bbclass | 63 --- meta/lib/oe/copy_buildsystem.py | 18 ++ meta/lib/oeqa/oetest.py | 13 meta/lib/oeqa/sdkext/devtool.py | 8 - scripts/oe-publish-sdk| 19 +-- 5 files changed, 98 insertions(+), 23 deletions(-) -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 8/8] oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN
It is helpful we want to exclude a lot of layers. It uses python re, and supports multiple patterns (separated by space). Signed-off-by: Robert Yang--- meta/lib/oe/copy_buildsystem.py | 18 ++ 1 file changed, 18 insertions(+) diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py index 29ac6d4..e5d00c7 100644 --- a/meta/lib/oe/copy_buildsystem.py +++ b/meta/lib/oe/copy_buildsystem.py @@ -1,5 +1,12 @@ # This class should provide easy access to the different aspects of the # buildsystem such as layers, bitbake location, etc. +# +# SDK_LAYERS_EXCLUDE: Layers which will be excluded from SDK layers. +# SDK_LAYERS_EXCLUDE_PATTERN: The simiar to SDK_LAYERS_EXCLUDE, this supports +# python regular expression, use space as separator, +# e.g.: ".*-downloads closed-.*" +# + import stat import shutil @@ -23,8 +30,10 @@ class BuildSystem(object): self.context = context self.layerdirs = [os.path.abspath(pth) for pth in d.getVar('BBLAYERS', True).split()] self.layers_exclude = (d.getVar('SDK_LAYERS_EXCLUDE', True) or "").split() +self.layers_exclude_pattern = d.getVar('SDK_LAYERS_EXCLUDE_PATTERN', True) def copy_bitbake_and_layers(self, destdir, workspace_name=None): +import re # Copy in all metadata layers + bitbake (as repositories) layers_copied = [] bb.utils.mkdirhier(destdir) @@ -36,8 +45,17 @@ class BuildSystem(object): # Exclude layers for layer_exclude in self.layers_exclude: if layer_exclude in layers: +bb.note('Excluded %s from sdk layers since it is in SDK_LAYERS_EXCLUDE' % layer_exclude) layers.remove(layer_exclude) +if self.layers_exclude_pattern: +layers_cp = layers[:] +for pattern in self.layers_exclude_pattern.split(): +for layer in layers_cp: +if re.match(pattern, layer): +bb.note('Excluded %s from sdk layers since matched SDK_LAYERS_EXCLUDE_PATTERN' % layer) +layers.remove(layer) + workspace_newname = workspace_name if workspace_newname: layernames = [os.path.basename(layer) for layer in layers] -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 5/8] oe-publish-sdk: add pyshtables.py to .gitignore
Fixed: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" $ bitbake core-image-minimal -cpopulate_sdk_ext [snip] ERROR: Failed to update metadata as there have been changes made to it. Aborting.\nERROR: Changed files:\nb' M poky/bitbake/lib/bb/pysh/pyshtables.py\\n'\n" [snip] This is because the test case will run twice (environment-setup-core2-64-poky-linux and environment-setup-x86-pokymllib32-linux), it would fail in the second run since pyshtables.py is regenerated in the first run. This file is generated automatically, publish it doesn't make any sense, so add it to .gitignore. [YOCTO #10796] Signed-off-by: Robert Yang--- scripts/oe-publish-sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/oe-publish-sdk b/scripts/oe-publish-sdk index d95c623..e2b1b95 100755 --- a/scripts/oe-publish-sdk +++ b/scripts/oe-publish-sdk @@ -116,7 +116,7 @@ def publish(args): cmd_common = "if [ ! -e .git ]; then" cmd_common += "git init .;" cmd_common += "mv .git/hooks/post-update.sample .git/hooks/post-update;" -cmd_common += "echo '*.pyc\n*.pyo' > .gitignore;" +cmd_common += "echo '*.pyc\n*.pyo\npyshtables.py' > .gitignore;" cmd_common += "fi;" cmd_common += "git add -A .;" cmd_common += "git config user.email 'o...@oe.oe' && git config user.name 'OE' && git commit -q -m 'init repo' || true;" -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 4/8] oe-publish-sdk: make cmd easier to read
The command was too long to read and maintain. Signed-off-by: Robert Yang--- scripts/oe-publish-sdk | 19 +-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/scripts/oe-publish-sdk b/scripts/oe-publish-sdk index 4fe8974..d95c623 100755 --- a/scripts/oe-publish-sdk +++ b/scripts/oe-publish-sdk @@ -113,10 +113,25 @@ def publish(args): return ret # Setting up the git repo +cmd_common = "if [ ! -e .git ]; then" +cmd_common += "git init .;" +cmd_common += "mv .git/hooks/post-update.sample .git/hooks/post-update;" +cmd_common += "echo '*.pyc\n*.pyo' > .gitignore;" +cmd_common += "fi;" +cmd_common += "git add -A .;" +cmd_common += "git config user.email 'o...@oe.oe' && git config user.name 'OE' && git commit -q -m 'init repo' || true;" if not is_remote: -cmd = 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; mv .git/hooks/post-update.sample .git/hooks/post-update; echo "*.pyc\n*.pyo" > .gitignore; fi; git add -A .; git config user.email "o...@oe.oe" && git config user.name "OE" && git commit -q -m "init repo" || true; git update-server-info' % (destination, destination) +cmd = "set -e;" +cmd += "mkdir -p %s/layers;" % destination +cmd += "cd %s/layers;" % destination +cmd += cmd_common +cmd += "git update-server-info" else: -cmd = "ssh %s 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; mv .git/hooks/post-update.sample .git/hooks/post-update; echo '*.pyc\n*.pyo' > .gitignore; fi; git add -A .; git config user.email 'o...@oe.oe' && git config user.name 'OE' && git commit -q -m \"init repo\" || true; git update-server-info'" % (host, destdir, destdir) +cmd = "ssh %s 'set -e;" % host +cmd += "mkdir -p %s/layers;" % destdir +cmd += "cd %s/layers;" % destdir +cmd += cmd_common +cmd += "git update-server-info'" ret = subprocess.call(cmd, shell=True) if ret == 0: logger.info('SDK published successfully') -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 3/8] oeqa/sdkext/devtool.py: remove sources before run test cases
Fixed: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" $ bitbake core-image-minimal -cpopulate_sdk_ext [snip] ERROR: Source tree path /path/to/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testsdkext/tc/workspace/sources/v4l2loopback-driver already exists and is not empty\n' [snip] This is because the test case will run twice (environment-setup-core2-64-poky-linux and environment-setup-x86-pokymllib32-linux), it would fail in the second run, 'devtool reset' can not remove sources, so remove it before running test cases. [YOCTO #10647] Signed-off-by: Robert Yang--- meta/lib/oeqa/sdkext/devtool.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/lib/oeqa/sdkext/devtool.py b/meta/lib/oeqa/sdkext/devtool.py index 65f41f6..f101eb6 100644 --- a/meta/lib/oeqa/sdkext/devtool.py +++ b/meta/lib/oeqa/sdkext/devtool.py @@ -15,6 +15,9 @@ class DevtoolTest(oeSDKExtTest): self.myapp_cmake_dst = os.path.join(self.tc.sdktestdir, "myapp_cmake") shutil.copytree(self.myapp_cmake_src, self.myapp_cmake_dst) +# Clean sources dir to make "git clone" can run again +shutil.rmtree(os.path.join(self.tc.sdktestdir, "tc/workspace/sources"), True) + def _test_devtool_build(self, directory): self._run('devtool add myapp %s' % directory) try: -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 1/8] populate_sdk_ext.bbclass: break the long lines
Make it easier to read and maintain. [YOCTO #10647] Signed-off-by: Robert Yang--- meta/classes/populate_sdk_ext.bbclass | 24 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 3c3a73c..adef96d 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -567,7 +567,13 @@ sdk_ext_postinst() { printf "\nExtracting buildtools...\n" cd $target_sdk_dir env_setup_script="$target_sdk_dir/environment-setup-${REAL_MULTIMACH_TARGET_SYS}" - printf "buildtools\ny" | ./${SDK_BUILDTOOLS_INSTALLER} > buildtools.log || { printf 'ERROR: buildtools installation failed:\n' ; cat buildtools.log ; echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; } + ./${SDK_BUILDTOOLS_INSTALLER} -d buildtools -y > buildtools.log + if [ $? -ne 0 ]; then + printf 'ERROR: buildtools installation failed:\n' + cat buildtools.log + echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script + exit 1 + fi # Delete the buildtools tar file since it won't be used again rm -f ./${SDK_BUILDTOOLS_INSTALLER} @@ -588,7 +594,9 @@ sdk_ext_postinst() { echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script # Warn if trying to use external bitbake and the ext SDK together - echo "(which bitbake > /dev/null 2>&1 && echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || true" >> $env_setup_script + echo "(which bitbake > /dev/null 2>&1 && \ + echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || \ + true" >> $env_setup_script if [ "$prepare_buildsystem" != "no" ]; then printf "Preparing build system...\n" @@ -596,8 +604,16 @@ sdk_ext_postinst() { # current working directory when first ran, nor will it set $1 when # sourcing a script. That is why this has to look so ugly. LOGFILE="$target_sdk_dir/preparing_build_system.log" - sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; } - rm $target_sdk_dir/ext-sdk-prepare.py + sh -c ". buildtools/environment-setup* > $LOGFILE && \ + cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && \ + set $target_sdk_dir && \ + . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && \ + python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" + if [ $? -ne ]; then + echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script + exit 1 + rm $target_sdk_dir/ext-sdk-prepare.py + fi fi echo done } -- 2.10.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 2/8] populate_sdk_ext.bbclass: install multilib SDKs
Fixed: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" IMAGE_CLASSES += "testimage" $ bitbake core-image-minimal -cpopulate_sdk_ext $ bitbake core-image-minimal -ctestsdkext [snip] Testing /buildarea/lyang1/test_po/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testsdkext//tc/environment-setup-x86-pokymllib32-linux test_cvs (oeqa.sdk.buildcvs.BuildCvsTest) ... FAIL [snip] It was failed because no lib32 toolchains. These fixes include: * Set SDK_TARGETS correctly * Return multilib depends in get_ext_sdk_depends() * Write information to all environment-setup-* scripts. [YOCTO #10647] Signed-off-by: Robert Yang--- meta/classes/populate_sdk_ext.bbclass | 49 --- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index adef96d..840e04d 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -39,7 +39,7 @@ SDK_LOCAL_CONF_BLACKLIST ?= "CONF_VERSION \ SDK_INHERIT_BLACKLIST ?= "buildhistory icecc" SDK_UPDATE_URL ?= "" -SDK_TARGETS ?= "${PN}" +SDK_TARGETS ?= "${@multilib_pkg_extend(d, d.getVar('BPN', True))}" def get_sdk_install_targets(d, images_only=False): sdk_install_targets = '' @@ -566,12 +566,14 @@ SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_preinst}" sdk_ext_postinst() { printf "\nExtracting buildtools...\n" cd $target_sdk_dir - env_setup_script="$target_sdk_dir/environment-setup-${REAL_MULTIMACH_TARGET_SYS}" + env_setup_scripts="`ls $target_sdk_dir/environment-setup-*`" ./${SDK_BUILDTOOLS_INSTALLER} -d buildtools -y > buildtools.log if [ $? -ne 0 ]; then printf 'ERROR: buildtools installation failed:\n' cat buildtools.log - echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script + for e in $env_setup_scripts; do + echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $e + done exit 1 fi @@ -580,23 +582,25 @@ sdk_ext_postinst() { # We don't need the log either since it succeeded rm -f buildtools.log - # Make sure when the user sets up the environment, they also get - # the buildtools-tarball tools in their path. - echo ". $target_sdk_dir/buildtools/environment-setup*" >> $env_setup_script + for e in $env_setup_scripts; do + # Make sure when the user sets up the environment, they also get + # the buildtools-tarball tools in their path. + echo ". $target_sdk_dir/buildtools/environment-setup*" >> $e + # Allow bitbake environment setup to be ran as part of this sdk. + echo "export OE_SKIP_SDK_CHECK=1" >> $e - # Allow bitbake environment setup to be ran as part of this sdk. - echo "export OE_SKIP_SDK_CHECK=1" >> $env_setup_script + # A bit of another hack, but we need this in the path only for devtool + # so put it at the end of $PATH. + echo "export PATH=$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH" >> $e - # A bit of another hack, but we need this in the path only for devtool - # so put it at the end of $PATH. - echo "export PATH=$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH" >> $env_setup_script + echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $e - echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script + # Warn if trying to use external bitbake and the ext SDK together + echo "(which bitbake > /dev/null 2>&1 && \ + echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || \ + true" >> $e + done - # Warn if trying to use external bitbake and the ext SDK together - echo "(which bitbake > /dev/null 2>&1 && \ - echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || \ - true" >> $env_setup_script if [ "$prepare_buildsystem" != "no" ]; then printf "Preparing build system...\n" @@ -610,7 +614,9 @@ sdk_ext_postinst() { .
[OE-core] [PATCH v2] libxkbcommon: 0.6.1 -> 0.7.0
1)Upgrade libxkbcommon from 0.6.1 to 0.7.0. 2)License checksum changed,since the copyright years were updated. Signed-off-by: Huang Qiyu--- .../xorg-lib/{libxkbcommon_0.6.1.bb => libxkbcommon_0.7.0.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename meta/recipes-graphics/xorg-lib/{libxkbcommon_0.6.1.bb => libxkbcommon_0.7.0.bb} (74%) diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb similarity index 74% rename from meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb rename to meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb index fc08109..a6836d8 100644 --- a/meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb +++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb @@ -2,15 +2,15 @@ SUMMARY = "Generic XKB keymap library" DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \ processes a reduced subset of keymaps as defined by the XKB specification." HOMEPAGE = "http://www.xkbcommon.org; -LIC_FILES_CHKSUM = "file://LICENSE;md5=09457b156e3155972abebc0cb434" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" LICENSE = "MIT & MIT-style" DEPENDS = "util-macros flex-native bison-native" SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz; -SRC_URI[md5sum] = "67a8f322b5fa32352272e811bb90dd73" -SRC_URI[sha256sum] = "5b0887b080b42169096a61106661f8d35bae783f8b6c58f97ebcd3af83ea8760" +SRC_URI[md5sum] = "61ba550fc529ea4d6f9faa2cad62c95f" +SRC_URI[sha256sum] = "09351592312d67b438655f54da5b67853026662c4a57e6be4d225f04a9989798" UPSTREAM_CHECK_URI = "http://xkbcommon.org/; -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] libxkbcommon: 0.6.1 -> 0.7.0
On 12/14/2016 07:34 PM, Huang Qiyu wrote: 1)Upgrade libxkbcommon from 0.6.1 to 0.7.0. 2)License checksum changes are not related to license changes. You need add what is changed, for example, year or space ? // Robert Signed-off-by: Huang Qiyu--- .../xorg-lib/{libxkbcommon_0.6.1.bb => libxkbcommon_0.7.0.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename meta/recipes-graphics/xorg-lib/{libxkbcommon_0.6.1.bb => libxkbcommon_0.7.0.bb} (74%) diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb similarity index 74% rename from meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb rename to meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb index fc08109..a6836d8 100644 --- a/meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb +++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb @@ -2,15 +2,15 @@ SUMMARY = "Generic XKB keymap library" DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \ processes a reduced subset of keymaps as defined by the XKB specification." HOMEPAGE = "http://www.xkbcommon.org; -LIC_FILES_CHKSUM = "file://LICENSE;md5=09457b156e3155972abebc0cb434" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" LICENSE = "MIT & MIT-style" DEPENDS = "util-macros flex-native bison-native" SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz; -SRC_URI[md5sum] = "67a8f322b5fa32352272e811bb90dd73" -SRC_URI[sha256sum] = "5b0887b080b42169096a61106661f8d35bae783f8b6c58f97ebcd3af83ea8760" +SRC_URI[md5sum] = "61ba550fc529ea4d6f9faa2cad62c95f" +SRC_URI[sha256sum] = "09351592312d67b438655f54da5b67853026662c4a57e6be4d225f04a9989798" UPSTREAM_CHECK_URI = "http://xkbcommon.org/; -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] libxkbcommon: 0.6.1 -> 0.7.0
1)Upgrade libxkbcommon from 0.6.1 to 0.7.0. 2)License checksum changes are not related to license changes. Signed-off-by: Huang Qiyu--- .../xorg-lib/{libxkbcommon_0.6.1.bb => libxkbcommon_0.7.0.bb} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename meta/recipes-graphics/xorg-lib/{libxkbcommon_0.6.1.bb => libxkbcommon_0.7.0.bb} (74%) diff --git a/meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb b/meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb similarity index 74% rename from meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb rename to meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb index fc08109..a6836d8 100644 --- a/meta/recipes-graphics/xorg-lib/libxkbcommon_0.6.1.bb +++ b/meta/recipes-graphics/xorg-lib/libxkbcommon_0.7.0.bb @@ -2,15 +2,15 @@ SUMMARY = "Generic XKB keymap library" DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \ processes a reduced subset of keymaps as defined by the XKB specification." HOMEPAGE = "http://www.xkbcommon.org; -LIC_FILES_CHKSUM = "file://LICENSE;md5=09457b156e3155972abebc0cb434" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" LICENSE = "MIT & MIT-style" DEPENDS = "util-macros flex-native bison-native" SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz; -SRC_URI[md5sum] = "67a8f322b5fa32352272e811bb90dd73" -SRC_URI[sha256sum] = "5b0887b080b42169096a61106661f8d35bae783f8b6c58f97ebcd3af83ea8760" +SRC_URI[md5sum] = "61ba550fc529ea4d6f9faa2cad62c95f" +SRC_URI[sha256sum] = "09351592312d67b438655f54da5b67853026662c4a57e6be4d225f04a9989798" UPSTREAM_CHECK_URI = "http://xkbcommon.org/; -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] glibc: add -fno-builtin-strlen when not using -O2
> -Original Message- > From: Andre McCurdy [mailto:armccu...@gmail.com] > Sent: Tuesday, December 13, 2016 5:17 PM > To: Huang, Jie (Jackie) > Cc: Khem Raj; Patches and discussions about the oe-core layer > Subject: Re: [OE-core] [PATCH] glibc: add -fno-builtin-strlen when not using > -O2 > > On Mon, Dec 12, 2016 at 9:14 PM, Huang, Jie (Jackie) >wrote: > >> From: Andre McCurdy [mailto:armccu...@gmail.com] > >> For reference, here's the patch I've been using. It's a slightly more > >> generic fix than the one in the KDE bug report. > > > > Thanks, It's a better patch and I will take it and send as v2 of this issue > > if you're > > not going to send it yourself, is it fine for you and could you provide > > extra info > > for the patch header like, upstream-status, written by or Signed-off-by? > > Sure. I forget why I didn't submit this at the time. The full patch is: Thanks, I rebased the patch since valgrind updated and sent v2 for this issue: [OE-core] [v2][PATCH] valgrind: make ld-XXX.so strlen intercept optional Thanks, Jackie > > From d34e2a50ca5493f5a0ce9ccad83a36ac33689266 Mon Sep 17 00:00:00 2001 > From: Andre McCurdy > Date: Fri, 12 Feb 2016 18:22:12 -0800 > Subject: [PATCH] make ld-XXX.so strlen intercept optional > > Hack: Depending on how glibc was compiled (e.g. optimised for size or > built with _FORTIFY_SOURCE enabled) the strlen symbol might not be > found in ld-XXX.so. Therefore although we should still try to > intercept it, don't make it mandatory to do so. > > Upstream-Status: Inappropriate > > Signed-off-by: Andre McCurdy > --- > coregrind/m_redir.c | 13 - > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c > index 7e4df8d..640a346 100644 > --- a/coregrind/m_redir.c > +++ b/coregrind/m_redir.c > @@ -1220,7 +1220,18 @@ static void add_hardwired_spec (const HChar* > sopatt, const HChar* fnpatt, > spec->from_fnpatt = CONST_CAST(HChar *,fnpatt); > spec->to_addr = to_addr; > spec->isWrap = False; > - spec->mandatory = mandatory; > + > + /* Hack: Depending on how glibc was compiled (e.g. optimised for size or > + built with _FORTIFY_SOURCE enabled) the strlen symbol might not be > found. > + Therefore although we should still try to intercept it, don't make it > + mandatory to do so. We over-ride "mandatory" here to avoid the need to > + patch the many different architecture specific callers to > + add_hardwired_spec(). */ > + if (0==VG_(strcmp)("strlen", fnpatt)) > + spec->mandatory = NULL; > + else > + spec->mandatory = mandatory; > + > /* VARIABLE PARTS */ > spec->mark= False; /* not significant */ > spec->done= False; /* not significant */ > -- > 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/8] populate_sdk_ext.bbclass: install multilib targets as populate_sdk does
On Wed, 14 Dec 2016 10:25:36 Robert Yang wrote: > After I looked into the code again, these changes are related, > so that I can't split them into 2, please see my comments inline. I've replied inline. > On 12/13/2016 12:55 PM, Paul Eggleton wrote: > > There are a bunch of changes in here that don't relate to the multilib fix > > - details below. > > > > On Wed, 16 Nov 2016 22:19:30 Robert Yang wrote: > >> Fixed: > >> MACHINE = "qemux86-64" > >> require conf/multilib.conf > >> MULTILIBS = "multilib:lib32" > >> DEFAULTTUNE_virtclass-multilib-lib32 = "x86" > >> > >> $ bitbake core-image-minimal -cpopulate_sdk_ext > >> [snip] > >> Testing > >> /buildarea/lyang1/test_po/tmp/work/qemux86_64-poky-linux/core-image-minim > >> al > >> /1.0-r0/testsdkext//tc/environment-setup-x86-pokymllib32-linux test_cvs > >> (oeqa.sdk.buildcvs.BuildCvsTest) ... FAIL > >> [snip] > >> > >> It was failed because no lib32 toolchains. > >> > >> The fixes include: > >> * Set SDK_TARGETS correctly > >> * Return multilib depends in get_ext_sdk_depends() > >> * Write information to all environment-setup-* scripts. > >> > >> [YOCTO #10647] > >> > >> Signed-off-by: Robert Yang> >> --- > >> > >> meta/classes/populate_sdk_ext.bbclass | 61 > >> > >> ++- 1 file changed, 38 insertions(+), 23 > >> deletions(-) > >> > >> diff --git a/meta/classes/populate_sdk_ext.bbclass > >> b/meta/classes/populate_sdk_ext.bbclass index 26b5ca6..ce9c40a 100644 > >> --- a/meta/classes/populate_sdk_ext.bbclass > >> +++ b/meta/classes/populate_sdk_ext.bbclass > >> @@ -39,7 +39,7 @@ SDK_LOCAL_CONF_BLACKLIST ?= "CONF_VERSION \ > >> > >> SDK_INHERIT_BLACKLIST ?= "buildhistory icecc" > >> SDK_UPDATE_URL ?= "" > >> > >> -SDK_TARGETS ?= "${PN}" > >> +SDK_TARGETS ?= "${@multilib_pkg_extend(d, d.getVar('BPN', True))}" > >> > >> def get_sdk_install_targets(d, images_only=False): > >> sdk_install_targets = '' > >> > >> @@ -562,38 +562,52 @@ SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext = > >> "${sdk_ext_preinst}" sdk_ext_postinst() { > >> > >>printf "\nExtracting buildtools...\n" > >>cd $target_sdk_dir > >> > >> - env_setup_script="$target_sdk_dir/environment- > > > > setup-${REAL_MULTIMACH_TARGE > > > >> T_SYS}" > >> - printf "buildtools\ny" | ./${SDK_BUILDTOOLS_INSTALLER} > > >> buildtools.log || { printf 'ERROR: buildtools installation failed:\n' ; > >> cat buildtools.log ; echo "printf 'ERROR: this SDK was not fully > >> installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; } > >> + env_setup_scripts="`ls $target_sdk_dir/environment-setup-*`" > >> + ./${SDK_BUILDTOOLS_INSTALLER} -d buildtools -y > buildtools.log > >> + if [ $? -ne 0 ]; then > >> + echo 'ERROR: buildtools installation failed:' > >> + cat buildtools.log > >> + for e in $env_setup_scripts; do > >> + echo "echo 'ERROR: this SDK was not fully installed and > >> needs > >> reinstalling'" >> $e + done > >> + exit 1 > >> + fi > > > > This change isn't entirely related to the multilib changes. > > The old code only considers one env_setup_script, but there are multiple > ones now, so they are related. Yes, I understand that. What I meant was, you've unrolled the single line *and* added handling for multiple env setup scripts - both are good changes but I'd like to see them in separate patches so that it's clear what's being done. > >># dash which is /bin/sh on Ubuntu will not preserve the > >># current working directory when first ran, nor will it set $1 > >>when > >># sourcing a script. That is why this has to look so ugly. > >>LOGFILE="$target_sdk_dir/preparing_build_system.log" > >> > >> - sh -c ". buildtools/environment-setup* > $LOGFILE && cd > >> $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set > >> $target_sdk_dir > >> && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> > >> $LOGFILE > >> && python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE > >> '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not > >> fully > >> installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; } > >> - rm $target_sdk_dir/ext-sdk-prepare.py > >> + sh -c ". buildtools/environment-setup* > $LOGFILE && cd > >> $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set > >> $target_sdk_dir > >> && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> > >> $LOGFILE > >> && python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE > >> '${SDK_INSTALL_TARGETS}'" +if [ $? -ne 0 ]; then > >> + for e in $env_setup_scripts; do > >> + echo "echo 'ERROR: this SDK was not fully > >> installed and > >> needs reinstalling'" >> $e + done > >> + exit 1 > >> + fi > >> + rm -f
[OE-core] [v2][PATCH] valgrind: make ld-XXX.so strlen intercept optional
From: Jackie HuangHack: Depending on how glibc was compiled (e.g. optimised for size or built with _FORTIFY_SOURCE enabled) the strlen symbol might not be found in ld-XXX.so. Therefore although we should still try to intercept it, don't make it mandatory to do so. Signed-off-by: Jackie Huang --- ...-make-ld-XXX.so-strlen-intercept-optional.patch | 45 ++ meta/recipes-devtools/valgrind/valgrind_3.12.0.bb | 1 + 2 files changed, 46 insertions(+) create mode 100644 meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch diff --git a/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch b/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch new file mode 100644 index 000..d04297d --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch @@ -0,0 +1,45 @@ +From 005bd11809a1ce65e9f2c28e884354a4741650b9 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Tue, 13 Dec 2016 11:29:55 +0800 +Subject: [PATCH] make ld-XXX.so strlen intercept optional + +Hack: Depending on how glibc was compiled (e.g. optimised for size or +built with _FORTIFY_SOURCE enabled) the strlen symbol might not be +found in ld-XXX.so. Therefore although we should still try to +intercept it, don't make it mandatory to do so. + +Upstream-Status: Inappropriate + +Signed-off-by: Andre McCurdy +Signed-off-by: Jackie Huang +--- + coregrind/m_redir.c | 13 - + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c +index ff35009..d7d6816 100644 +--- a/coregrind/m_redir.c b/coregrind/m_redir.c +@@ -1275,7 +1275,18 @@ static void add_hardwired_spec (const HChar* sopatt, const HChar* fnpatt, +spec->to_addr = to_addr; +spec->isWrap = False; +spec->isGlobal= False; +- spec->mandatory = mandatory; ++ ++ /* Hack: Depending on how glibc was compiled (e.g. optimised for size or ++ built with _FORTIFY_SOURCE enabled) the strlen symbol might not be found. ++ Therefore although we should still try to intercept it, don't make it ++ mandatory to do so. We over-ride "mandatory" here to avoid the need to ++ patch the many different architecture specific callers to ++ add_hardwired_spec(). */ ++ if (0==VG_(strcmp)("strlen", fnpatt)) ++ spec->mandatory = NULL; ++ else ++ spec->mandatory = mandatory; ++ +/* VARIABLE PARTS */ +spec->mark= False; /* not significant */ +spec->done= False; /* not significant */ +-- +1.9.1 + diff --git a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb index 233ff47..5c3002f 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.12.0.bb @@ -22,6 +22,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \ file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \ file://avoid-neon-for-targets-which-don-t-support-it.patch \ + file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \ " SRC_URI_append_libc-musl = "\ file://0001-fix-build-for-musl-targets.patch \ -- 2.8.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/8] populate_sdk_ext.bbclass: install multilib targets as populate_sdk does
Hi Paul, After I looked into the code again, these changes are related, so that I can't split them into 2, please see my comments inline. On 12/13/2016 12:55 PM, Paul Eggleton wrote: Hi Robert, There are a bunch of changes in here that don't relate to the multilib fix - details below. On Wed, 16 Nov 2016 22:19:30 Robert Yang wrote: Fixed: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" $ bitbake core-image-minimal -cpopulate_sdk_ext [snip] Testing /buildarea/lyang1/test_po/tmp/work/qemux86_64-poky-linux/core-image-minimal /1.0-r0/testsdkext//tc/environment-setup-x86-pokymllib32-linux test_cvs (oeqa.sdk.buildcvs.BuildCvsTest) ... FAIL [snip] It was failed because no lib32 toolchains. The fixes include: * Set SDK_TARGETS correctly * Return multilib depends in get_ext_sdk_depends() * Write information to all environment-setup-* scripts. [YOCTO #10647] Signed-off-by: Robert Yang--- meta/classes/populate_sdk_ext.bbclass | 61 ++- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 26b5ca6..ce9c40a 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -39,7 +39,7 @@ SDK_LOCAL_CONF_BLACKLIST ?= "CONF_VERSION \ SDK_INHERIT_BLACKLIST ?= "buildhistory icecc" SDK_UPDATE_URL ?= "" -SDK_TARGETS ?= "${PN}" +SDK_TARGETS ?= "${@multilib_pkg_extend(d, d.getVar('BPN', True))}" def get_sdk_install_targets(d, images_only=False): sdk_install_targets = '' @@ -562,38 +562,52 @@ SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_preinst}" sdk_ext_postinst() { printf "\nExtracting buildtools...\n" cd $target_sdk_dir - env_setup_script="$target_sdk_dir/environment- setup-${REAL_MULTIMACH_TARGE T_SYS}" - printf "buildtools\ny" | ./${SDK_BUILDTOOLS_INSTALLER} > buildtools.log || { printf 'ERROR: buildtools installation failed:\n' ; cat buildtools.log ; echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; } + env_setup_scripts="`ls $target_sdk_dir/environment-setup-*`" + ./${SDK_BUILDTOOLS_INSTALLER} -d buildtools -y > buildtools.log + if [ $? -ne 0 ]; then + echo 'ERROR: buildtools installation failed:' + cat buildtools.log + for e in $env_setup_scripts; do + echo "echo 'ERROR: this SDK was not fully installed and needs reinstalling'" >> $e + done + exit 1 + fi This change isn't entirely related to the multilib changes. The old code only considers one env_setup_script, but there are multiple ones now, so they are related. # Delete the buildtools tar file since it won't be used again rm -f ./${SDK_BUILDTOOLS_INSTALLER} # We don't need the log either since it succeeded rm -f buildtools.log - # Make sure when the user sets up the environment, they also get - # the buildtools-tarball tools in their path. - echo ". $target_sdk_dir/buildtools/environment-setup*" >> $env_setup_script - - # Allow bitbake environment setup to be ran as part of this sdk. - echo "export OE_SKIP_SDK_CHECK=1" >> $env_setup_script + for e in $env_setup_scripts; do + # Make sure when the user sets up the environment, they also get + # the buildtools-tarball tools in their path. + echo ". $target_sdk_dir/buildtools/environment-setup*" >> $e - # A bit of another hack, but we need this in the path only for devtool - # so put it at the end of $PATH. - echo "export PATH=$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH" >> $env_setup_script + # Allow bitbake environment setup to be ran as part of this sdk. + echo "export OE_SKIP_SDK_CHECK=1" >> $e - echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script - - # Warn if trying to use external bitbake and the ext SDK together - echo "(which bitbake > /dev/null 2>&1 && echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || true" >> $env_setup_script + # A bit of another hack, but we need this in the path only for devtool +# so put it at the end of $PATH. + echo "export PATH=$target_sdk_dir/sysroots/${SDK_SYS}${bindir_nativesdk}:\$PATH" >> $e + echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $e + #
Re: [OE-core] [PATCH] selftest/wic: extending test coverage for WIC script options
Hi Ed, Thank you for your response and suggestions. Below are my comments. > -Original Message- > From: Ed Bartosh [mailto:ed.bart...@linux.intel.com] > Sent: Tuesday, December 13, 2016 2:17 PM > To: Jair Gonzalez> Cc: openembedded-core@lists.openembedded.org > Subject: Re: [OE-core] [PATCH] selftest/wic: extending test coverage for WIC > script options > > Hi Jair, > > Thank you for the patch! My comments are below. > > On Tue, Dec 13, 2016 at 09:53:27AM -0600, Jair Gonzalez wrote: > > The previous WIC script selftest didn't cover all of its command line > > options. The following test cases were added to complete covering > > them: > > > > 1552 Test wic --version > > 1553 Test wic help create > > 1554 Test wic help list > > 1555 Test wic list images > > 1556 Test wic list source-plugins > > 1557 Test wic listed images help > > 1558 Test wic debug, skip-build-check and build_rootfs > > 1559 Test image vars directory selection > > 1562 Test alternate output directory > > > In addition, the following test cases were assigned an ID number on > > Testopia: > > > > 1560 Test creation of systemd-bootdisk image > > 1561 Test creation of sdimage-bootpart image > > > > Finally, part of the test methods were rearranged to group them by > > functionality, and some cleanup was made to improve the code's > > compliance with PEP8 style guide. > > I'd suggest to split this patch to at least 3 patches: > - new testcases (fix for YOCTO 10594) > - assigning id numbers > - removing WKS_FILE = "wic-image-minimal" from config > - code cleanup Agreed. I'll split it and submit the new patches. > > > Fixes [YOCTO 10594] > > > > Signed-off-by: Jair Gonzalez > > > > --- > > meta/lib/oeqa/selftest/wic.py | 246 > > +- > > 1 file changed, 174 insertions(+), 72 deletions(-) > > > > diff --git a/meta/lib/oeqa/selftest/wic.py > > b/meta/lib/oeqa/selftest/wic.py index e652fad..46bfb94 100644 > > --- a/meta/lib/oeqa/selftest/wic.py > > +++ b/meta/lib/oeqa/selftest/wic.py > > @@ -37,13 +37,13 @@ class Wic(oeSelfTest): > > """Wic test class.""" > > > > resultdir = "/var/tmp/wic/build/" > > +alternate_resultdir = "/var/tmp/wic/build/alt/" > > image_is_ready = False > > > > def setUpLocal(self): > > """This code is executed before each test method.""" > > self.write_config('IMAGE_FSTYPES += " hddimg"\n' > > - 'MACHINE_FEATURES_append = " efi"\n' > > - 'WKS_FILE = "wic-image-minimal"\n') > I like the change, but it should be also in a separate patch. Agreed. > > > + 'MACHINE_FEATURES_append = " efi"\n') > > > > # Do this here instead of in setUpClass as the base setUp does some > > # clean up which can result in the native tools built earlier > > in @@ -56,10 +56,16 @@ class Wic(oeSelfTest): > > > > rmtree(self.resultdir, ignore_errors=True) > > > > +@testcase(1552) > > +def test_version(self): > > +"""Test wic --version""" > > +self.assertEqual(0, runCmd('wic --version').status) > > + > > @testcase(1208) > > def test_help(self): > > -"""Test wic --help""" > > +"""Test wic --help and wic -h""" > > self.assertEqual(0, runCmd('wic --help').status) > > +self.assertEqual(0, runCmd('wic -h').status) > > @testcase(1209) > > def test_createhelp(self): > > @@ -71,19 +77,74 @@ class Wic(oeSelfTest): > > """Test wic list --help""" > > self.assertEqual(0, runCmd('wic list --help').status) > > > > +@testcase(1553) > > +def test_help_create(self): > > +"""Test wic help create""" > > +self.assertEqual(0, runCmd('wic help create').status) > > + > > +@testcase(1554) > > +def test_help_list(self): > > +"""Test wic help list""" > > +self.assertEqual(0, runCmd('wic help list').status) > > + > > +@testcase(1215) > > +def test_help_overview(self): > > +"""Test wic help overview""" > > +self.assertEqual(0, runCmd('wic help overview').status) > > + > > +@testcase(1216) > > +def test_help_plugins(self): > > +"""Test wic help plugins""" > > +self.assertEqual(0, runCmd('wic help plugins').status) > > + > > +@testcase(1217) > > +def test_help_kickstart(self): > > +"""Test wic help kickstart""" > > +self.assertEqual(0, runCmd('wic help kickstart').status) > > + > > +@testcase(1555) > > +def test_list_images(self): > > +"""Test wic list images""" > > +self.assertEqual(0, runCmd('wic list images').status) > > + > > +@testcase(1556) > > +def test_list_source_plugins(self): > > +"""Test wic list source-plugins""" > > +self.assertEqual(0, runCmd('wic list source-plugins').status) > > + > > +@testcase(1557) > >
[OE-core] [PATCH v3] uninative: rebuild uninative for gcc 4.8 and 4.9
Some c++ libraries fail to build if uninative is built with gcc 5.x and host gcc version is either 4.8 or 4.9. The issue should be solved by making separate uninative sstate directory structure sstate-cache/universal- for host gcc versions 4.8 and 4.9. This causes rebuilds of uninative if host gcc is either 4.8 or 4.9 and it doesn't match gcc version used to build uninative. [YOCTO #10441] Signed-off-by: Ed Bartosh--- meta/classes/populate_sdk_ext.bbclass | 5 +++-- meta/classes/uninative.bbclass| 2 +- meta/lib/oe/utils.py | 14 ++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 3c3a73c..1affa9d 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -374,8 +374,9 @@ python copy_buildsystem () { sstate_out = baseoutpath + '/sstate-cache' bb.utils.remove(sstate_out, True) -# uninative.bbclass sets NATIVELSBSTRING to 'universal' -fixedlsbstring = 'universal' + +# uninative.bbclass sets NATIVELSBSTRING to 'universal%s' % oe.utils.host_gcc_version(d) +fixedlsbstring = "universal%s" % oe.utils.host_gcc_version(d) sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN', True) == '1') sdk_ext_type = d.getVar('SDK_EXT_TYPE', True) diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass index 9242320..11cbf9b 100644 --- a/meta/classes/uninative.bbclass +++ b/meta/classes/uninative.bbclass @@ -88,7 +88,7 @@ def enable_uninative(d): loader = d.getVar("UNINATIVE_LOADER", True) if os.path.exists(loader): bb.debug(2, "Enabling uninative") -d.setVar("NATIVELSBSTRING", "universal") +d.setVar("NATIVELSBSTRING", "universal%s" % oe.utils.host_gcc_version(d)) d.appendVar("SSTATEPOSTUNPACKFUNCS", " uninative_changeinterp") d.prependVar("PATH", "${STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:") diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index d6545b1..2b095f1 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py @@ -230,6 +230,20 @@ def format_pkg_list(pkg_dict, ret_format=None): return '\n'.join(output) +def host_gcc_version(d): +compiler = d.getVar("BUILD_CC", True) +retval, output = getstatusoutput("%s --version" % compiler) +if retval: +bb.fatal("Error running %s --version: %s" % (compiler, output)) + +import re +match = re.match(".* (\d\.\d)\.\d.*", output.split('\n')[0]) +if not match: +bb.fatal("Can't get compiler version from %s --version output" % compiler) + +version = match.group(1) +return "-%s" % version if version in ("4.8", "4.9") else "" + # # Python 2.7 doesn't have threaded pools (just multiprocessing) # so implement a version here -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] masterimage: ignore return status in case of ssh shutdown command
From: Leonardo SandovalThere are reported cases (see bugzilla entry below) where ssh process is killed by the shutdown command it runs, thus the ssh's return status is non-zero. To ignore the ssh return status, a context manager decorador is use together with the 'with' statement, ignoring the status of any command run inside the later body. [YOCTO #10101] Signed-off-by: Leonardo Sandoval --- meta/lib/oeqa/controllers/masterimage.py | 17 +++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/controllers/masterimage.py b/meta/lib/oeqa/controllers/masterimage.py index 9ce3bf8..1054fb4 100644 --- a/meta/lib/oeqa/controllers/masterimage.py +++ b/meta/lib/oeqa/controllers/masterimage.py @@ -16,6 +16,7 @@ import bb import traceback import time import subprocess +from contextlib import contextmanager import oeqa.targetcontrol import oeqa.utils.sshcontrol as sshcontrol @@ -24,6 +25,15 @@ from oeqa.utils import CommandError from abc import ABCMeta, abstractmethod +@contextmanager +def ignorestatus(conn): +previous = conn.ignore_status +conn.ignore_status = True +try: +yield conn +finally: +conn.ignore_status = previous + class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget, metaclass=ABCMeta): supported_image_fstypes = ['tar.gz', 'tar.bz2'] @@ -103,8 +113,11 @@ class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget, metaclass=ABCMeta def power_cycle(self, conn): if self.powercontrol_cmd: -# be nice, don't just cut power -conn.run("shutdown -h now") +# be nice, don't just cut power and ignore status just for shutdown cmd +# status is ignore because the ssh connection may be killed by the +# shutdown process, thus yielding a non-zero exit status +with c = ignorestatus(conn): +c.run("shutdown -h now") time.sleep(10) self.power_ctl("cycle") else: -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] selftest/wic: extending test coverage for WIC script options
Hi Jair, Thank you for the patch! My comments are below. On Tue, Dec 13, 2016 at 09:53:27AM -0600, Jair Gonzalez wrote: > The previous WIC script selftest didn't cover all of its command > line options. The following test cases were added to complete > covering them: > > 1552 Test wic --version > 1553 Test wic help create > 1554 Test wic help list > 1555 Test wic list images > 1556 Test wic list source-plugins > 1557 Test wic listed images help > 1558 Test wic debug, skip-build-check and build_rootfs > 1559 Test image vars directory selection > 1562 Test alternate output directory > In addition, the following test cases were assigned an ID number on > Testopia: > > 1560 Test creation of systemd-bootdisk image > 1561 Test creation of sdimage-bootpart image > > Finally, part of the test methods were rearranged to group them by > functionality, and some cleanup was made to improve the code's > compliance with PEP8 style guide. I'd suggest to split this patch to at least 3 patches: - new testcases (fix for YOCTO 10594) - assigning id numbers - removing WKS_FILE = "wic-image-minimal" from config - code cleanup > Fixes [YOCTO 10594] > > Signed-off-by: Jair Gonzalez >> --- > meta/lib/oeqa/selftest/wic.py | 246 > +- > 1 file changed, 174 insertions(+), 72 deletions(-) > > diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py > index e652fad..46bfb94 100644 > --- a/meta/lib/oeqa/selftest/wic.py > +++ b/meta/lib/oeqa/selftest/wic.py > @@ -37,13 +37,13 @@ class Wic(oeSelfTest): > """Wic test class.""" > > resultdir = "/var/tmp/wic/build/" > +alternate_resultdir = "/var/tmp/wic/build/alt/" > image_is_ready = False > > def setUpLocal(self): > """This code is executed before each test method.""" > self.write_config('IMAGE_FSTYPES += " hddimg"\n' > - 'MACHINE_FEATURES_append = " efi"\n' > - 'WKS_FILE = "wic-image-minimal"\n') I like the change, but it should be also in a separate patch. > + 'MACHINE_FEATURES_append = " efi"\n') > > # Do this here instead of in setUpClass as the base setUp does some > # clean up which can result in the native tools built earlier in > @@ -56,10 +56,16 @@ class Wic(oeSelfTest): > > rmtree(self.resultdir, ignore_errors=True) > > +@testcase(1552) > +def test_version(self): > +"""Test wic --version""" > +self.assertEqual(0, runCmd('wic --version').status) > + > @testcase(1208) > def test_help(self): > -"""Test wic --help""" > +"""Test wic --help and wic -h""" > self.assertEqual(0, runCmd('wic --help').status) > +self.assertEqual(0, runCmd('wic -h').status) > @testcase(1209) > def test_createhelp(self): > @@ -71,19 +77,74 @@ class Wic(oeSelfTest): > """Test wic list --help""" > self.assertEqual(0, runCmd('wic list --help').status) > > +@testcase(1553) > +def test_help_create(self): > +"""Test wic help create""" > +self.assertEqual(0, runCmd('wic help create').status) > + > +@testcase(1554) > +def test_help_list(self): > +"""Test wic help list""" > +self.assertEqual(0, runCmd('wic help list').status) > + > +@testcase(1215) > +def test_help_overview(self): > +"""Test wic help overview""" > +self.assertEqual(0, runCmd('wic help overview').status) > + > +@testcase(1216) > +def test_help_plugins(self): > +"""Test wic help plugins""" > +self.assertEqual(0, runCmd('wic help plugins').status) > + > +@testcase(1217) > +def test_help_kickstart(self): > +"""Test wic help kickstart""" > +self.assertEqual(0, runCmd('wic help kickstart').status) > + > +@testcase(1555) > +def test_list_images(self): > +"""Test wic list images""" > +self.assertEqual(0, runCmd('wic list images').status) > + > +@testcase(1556) > +def test_list_source_plugins(self): > +"""Test wic list source-plugins""" > +self.assertEqual(0, runCmd('wic list source-plugins').status) > + > +@testcase(1557) > +def test_listed_images_help(self): > +"""Test wic listed images help""" > +output = runCmd('wic list images').output > +imageDetails = [line.split() for line in output.split('\n')] > +imageList = [row[0] for row in imageDetails] How about replacing two last lines with this? imagelist = [line.split()[0] for line in output.split('\n')] > +for image in imageList: > +self.assertEqual(0, runCmd('wic list %s help' % image).status) > + > +@testcase(1213) > +def test_unsupported_subcommand(self): > +"""Test unsupported subcommand""" > +self.assertEqual(1, runCmd('wic unsupported', > +
[OE-core] [PATCH 00/91] Morty pull request
Cover letter only. Please consider these changes for Morty-next. The following changes since commit 5aa481dfedfd089f0d6e8a3bae1b84134d5dff4c: ref-manual: Added KERNEL_IMAGE_BASE_NAME change to 2.2 migration (2016-12-08 16:36:47 +) are available in the git repository at: git://git.yoctoproject.org/poky-contrib akuster/morty-next http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=akuster/morty-next Alejandro Hernandez (3): linux-yocto: Update genericx86* SRCREVs for linux-yocto 4.1 linux-yocto: Update genericx86* SRCREVs for linux-yocto 4.4 linux-yocto: Update genericx86* SRCREVs for linux-yocto 4.8 Alexander Kanavin (1): grub2: enforce -no-pie if supported by compiler Alexandre Belloni (1): insane: Add aarch64 baremetal mappings to the QA arch test Andreas Oberritter (5): kernel.bbclass: allow uncompressed initramfs archives kernel.bbclass: Use real filenames in kernel packages kernel.bbclass: Avoid wildcards for kernel images kernel.bbclass: do not copy bundled initramfs to /boot kernel.bbclass: fix kernel_do_compile for KERNEL_IMAGETYPE = "vmlinux.gz" on mips André Draszik (2): cve-check.bbclass: CVE-2014-2524 / readline v5.2 openssl: fix bashism in c_rehash shell script Aníbal Limón (1): perl: Fix ptest update hash of ExtUtils/Liblist/Kid.pm in customized.dat Armin Kuster (2): tzcode: update to 2016i tzdata: update to 2016i Bruce Ashfield (20): linux-yocto/4.8: update to 4.8.6 linux-yocto/4.8: fix cryptodev compilation error linux-yocto/4.4: update to v4.4.30 linux-yocto/4.1: update to v4.1.35 linux-yocto/4.8: update to v4.8.6-rt5 linux-yocto/4.8: update from v4.8.6 -> v4.8.8 linux-yocto/4.4: update to v4.4.32 kern-tools: error checking and tree generation fixes linux-yocto/4.8: update to v4.8.10 linux-yocto-dev: update to 4.9-rcX kern-tools: fix processing for no branch meta-data kernel-yocto: exit on non-zero return code linux-yocto/4.8: aufs warning and ixgbe calltrace linux-yocto/4.4/4.8: Fix remaining kernel_configcheck warnings in Intel BSPs linux-yoct/4.1: update to v4.1.36 linux-yocto/4.4: update to v4.4.36 linux-yocto/4.8: update to v4.8.12 kern-tools: ensure that no shared directories are used linux-yocto-rt/4.4: update to -rt43 linux-yocto/4.x: CVE-2016-8655 California Sullivan (1): parselogs.py: Whitelist iwlwifi firmware load error messages Daniel Díaz (1): weston: Add no-input-device patch to 1.11.0. David Vincent (1): slang: Disable parallel make install Ed Bartosh (2): systemd-bootdisk.wks: use PARTUUID qemux86*.conf: set wic-related parameters Fabio Berton (1): binutils: Fix build for c293pcie PPC machine Jair Gonzalez (1): parselogs: Whitelist GPT warnings as the device is fully functional Kai Kang (3): openssh: fix CVE-2016-8858 qemu: fix CVE-2016-7909 qemu: update run-ptest script Kevin Hao (1): meta-yocto-bsp: bump to the latest stable linux kernel for the non-x86 BSPs Khem Raj (3): libbsd: Fix build with musl cmake.bbclass: Set CXXFLAGS and CFLAGS arch-arm64.inc: Include arch-armv7ve.inc Koen Kooi (1): libbsd 0.8.3: BBCLASSEXTEND to native and nativesdk Li Zhou (1): db: disable the ARM assembler mutex code Maciej Borzecki (3): wic: make sure that partition size is always an integer in internal processing wic: check that filesystem is specified for a rootfs partition wic: fix function comment typos Mark Asselstine (1): systemd.bbclass: don't block on service restart Martin Vuille (1): terminal.py: Pass string instead of bytes to ExecutionError to avoid exception Mingli Yu (3): tiff: Security fix CVE-2016-9535 tiff: Security fix CVE-2016-9538 tiff: Fix several CVE issues Patrick Ohly (2): pseudo: include fix for xattr corruption scripts/send-pull-request: Avoid multiple chain headers Paul Eggleton (1): recipetool: fix encoding-related errors creating python recipes Richard Purdie (7): bitbake: bitbake-worker: Handle cooker/worker IO deadlocking staging: Drop unused SYSROOT_LOCK attr: Convert SSTATEPOSTINSTFUNCS to a do_install_append subversion: Fix issues in LDFLAGS sed manipulation bitbake: utils: Avoid traceback errors bitbake: cooker: Fix world taskgraph generation issue bitbake: cooker: Handle inofity queue overflows more gracefully Robert Yang (2): qemuarm64.conf: make runqemu's graphics work diffutils: do_configure: fix "Argument list too long" Ross Burton (11): Revert "libwnck3: remove the recipe" Revert "epiphany: remove unnecessary libwnck3 dependency" lib/oe/qa: handle binaries with segments outside the first 4kb systemtap: remove explicit msgfmt check systemtap: fix native linking on recent Ubuntu conf: add C++ flags for uninative interoperatility insane: fix expanded-d test insane: factor out the test matrix processing insane: add QAPKGTEST, a package-wide equivilant to QAPATHTEST insane: rewrite the expanded-d test as a QAPKGTEST tiff:
Re: [OE-core] [PATCH] populate_sdk_ext: get NATIVELSBSTRING variable
Hi Ed, On Tue, 13 Dec 2016 19:05:49 Ed Bartosh wrote: > Setting fixedlsbstring to 'universal' can break populate_sdk_ext > task as NATIVELSBSTRING can be set to universal- in > some cases. > > Getting NATIVELSBSTRING value using getVar should fix this. > > Signed-off-by: Ed Bartosh> --- > meta/classes/populate_sdk_ext.bbclass | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/meta/classes/populate_sdk_ext.bbclass > b/meta/classes/populate_sdk_ext.bbclass index 3c3a73c..6ef48c0 100644 > --- a/meta/classes/populate_sdk_ext.bbclass > +++ b/meta/classes/populate_sdk_ext.bbclass > @@ -374,8 +374,8 @@ python copy_buildsystem () { > > sstate_out = baseoutpath + '/sstate-cache' > bb.utils.remove(sstate_out, True) > -# uninative.bbclass sets NATIVELSBSTRING to 'universal' > -fixedlsbstring = 'universal' > + > +fixedlsbstring = d.getVar('NATIVELSBSTRING', True) > > sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN', True) == > '1') sdk_ext_type = d.getVar('SDK_EXT_TYPE', True) Have you tested this with OE-Core alone or any other configuration where uninative is not enabled? I suspect it won't work with that. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] libepoxy: move to tip of Emmanuele Bassi's fork
On Tue, Dec 13, 2016 at 10:56 AM, Andreas Müllerwrote: > On Tue, Dec 13, 2016 at 6:54 PM, Khem Raj wrote: >> On Tue, Dec 13, 2016 at 1:09 AM, Andreas Müller >> wrote: >>> * fixes starting of kde-plasma for wayland: >>> | No provider of glGenFramebuffers found. Requires one of: >>> | Desktop OpenGL 3.0 >>> | GL extension "GL_ARB_framebuffer_object" >>> | OpenGL ES 2.0 >>> | GL extension "GL_EXT_framebuffer_object" >>> | /usr/bin/startplasmacompositor: line 223: 787 Aborted >>> (core dumped) /usr/bin/kwin_wayland --xwayland --libinput >>> --exit-with-session=/usr/libexec/startplasma >>> * fixes some strange behavour on kde-plasma for x11: Black screen on logout >>> / >>> Lock screen does not return. >>> * Eric Anholt seems to have passed maintainership of libepoxy over to >>> Yaron Cohen-Tal. I agree that things didn't really turn out well since >>> then [1]. >>> * 0001-select-platforms-based-on-configuration-results.patch and >>> 0002-add-an-option-to-disable-glx-support.patch wre replaced by >>> 0001-make-x11-support-optional.patch >>> >>> [1] >>> https://github.com/ebassi/libepoxy/commit/8dead45cb366bf5c08539bef2ccaa36b80eb1483 >> >> Why do we change to a different fork ? perhaps its worth mentioning in commit > Just for the record I mentioned it and if you would have followed the > link you would know. > Thanks. > I agree to Ross: let's wait what happens with libepoxy. I keep this > patch in my tree because from meta-qt5-extra perspective this patch > fixes many many strange issues. > It would be acceptable perhaps if you can send relevant patches on top of upsteam libepoxy. > Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] libepoxy: move to tip of Emmanuele Bassi's fork
On Tue, Dec 13, 2016 at 6:54 PM, Khem Rajwrote: > On Tue, Dec 13, 2016 at 1:09 AM, Andreas Müller > wrote: >> * fixes starting of kde-plasma for wayland: >> | No provider of glGenFramebuffers found. Requires one of: >> | Desktop OpenGL 3.0 >> | GL extension "GL_ARB_framebuffer_object" >> | OpenGL ES 2.0 >> | GL extension "GL_EXT_framebuffer_object" >> | /usr/bin/startplasmacompositor: line 223: 787 Aborted >> (core dumped) /usr/bin/kwin_wayland --xwayland --libinput >> --exit-with-session=/usr/libexec/startplasma >> * fixes some strange behavour on kde-plasma for x11: Black screen on logout / >> Lock screen does not return. >> * Eric Anholt seems to have passed maintainership of libepoxy over to >> Yaron Cohen-Tal. I agree that things didn't really turn out well since >> then [1]. >> * 0001-select-platforms-based-on-configuration-results.patch and >> 0002-add-an-option-to-disable-glx-support.patch wre replaced by >> 0001-make-x11-support-optional.patch >> >> [1] >> https://github.com/ebassi/libepoxy/commit/8dead45cb366bf5c08539bef2ccaa36b80eb1483 > > Why do we change to a different fork ? perhaps its worth mentioning in commit Just for the record I mentioned it and if you would have followed the link you would know. I agree to Ross: let's wait what happens with libepoxy. I keep this patch in my tree because from meta-qt5-extra perspective this patch fixes many many strange issues. Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v5 0/6] wic: bugfixes & --fixed-size support, tests, oe-selftest: minor fixes
On Tue, Dec 13, 2016 at 09:07:30AM +0100, Maciej Borzęcki wrote: > On Thu, Nov 24, 2016 at 8:08 AM, Maciej Borzecki >wrote: > > v5 of a patch series previously posted here [1]. > > > > Changes since v4: > > > > * dropped `wic: selftest: do not repeat core-image-minimal` & rebased > > dependant patches > > > > * minor formatting fix in `wic: selftest: add tests for --fixed-size > > partition flags` > > > > [1]. > > http://lists.openembedded.org/pipermail/openembedded-core/2016-November/129103.html > > > > Maciej Borzecki (6): > > oe-selftest: enforce en_US.UTF-8 locale > > oeqa/utils/commands.py: allow use of binaries from native sysroot > > wic: add --fixed-size wks option > > wic: selftest: avoid COMPATIBLE_HOST issues > > wic: selftest: do not assume bzImage kernel image > > wic: selftest: add tests for --fixed-size partition flags > > > > meta/lib/oeqa/selftest/wic.py | 123 > > +++-- > > meta/lib/oeqa/utils/commands.py| 9 ++- > > scripts/lib/wic/help.py| 14 +++- > > scripts/lib/wic/imager/direct.py | 2 +- > > scripts/lib/wic/ksparser.py| 41 +-- > > scripts/lib/wic/partition.py | 88 ++- > > scripts/lib/wic/utils/partitionedfs.py | 2 +- > > scripts/oe-selftest| 3 + > > 8 files changed, 234 insertions(+), 48 deletions(-) > > Is there any additional action needed from me at this point? A rebase > or a resend perhaps? > Rebase would be nice as at lest one patch from this patchset is already accepted. -- Regards, Ed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/5] libsdl2: fix build on wayland(-dev)less hosts
On 13 December 2016 at 17:51, Andreas Müllerwrote: > P.S. This is a good example why recipe specific sysroot is a good > thing - correct? > Yeah :) Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] libepoxy: move to tip of Emmanuele Bassi's fork
On 13 December 2016 at 17:54, Khem Rajwrote: > Why do we change to a different fork ? perhaps its worth mentioning in > commit > Also I spoke to Emmanuele today and he is attempting to have his fork merged back upstream, so he recommends we hold off for a few days whilst they sort out where libepoxy is maintained going forwards. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] libepoxy: move to tip of Emmanuele Bassi's fork
On Tue, Dec 13, 2016 at 1:09 AM, Andreas Müllerwrote: > * fixes starting of kde-plasma for wayland: > | No provider of glGenFramebuffers found. Requires one of: > | Desktop OpenGL 3.0 > | GL extension "GL_ARB_framebuffer_object" > | OpenGL ES 2.0 > | GL extension "GL_EXT_framebuffer_object" > | /usr/bin/startplasmacompositor: line 223: 787 Aborted > (core dumped) /usr/bin/kwin_wayland --xwayland --libinput > --exit-with-session=/usr/libexec/startplasma > * fixes some strange behavour on kde-plasma for x11: Black screen on logout / > Lock screen does not return. > * Eric Anholt seems to have passed maintainership of libepoxy over to > Yaron Cohen-Tal. I agree that things didn't really turn out well since then > [1]. > * 0001-select-platforms-based-on-configuration-results.patch and > 0002-add-an-option-to-disable-glx-support.patch wre replaced by > 0001-make-x11-support-optional.patch > > [1] > https://github.com/ebassi/libepoxy/commit/8dead45cb366bf5c08539bef2ccaa36b80eb1483 Why do we change to a different fork ? perhaps its worth mentioning in commit > > Signed-off-by: Andreas Müller > --- > patch => 0001-make-x11-support-optional.patch} | 87 > +- > ...0002-add-an-option-to-disable-glx-support.patch | 42 --- > meta/recipes-graphics/libepoxy/libepoxy_git.bb | 9 +-- > 3 files changed, 40 insertions(+), 98 deletions(-) > rename > meta/recipes-graphics/libepoxy/libepoxy/{0001-select-platforms-based-on-configuration-results.patch > => 0001-make-x11-support-optional.patch} (55%) > delete mode 100644 > meta/recipes-graphics/libepoxy/libepoxy/0002-add-an-option-to-disable-glx-support.patch > > diff --git > a/meta/recipes-graphics/libepoxy/libepoxy/0001-select-platforms-based-on-configuration-results.patch > > b/meta/recipes-graphics/libepoxy/libepoxy/0001-make-x11-support-optional.patch > similarity index 55% > rename from > meta/recipes-graphics/libepoxy/libepoxy/0001-select-platforms-based-on-configuration-results.patch > rename to > meta/recipes-graphics/libepoxy/libepoxy/0001-make-x11-support-optional.patch > index 674c8e8..7b08fd1 100644 > --- > a/meta/recipes-graphics/libepoxy/libepoxy/0001-select-platforms-based-on-configuration-results.patch > +++ > b/meta/recipes-graphics/libepoxy/libepoxy/0001-make-x11-support-optional.patch > @@ -1,38 +1,52 @@ > -From 3a93150bc0aec86afdb7d053247dc2448925e09a Mon Sep 17 00:00:00 2001 > +From f08cd639eb731c0d8fdbbba9e4beb1041c07e0c2 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Andreas=20M=C3=BCller?= > -Date: Wed, 6 May 2015 10:45:22 +0200 > -Subject: [PATCH 1/2] select platforms based on configuration results > +Date: Tue, 13 Dec 2016 00:01:47 +0100 > +Subject: [PATCH] make x11 support optional > MIME-Version: 1.0 > Content-Type: text/plain; charset=UTF-8 > Content-Transfer-Encoding: 8bit > > -Upstream-Status: Submitted [1] > +X11 support is build by default if x11 libs are found. This can be disabled > +by --disable-glx. > + > +A similar (bit too overenthusiastic) pull request was sent long time ago [1] > +before we saw cmake trouble. There was a follow up PR in [2] but I cannot > test > +it so took only very common parts. > + > +Upstream-Status: Submitted [3] > > [1] https://github.com/anholt/libepoxy/pull/52 > +[2] https://github.com/anholt/libepoxy/pull/81 > +[3] https://github.com/ebassi/libepoxy/pull/1 > > Signed-off-by: Andreas Müller > --- > - configure.ac | 13 + > - src/dispatch_common.c | 9 ++--- > - src/dispatch_common.h | 9 + > - 3 files changed, 16 insertions(+), 15 deletions(-) > + configure.ac | 18 ++ > + src/dispatch_common.c | 5 - > + src/dispatch_common.h | 3 ++- > + 3 files changed, 16 insertions(+), 10 deletions(-) > > diff --git a/configure.ac b/configure.ac > -index a52fc58..bdd70da 100644 > +index 2d67726..3df9966 100644 > --- a/configure.ac > +++ b/configure.ac > -@@ -58,6 +58,10 @@ AC_CHECK_HEADER([KHR/khrplatform.h], > +@@ -58,6 +58,15 @@ AC_CHECK_HEADER([KHR/khrplatform.h], > # uintptr_t to a void *") by default. Kill that. > XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion]) > > -+PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no]) > ++AC_ARG_ENABLE([glx], > ++[AS_HELP_STRING([--disable-glx], > ++[disable if you do not want x11/glx support])], > ++[enable_glx=$enableval], > ++[enable_glx=yes] > ++ ) > + > -+AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes) > ++PKG_CHECK_MODULES(X11, [x11], [x11=$enable_glx], [x11=no]) > + > has_znow=yes > > case $host_os in > -@@ -86,7 +90,7 @@ case $host_os in > +@@ -86,7 +95,7 @@ case $host_os in > ;; > *) > build_egl=yes > @@ -41,7 +55,7 @@ index a52fc58..bdd70da 100644 >
Re: [OE-core] [PATCH 5/5] libsdl2: fix build on wayland(-dev)less hosts
reas went out too early :) On Tue, Dec 13, 2016 at 6:51 PM, Andreas Müllerwrote: > On Tue, Dec 13, 2016 at 6:46 PM, Burton, Ross wrote: >> >> On 13 December 2016 at 17:46, Andreas Müller >> wrote: >>> >>> I thought wayland depends on wayland-native already. Is it possible >>> that you don't have wayland in your DISTO_FEATURES - honestly have not >>> tested that on a machine with missing wayland-scanner. >> >> >> If wayland comes from sstate then it won't pull in the native dependencies. >> >> Ross > Ahh - OK > > P.S. This is a good example why recipe specific sysroot is a good > thing - correct? > > And -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/5] libsdl2: fix build on wayland(-dev)less hosts
On 13 December 2016 at 17:46, Andreas Müllerwrote: > I thought wayland depends on wayland-native already. Is it possible > that you don't have wayland in your DISTO_FEATURES - honestly have not > tested that on a machine with missing wayland-scanner. > If wayland comes from sstate then it won't pull in the native dependencies. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/5] libsdl2: fix build on wayland(-dev)less hosts
On Tue, Dec 13, 2016 at 6:46 PM, Burton, Rosswrote: > > On 13 December 2016 at 17:46, Andreas Müller > wrote: >> >> I thought wayland depends on wayland-native already. Is it possible >> that you don't have wayland in your DISTO_FEATURES - honestly have not >> tested that on a machine with missing wayland-scanner. > > > If wayland comes from sstate then it won't pull in the native dependencies. > > Ross Ahh - OK P.S. This is a good example why recipe specific sysroot is a good thing - correct? And -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/5] libsdl2: fix build on wayland(-dev)less hosts
On Tue, Dec 13, 2016 at 5:10 PM, Burton, Rosswrote: > > On 13 December 2016 at 15:42, Andreas Müller > wrote: >> >> Strange - something must be wrong on your machine :) > > > config.log says: > > configure:19371: checking for Wayland support > configure:19382: checking for wayland-scanner > configure:19415: result: no > configure:19425: result: yes > > which results in: > > WAYLAND_SCANNER = > > This should be fatal, but you're just missing a dependency on > wayland-native. I'll squash it into the patch now. > > Ross I thought wayland depends on wayland-native already. Is it possible that you don't have wayland in your DISTO_FEATURES - honestly have not tested that on a machine with missing wayland-scanner. Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] populate_sdk_ext: get NATIVELSBSTRING variable
Setting fixedlsbstring to 'universal' can break populate_sdk_ext task as NATIVELSBSTRING can be set to universal- in some cases. Getting NATIVELSBSTRING value using getVar should fix this. Signed-off-by: Ed Bartosh--- meta/classes/populate_sdk_ext.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 3c3a73c..6ef48c0 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -374,8 +374,8 @@ python copy_buildsystem () { sstate_out = baseoutpath + '/sstate-cache' bb.utils.remove(sstate_out, True) -# uninative.bbclass sets NATIVELSBSTRING to 'universal' -fixedlsbstring = 'universal' + +fixedlsbstring = d.getVar('NATIVELSBSTRING', True) sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN', True) == '1') sdk_ext_type = d.getVar('SDK_EXT_TYPE', True) -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2] oe-tests: Migrate tests from /oe/test to /oeqa/selftest/oe-tests
On 13 December 2016 at 16:53, Jose Perez Carranza < jose.perez.carra...@linux.intel.com> wrote: > at my host is very fast the load (1 second) > Okay, proof that I need a new build machine. :) > Ok, just wondering if oe-selftest -l will also list those test cases ?? > Huh. -l doesn't, but -m does. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2] oe-tests: Migrate tests from /oe/test to /oeqa/selftest/oe-tests
On 12/13/2016 10:32 AM, Burton, Ross wrote: On 13 December 2016 at 16:17, Burton, Ross> wrote: It took over a minute to load a few tests. Do you have any idea why the discovery is so slow? at my host is very fast the load (1 second) jgperezc@jgperezc:~/poky-oetest/build$ oe-selftest -r oelib-tests.elf oelib-tests.license oelib-tests.path oelib-tests.types oelib-tests.utils 2016-12-13 10:48:28,333 - selftest - INFO - Running bitbake -e to get BBPATH 2016-12-13 10:48:29,125 - selftest - INFO - Checking that everything is in order before running the tests 2016-12-13 10:48:29,833 - selftest - INFO - Running bitbake -p 2016-12-13 10:48:52,181 - selftest - INFO - test runner init'ed like unittest 2016-12-13 10:48:52,995 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.elf 2016-12-13 10:48:52,998 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.license 2016-12-13 10:48:53,000 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.path 2016-12-13 10:48:53,001 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.types 2016-12-13 10:48:53,003 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.utils 2016-12-13 10:48:53,005 - selftest - INFO - Adding: "include selftest.inc" in local.conf 2016-12-13 10:48:53,005 - selftest - INFO - Adding: "include bblayers.inc" in bblayers.conf Oh, it's because oeselftest does bitbake calls isn't it. Good news: you don't need to use oeSelfTest at all, the discovery works fine with standard unittest.TestCase objects. Patch incoming. :) Ok, just wondering if oe-selftest -l will also list those test cases ?? Ross -- Saludos José -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] oeqa: move lib/oe tests to oe-selftest
These tests don't get ran often (as demonstrated by the fact that some were not ported to Python 3), so move them to oeqa/selftest so they get executed frequently and can be extended easily. [ YOCTO #7376 ] Signed-off-by: Ross Burton--- meta/lib/{oe/tests => oeqa/selftest/oelib}/__init__.py | 0 .../tests/test_elf.py => oeqa/selftest/oelib/elf.py} | 0 .../test_license.py => oeqa/selftest/oelib/license.py} | 0 .../tests/test_path.py => oeqa/selftest/oelib/path.py} | 0 .../test_types.py => oeqa/selftest/oelib/types.py} | 18 +++--- .../test_utils.py => oeqa/selftest/oelib/utils.py} | 2 +- 6 files changed, 4 insertions(+), 16 deletions(-) rename meta/lib/{oe/tests => oeqa/selftest/oelib}/__init__.py (100%) rename meta/lib/{oe/tests/test_elf.py => oeqa/selftest/oelib/elf.py} (100%) rename meta/lib/{oe/tests/test_license.py => oeqa/selftest/oelib/license.py} (100%) rename meta/lib/{oe/tests/test_path.py => oeqa/selftest/oelib/path.py} (100%) rename meta/lib/{oe/tests/test_types.py => oeqa/selftest/oelib/types.py} (79%) rename meta/lib/{oe/tests/test_utils.py => oeqa/selftest/oelib/utils.py} (96%) diff --git a/meta/lib/oe/tests/__init__.py b/meta/lib/oeqa/selftest/oelib/__init__.py similarity index 100% rename from meta/lib/oe/tests/__init__.py rename to meta/lib/oeqa/selftest/oelib/__init__.py diff --git a/meta/lib/oe/tests/test_elf.py b/meta/lib/oeqa/selftest/oelib/elf.py similarity index 100% rename from meta/lib/oe/tests/test_elf.py rename to meta/lib/oeqa/selftest/oelib/elf.py diff --git a/meta/lib/oe/tests/test_license.py b/meta/lib/oeqa/selftest/oelib/license.py similarity index 100% rename from meta/lib/oe/tests/test_license.py rename to meta/lib/oeqa/selftest/oelib/license.py diff --git a/meta/lib/oe/tests/test_path.py b/meta/lib/oeqa/selftest/oelib/path.py similarity index 100% rename from meta/lib/oe/tests/test_path.py rename to meta/lib/oeqa/selftest/oelib/path.py diff --git a/meta/lib/oe/tests/test_types.py b/meta/lib/oeqa/selftest/oelib/types.py similarity index 79% rename from meta/lib/oe/tests/test_types.py rename to meta/lib/oeqa/selftest/oelib/types.py index 367cc30..4fe2746 100644 --- a/meta/lib/oe/tests/test_types.py +++ b/meta/lib/oeqa/selftest/oelib/types.py @@ -1,19 +1,7 @@ import unittest -from oe.maketype import create, factory +from oe.maketype import create -class TestTypes(unittest.TestCase): -def assertIsInstance(self, obj, cls): -return self.assertTrue(isinstance(obj, cls)) - -def assertIsNot(self, obj, other): -return self.assertFalse(obj is other) - -def assertFactoryCreated(self, value, type, **flags): -cls = factory(type) -self.assertIsNot(cls, None) -self.assertIsInstance(create(value, type, **flags), cls) - -class TestBooleanType(TestTypes): +class TestBooleanType(unittest.TestCase): def test_invalid(self): self.assertRaises(ValueError, create, '', 'boolean') self.assertRaises(ValueError, create, 'foo', 'boolean') @@ -43,7 +31,7 @@ class TestBooleanType(TestTypes): self.assertEqual(create('y', 'boolean'), True) self.assertNotEqual(create('y', 'boolean'), False) -class TestList(TestTypes): +class TestList(unittest.TestCase): def assertListEqual(self, value, valid, sep=None): obj = create(value, 'list', separator=sep) self.assertEqual(obj, valid) diff --git a/meta/lib/oe/tests/test_utils.py b/meta/lib/oeqa/selftest/oelib/utils.py similarity index 96% rename from meta/lib/oe/tests/test_utils.py rename to meta/lib/oeqa/selftest/oelib/utils.py index 5d9ac52..7deb10f 100644 --- a/meta/lib/oe/tests/test_utils.py +++ b/meta/lib/oeqa/selftest/oelib/utils.py @@ -1,5 +1,5 @@ import unittest -from oe.utils import packages_filter_out_system +from oe.utils import packages_filter_out_system, trim_version class TestPackagesFilterOutSystem(unittest.TestCase): def test_filter(self): -- 2.8.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2] oe-tests: Migrate tests from /oe/test to /oeqa/selftest/oe-tests
On 13 December 2016 at 16:17, Burton, Rosswrote: > It took over a minute to load a few tests. Do you have any idea why the > discovery is so slow? > Oh, it's because oeselftest does bitbake calls isn't it. Good news: you don't need to use oeSelfTest at all, the discovery works fine with standard unittest.TestCase objects. Patch incoming. :) Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] can "IMAGE_INSTALL ?= ..." not be written in a more obvious way?
On Tue, Dec 13, 2016 at 12:52 AM, Peter Kjellerstedtwrote: >> -Original Message- >> From: openembedded-core-boun...@lists.openembedded.org >> [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of >> Khem Raj >> Sent: den 10 december 2016 22:16 >> To: Robert P. J. Day >> Cc: OE Core mailing list >> Subject: Re: [OE-core] can "IMAGE_INSTALL ?= ..." not be written in a >> more obvious way? >> >> On Sat, Dec 10, 2016 at 3:40 AM, Robert P. J. Day >> wrote: >> > >> > i've nattered about this before but not sure i ever got an answer -- >> > here's the last bit of core-image.bbclass: >> > >> > CORE_IMAGE_BASE_INSTALL = '\ >> > packagegroup-core-boot \ >> > packagegroup-base-extended \ >> > \ >> > ${CORE_IMAGE_EXTRA_INSTALL} \ >> > ' >> > >> > CORE_IMAGE_EXTRA_INSTALL ?= "" >> > >> > IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}" >> > >> > the first time i saw that (long ago), it took me a few looks to figure >> > out what was happening. can this not be written in a more obvious way: >> > >> > CORE_IMAGE_BASE_INSTALL = '\ >> > packagegroup-core-boot \ >> > packagegroup-base-extended \ >> > ' >> > >> > CORE_IMAGE_EXTRA_INSTALL ?= "" >> > >> > IMAGE_INSTALL ?= " \ >> > ${CORE_IMAGE_BASE_INSTALL} \ >> > ${CORE_IMAGE_EXTRA_INSTALL} \ >> > " >> > >> > is that not equivalent, or am i missing something? it's certainly >> > clearer as to what's happening if people are perusing the code. >> >> They are same AFAICT, dont feel strongly about readability but feel >> free to send a patch > > Careful now. Changing these can affect image recipes outside of OE-core. > If one has an image recipe that inherits core-image and then defines > > IMAGE_INSTALL = "${CORE_IMAGE_BASE_INSTALL} my-own-packages ..." > > then changing CORE_IMAGE_BASE_INSTALL as per above would suddenly > cause that image to miss including packages that it previously did. yes I think thats the interface it will end up in. It would be more explicit for someone to set IMAGE_INSTALL explicitly and not expect this sort of bundling. its also more readable when you construct IMAGE_INSTALL > > I recommend leaving it as is. agreed.Probably not worth the churn > > //Peter > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] busybox: allow libiproute to handle table ids larger than 255
Hi Ross, On Tue, 2016-12-13 at 08:40 +, Burton, Ross wrote: > On 12 December 2016 at 15:40, André Draszikwrote: > > > ++ printf("table %s ", rtnl_rttable_n2a(tid)); > > > > Sorry but this doesn't build here: > > > networking/libiproute/lib.a(iproute.o): In function `print_route': > > > > /usr/src/debug/busybox/1.24.1-r0/busybox- > 1.24.1/networking/libiproute/iproute.c:294: > undefined reference to `rtnl_rttable_n2a' > > Ross Should be fixed in v2. Cheers, Andre' -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2] busybox: allow libiproute to handle table ids larger than 255
From: Lukasz NowakThese changes are required for compatibility with ConnMan, which by default uses table ids greater than 255. Signed-off-by: Lukasz Nowak --- ...biproute-handle-table-ids-larger-than-255.patch | 134 + meta/recipes-core/busybox/busybox_1.24.1.bb| 1 + 2 files changed, 135 insertions(+) create mode 100644 meta/recipes-core/busybox/busybox/0001-libiproute-handle-table-ids-larger-than-255.patch diff --git a/meta/recipes-core/busybox/busybox/0001-libiproute-handle-table-ids-larger-than-255.patch b/meta/recipes-core/busybox/busybox/0001-libiproute-handle-table-ids-larger-than-255.patch new file mode 100644 index 000..aac5b40 --- /dev/null +++ b/meta/recipes-core/busybox/busybox/0001-libiproute-handle-table-ids-larger-than-255.patch @@ -0,0 +1,134 @@ +From b5a9234272e6084557224c73ab7737ed47f09848 Mon Sep 17 00:00:00 2001 +From: Lukasz Nowak +Date: Wed, 23 Nov 2016 12:48:21 + +Subject: [PATCH v2] libiproute: handle table ids larger than 255 + +Linux kernel, starting from 2.6.19 allows ip table ids to have 32-bit values. +In order to preserve compatibility, the old 8-bit field: rtm_table is still +in use when table id is lower than 256. + +Add support for the 32-bit table id (RTA_TABLE attribute) in: +- ip route print +- ip route modify +- ip rule print +- ip rule modify + +Add printing of table ids to ip route. + +Changes are compatible with the mainline iproute2 utilities. + +These changes are required for compatibility with ConnMan, which by default +uses table ids greater than 255. + +Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2016-December/084989.html] + +Signed-off-by: Lukasz Nowak +--- + networking/libiproute/iproute.c | 24 + networking/libiproute/iprule.c | 11 +-- + 2 files changed, 29 insertions(+), 6 deletions(-) + +diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c +index 6ecd5f7..d5af498 100644 +--- a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c +@@ -87,6 +87,7 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM, + inet_prefix dst; + inet_prefix src; + int host_len = -1; ++ uint32_t tid; + + if (n->nlmsg_type != RTM_NEWROUTE && n->nlmsg_type != RTM_DELROUTE) { + fprintf(stderr, "Not a route: %08x %08x %08x\n", +@@ -99,6 +100,14 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM, + if (len < 0) + bb_error_msg_and_die("wrong nlmsg len %d", len); + ++ memset(tb, 0, sizeof(tb)); ++ parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len); ++ ++ if (tb[RTA_TABLE]) ++ tid = *(uint32_t *)RTA_DATA(tb[RTA_TABLE]); ++ else ++ tid = r->rtm_table; ++ + if (r->rtm_family == AF_INET6) + host_len = 128; + else if (r->rtm_family == AF_INET) +@@ -128,7 +137,7 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM, + } + } + } else { +- if (G_filter.tb > 0 && G_filter.tb != r->rtm_table) { ++ if (G_filter.tb > 0 && G_filter.tb != tid) { + return 0; + } + } +@@ -157,10 +166,8 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM, + return 0; + } + +- memset(tb, 0, sizeof(tb)); + memset(, 0, sizeof(src)); + memset(, 0, sizeof(dst)); +- parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len); + + if (tb[RTA_SRC]) { + src.bitlen = r->rtm_src_len; +@@ -283,6 +290,10 @@ static int FAST_FUNC print_route(const struct sockaddr_nl *who UNUSED_PARAM, + if (tb[RTA_OIF]) { + printf("dev %s ", ll_index_to_name(*(int*)RTA_DATA(tb[RTA_OIF]))); + } ++#if ENABLE_FEATURE_IP_RULE ++ if (tid && tid != RT_TABLE_MAIN && !G_filter.tb) ++ printf("table %s ", rtnl_rttable_n2a(tid)); ++#endif + + /* Todo: parse & show "proto kernel", "scope link" here */ + +@@ -434,7 +445,12 @@ IF_FEATURE_IP_RULE(ARG_table,) + NEXT_ARG(); + if (rtnl_rttable_a2n(, *argv)) + invarg(*argv, "table"); +- req.r.rtm_table = tid; ++ if (tid < 256) ++ req.r.rtm_table = tid; ++ else { ++ req.r.rtm_table = RT_TABLE_UNSPEC; ++ addattr32(, sizeof(req), RTA_TABLE, tid); ++ } + #endif + } else if (arg == ARG_dev || arg == ARG_oif) { + NEXT_ARG(); +diff --git a/networking/libiproute/iprule.c b/networking/libiproute/iprule.c +index 774a3e2..3fac7c5 100644 +--- a/networking/libiproute/iprule.c
Re: [OE-core] [PATCH] systemd: disable 'libdir' QA check
This library may be private however this does not mean it should be hidden in a dedicated path. But I guess its better to lower qa guards then carry a patch for life On Dec 13, 2016 7:20 AM, "Mark Asselstine"wrote: On Monday, December 12, 2016 9:17:14 PM EST Burton, Ross wrote: > On 12 December 2016 at 20:51, Mark Asselstine < mark.asselst...@windriver.com > > wrote: > > > > I think the discussion I pointed to in the commit log closes the door on > > any > > such change. Specific the comment from Lennart -- > > https://github.com/systemd/systemd/issues/3810#issuecomment-235290526 > > > > They don't want the library to be found in the default search path, they > > want > > to maintain this as a "hidden, internal resource". > > Oh if it's an implementation detail of systemd and not a user-facing > library then I can see their argument I guess. > > Don't agree with it though. But, the point is that as long as the parts of > systemd that could realistically be multilibd are in $libdir then this > isn't a problem. It is definitely an internal infra item for systemd and not seen as a 'public' library so I think we are best to run with it. I am with you that I don't necessarily agree with it. Khem, does this satisfy your concerns? Mark > > Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2] oe-tests: Migrate tests from /oe/test to /oeqa/selftest/oe-tests
On 15 November 2016 at 16:24,wrote: > Currently the unittests for scripts on meta/lib/oe/tests are not being > executed by any suite hence the best option is migrate them to > meta/lib/oeqa/selftest/oelib-tests to be executed along with the selftest > suite. > For some reason the discovery is very slow: $ oe-selftest -r oelib-tests.elf oelib-tests.license oelib-tests.path oelib-tests.types oelib-tests.utils 2016-12-13 16:15:00,014 - selftest - INFO - Running bitbake -e to get BBPATH 2016-12-13 16:15:03,143 - selftest - INFO - Checking that everything is in order before running the tests 2016-12-13 16:15:06,512 - selftest - INFO - Running bitbake -p 2016-12-13 16:15:10,203 - selftest - INFO - test runner init'ed like unittest 2016-12-13 16:15:13,428 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.elf 2016-12-13 16:15:16,489 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.license 2016-12-13 16:15:29,391 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.path 2016-12-13 16:15:38,822 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.types 2016-12-13 16:15:57,719 - selftest - INFO - Loading tests from: oeqa.selftest.oelib-tests.utils It took over a minute to load a few tests. Do you have any idea why the discovery is so slow? Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/5] libsdl2: fix build on wayland(-dev)less hosts
On 13 December 2016 at 15:42, Andreas Müllerwrote: > Strange - something must be wrong on your machine :) > config.log says: configure:19371: checking for Wayland support configure:19382: checking for wayland-scanner configure:19415: result: no configure:19425: result: yes which results in: WAYLAND_SCANNER = This should be fatal, but you're just missing a dependency on wayland-native. I'll squash it into the patch now. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] openssl: OpenSSL 1.1.x update
On 10/06/2016 06:39 PM, Mark Hatle wrote: The OpenSSL community itself is looking at 1.1.0 as a transition to newer and better design/api/etc... which is why it is not marked as a LTS release. api changes can be a bothersome point from integration POV, do we know if there are some forwarded porting incompatibilities in APIs already? I have not investigated it, as my focus has been on the LTS version at this point. I've quickly put together a openssl 1.1 recipe to test what builds and what fails in oe-core, and this is the list of failures (any dependencies of these aren't even attempted of course, i.e. webkit): rpm apr-util ruby openssh bind socat mailx (I believe debian provides a rewrite of this one which we need to package) cryptodev-tests u-boot-mkimage Openssl does not seem to be designed for parallel installation of several major versions at the same time (headers and pkg-config files clash), so (unless someone has a better idea), we need to either wait until the above listed upstreams fix their code, or do custom patching. Mark, when can we expect rpm updates from Wind River? It's been a while (actually, 10 months) since anything substantial arrived. I'd like to have both a working CVS recipe (for dnf oe-core integration work), and an update to the stable release with openssl 1.1 support in it - so that oe-core can provide openssl 1.1. I simply do not have the bandwidth or the expertise to do this work myself - far too many patches to rebase, and a code base that I don't even begin to understand. Alex -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] selftest/wic: extending test coverage for WIC script options
The previous WIC script selftest didn't cover all of its command line options. The following test cases were added to complete covering them: 1552 Test wic --version 1553 Test wic help create 1554 Test wic help list 1555 Test wic list images 1556 Test wic list source-plugins 1557 Test wic listed images help 1558 Test wic debug, skip-build-check and build_rootfs 1559 Test image vars directory selection 1562 Test alternate output directory In addition, the following test cases were assigned an ID number on Testopia: 1560 Test creation of systemd-bootdisk image 1561 Test creation of sdimage-bootpart image Finally, part of the test methods were rearranged to group them by functionality, and some cleanup was made to improve the code's compliance with PEP8 style guide. Fixes [YOCTO 10594] Signed-off-by: Jair Gonzalez--- meta/lib/oeqa/selftest/wic.py | 246 +- 1 file changed, 174 insertions(+), 72 deletions(-) diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py index e652fad..46bfb94 100644 --- a/meta/lib/oeqa/selftest/wic.py +++ b/meta/lib/oeqa/selftest/wic.py @@ -37,13 +37,13 @@ class Wic(oeSelfTest): """Wic test class.""" resultdir = "/var/tmp/wic/build/" +alternate_resultdir = "/var/tmp/wic/build/alt/" image_is_ready = False def setUpLocal(self): """This code is executed before each test method.""" self.write_config('IMAGE_FSTYPES += " hddimg"\n' - 'MACHINE_FEATURES_append = " efi"\n' - 'WKS_FILE = "wic-image-minimal"\n') + 'MACHINE_FEATURES_append = " efi"\n') # Do this here instead of in setUpClass as the base setUp does some # clean up which can result in the native tools built earlier in @@ -56,10 +56,16 @@ class Wic(oeSelfTest): rmtree(self.resultdir, ignore_errors=True) +@testcase(1552) +def test_version(self): +"""Test wic --version""" +self.assertEqual(0, runCmd('wic --version').status) + @testcase(1208) def test_help(self): -"""Test wic --help""" +"""Test wic --help and wic -h""" self.assertEqual(0, runCmd('wic --help').status) +self.assertEqual(0, runCmd('wic -h').status) @testcase(1209) def test_createhelp(self): @@ -71,19 +77,74 @@ class Wic(oeSelfTest): """Test wic list --help""" self.assertEqual(0, runCmd('wic list --help').status) +@testcase(1553) +def test_help_create(self): +"""Test wic help create""" +self.assertEqual(0, runCmd('wic help create').status) + +@testcase(1554) +def test_help_list(self): +"""Test wic help list""" +self.assertEqual(0, runCmd('wic help list').status) + +@testcase(1215) +def test_help_overview(self): +"""Test wic help overview""" +self.assertEqual(0, runCmd('wic help overview').status) + +@testcase(1216) +def test_help_plugins(self): +"""Test wic help plugins""" +self.assertEqual(0, runCmd('wic help plugins').status) + +@testcase(1217) +def test_help_kickstart(self): +"""Test wic help kickstart""" +self.assertEqual(0, runCmd('wic help kickstart').status) + +@testcase(1555) +def test_list_images(self): +"""Test wic list images""" +self.assertEqual(0, runCmd('wic list images').status) + +@testcase(1556) +def test_list_source_plugins(self): +"""Test wic list source-plugins""" +self.assertEqual(0, runCmd('wic list source-plugins').status) + +@testcase(1557) +def test_listed_images_help(self): +"""Test wic listed images help""" +output = runCmd('wic list images').output +imageDetails = [line.split() for line in output.split('\n')] +imageList = [row[0] for row in imageDetails] +for image in imageList: +self.assertEqual(0, runCmd('wic list %s help' % image).status) + +@testcase(1213) +def test_unsupported_subcommand(self): +"""Test unsupported subcommand""" +self.assertEqual(1, runCmd('wic unsupported', + ignore_status=True).status) + +@testcase(1214) +def test_no_command(self): +"""Test wic without command""" +self.assertEqual(1, runCmd('wic', ignore_status=True).status) + @testcase(1211) def test_build_image_name(self): """Test wic create directdisk --image-name core-image-minimal""" self.assertEqual(0, runCmd("wic create directdisk " - "--image-name core-image-minimal").status) + "--image-name=core-image-minimal").status) self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) @testcase(1212) def test_build_artifacts(self): """Test wic create directdisk
Re: [OE-core] [PATCH 5/5] libsdl2: fix build on wayland(-dev)less hosts
On Tue, Dec 13, 2016 at 4:31 PM, Burton, Rosswrote: > I finally merged the sdl/wayland bits of this series but libsdl2 fails for > me: > > | GENgen/wayland-client-protocol.h > | /bin/bash: client-header: command not found > | /bin/bash: client-header: command not found > > Ross Strange - something must be wrong on your machine :) Seriously: Can you supply full log.do_configure and log.do_complie please? Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/5] libsdl2: fix build on wayland(-dev)less hosts
I finally merged the sdl/wayland bits of this series but libsdl2 fails for me: | GENgen/wayland-client-protocol.h | /bin/bash: client-header: command not found | /bin/bash: client-header: command not found Ross On 6 December 2016 at 00:19, Andreas Müllerwrote: > * add sysroot prefix to wayland core protocols > * do not use pkg-config to find wayland-scanner > > Signed-off-by: Andreas Müller > --- > ...-sysroot-path-so-that-make-finds-our-wayl.patch | 8 +++--- > ...void-finding-build-host-s-wayland-scanner.patch | 31 > ++ > meta/recipes-graphics/libsdl2/libsdl2_2.0.5.bb | 1 + > 3 files changed, 37 insertions(+), 3 deletions(-) > create mode 100644 meta/recipes-graphics/libsdl2/ > libsdl2/0002-Avoid-finding-build-host-s-wayland-scanner.patch > > diff --git a/meta/recipes-graphics/libsdl2/libsdl2/0001-prepend- > our-sysroot-path-so-that-make-finds-our-wayl.patch > b/meta/recipes-graphics/libsdl2/libsdl2/0001-prepend- > our-sysroot-path-so-that-make-finds-our-wayl.patch > index d042430..efc8418 100644 > --- a/meta/recipes-graphics/libsdl2/libsdl2/0001-prepend- > our-sysroot-path-so-that-make-finds-our-wayl.patch > +++ b/meta/recipes-graphics/libsdl2/libsdl2/0001-prepend- > our-sysroot-path-so-that-make-finds-our-wayl.patch > @@ -11,18 +11,20 @@ Upstream-Status: Inappropriate [embedded specific] > > Signed-off-by: Andreas Müller > --- > - configure.in | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > + configure.in | 4 +- > + 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/configure.in b/configure.in > index 726ded3..3376600 100644 > --- a/configure.in > +++ b/configure.in > @@ -1206,7 +1206,7 @@ AC_HELP_STRING([--enable-video-wayland-qt-touch], > [QtWayland server support for > + WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client > wayland-egl wayland-cursor xkbcommon` > WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client > wayland-egl wayland-cursor xkbcommon` > WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner > wayland-scanner` > - WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG > --variable=pkgdatadir wayland-client` > +-WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG > --variable=pkgdatadir wayland-client` > -WAYLAND_PROTOCOLS_DIR=`$PKG_CONFIG > --variable=pkgdatadir wayland-protocols` > ++WAYLAND_CORE_PROTOCOL_DIR=${ > WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir > wayland-client` > + > WAYLAND_PROTOCOLS_DIR=${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG > --variable=pkgdatadir wayland-protocols` > video_wayland=yes > fi > diff --git a/meta/recipes-graphics/libsdl2/libsdl2/0002-Avoid- > finding-build-host-s-wayland-scanner.patch b/meta/recipes-graphics/ > libsdl2/libsdl2/0002-Avoid-finding-build-host-s-wayland-scanner.patch > new file mode 100644 > index 000..7837315 > --- /dev/null > +++ b/meta/recipes-graphics/libsdl2/libsdl2/0002-Avoid- > finding-build-host-s-wayland-scanner.patch > @@ -0,0 +1,31 @@ > +From ae879091cf65cb70293b375ec7e61ed12a96d8a7 Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Andreas=20M=C3=BCller?= > +Date: Fri, 2 Dec 2016 09:39:25 +0100 > +Subject: [PATCH] Avoid finding build host's wayland-scanner > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +Upstream-Status: Inappropriate [embedded specific] > + > +Signed-off-by: Andreas Müller > +--- > + configure.in | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/configure.in b/configure.in > +index 3376600..2aa6ed4 100644 > +--- a/configure.in > b/configure.in > +@@ -1204,7 +1204,7 @@ AC_HELP_STRING([--enable-video-wayland-qt-touch], > [QtWayland server support for > + if $PKG_CONFIG --exists wayland-client wayland-scanner > wayland-protocols wayland-egl wayland-cursor egl xkbcommon ; then > + WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client > wayland-egl wayland-cursor xkbcommon` > + WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client > wayland-egl wayland-cursor xkbcommon` > +-WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner > wayland-scanner` > ++AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) > + WAYLAND_CORE_PROTOCOL_DIR=${ > WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir > wayland-client` > + > WAYLAND_PROTOCOLS_DIR=${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG > --variable=pkgdatadir wayland-protocols` > + video_wayland=yes > +-- > +2.7.4 > + > diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.0.5.bb > b/meta/recipes-graphics/libsdl2/libsdl2_2.0.5.bb > index bb75316..606e6fb 100644 > ---
Re: [OE-core] [PATCH v2 11/13] selftest: sstatetests: skip methods in case of poky-tiny or opengl is missing
On 24 November 2016 at 20:58,wrote: > diff --git a/meta/lib/oeqa/selftest/sstatetests.py > b/meta/lib/oeqa/selftest/sstatetests.py > index 6642539..8ea3932 100644 > --- a/meta/lib/oeqa/selftest/sstatetests.py > +++ b/meta/lib/oeqa/selftest/sstatetests.py > @@ -42,20 +42,36 @@ class SStateTests(SStateBase): > @testcase(975) > def test_sstate_creation_distro_specific_pass(self): > targetarch = get_bb_var('TUNE_ARCH') > -self.run_test_sstate_creation(['binutils-cross-'+ targetarch, > 'binutils-native'], distro_specific=True, distro_nonspecific=False, > temp_sstate_location=True) > +# Execute the test in all distros expect poky-tiny where > glibc-initial is not provided > +targets = ['binutils-cross-'+ targetarch, 'binutils-native'] > +if self.distro == 'poky-tiny': > +self.skipTest('Distro %s does not support building the > following targets %s' % (self.distro, ','.join(targets))) > +self.run_test_sstate_creation(targets, distro_specific=True, > distro_nonspecific=False, temp_sstate_location=True) > Sounds like it would be easier to just remove glibc-initial from that list, and either remove it entirely or replace it with a virtual name that both glibc and musl provide. > @@ -228,6 +255,8 @@ class SStateTests(SStateBase): > build machines and running a builds, override the variables > calling uname() > manually and check using bitbake -S. > """ > +if self.distro == 'poky-tiny': > +self.skipTest('core-image-sato not buildable for poky-tiny') > > topdir = get_bb_var('TOPDIR') > targetvendor = get_bb_var('TARGET_VENDOR') > For all of these tests that just do bitbake -S core-image-sato, if world works then that is more flexible and more comprehensive. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] systemd: disable 'libdir' QA check
On Monday, December 12, 2016 9:17:14 PM EST Burton, Ross wrote: > On 12 December 2016 at 20:51, Mark Asselstine> wrote: > > > > I think the discussion I pointed to in the commit log closes the door on > > any > > such change. Specific the comment from Lennart -- > > https://github.com/systemd/systemd/issues/3810#issuecomment-235290526 > > > > They don't want the library to be found in the default search path, they > > want > > to maintain this as a "hidden, internal resource". > > Oh if it's an implementation detail of systemd and not a user-facing > library then I can see their argument I guess. > > Don't agree with it though. But, the point is that as long as the parts of > systemd that could realistically be multilibd are in $libdir then this > isn't a problem. It is definitely an internal infra item for systemd and not seen as a 'public' library so I think we are best to run with it. I am with you that I don't necessarily agree with it. Khem, does this satisfy your concerns? Mark > > Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 07/13] selftest: imagefeatures: skip tests in case distro feature is missing
On 24 November 2016 at 20:58,wrote: > From: Leonardo Sandoval > > core-image-clutter and core-image-weston, both required opengl in distro > features, skip relevant tests if this is not the case. > > Signed-off-by: Leonardo Sandoval linux.intel.com> > --- > meta/lib/oeqa/selftest/imagefeatures.py | 4 > 1 file changed, 4 insertions(+) > > diff --git a/meta/lib/oeqa/selftest/imagefeatures.py > b/meta/lib/oeqa/selftest/imagefeatures.py > index d015c49..a61510b 100644 > --- a/meta/lib/oeqa/selftest/imagefeatures.py > +++ b/meta/lib/oeqa/selftest/imagefeatures.py > @@ -78,6 +78,8 @@ class ImageFeatures(oeSelfTest): > """ > > # Build a core-image-clutter > +if 'opengl' not in get_bb_var('DISTRO_FEATURES'): > +self.skipTest('opengl not present on DISTRO_FEATURES so > core-image-clutter cannot be built') > bitbake('core-image-clutter') > I don't see the point of this test. Lets save five minutes by just deleting it. > @testcase(1117) > @@ -96,6 +98,8 @@ class ImageFeatures(oeSelfTest): > self.write_config(features) > > # Build a core-image-weston > +if 'opengl' not in get_bb_var('DISTRO_FEATURES'): > +self.skipTest('opengl not present on DISTRO_FEATURES so > core-image-weston cannot be built') > bitbake('core-image-weston') The full test is: features = 'DISTRO_FEATURES_append = " wayland"\n' features += 'CORE_IMAGE_EXTRA_INSTALL += "wayland weston"' self.write_config(features) # Build a core-image-weston bitbake('core-image-weston') Adding wayland and weston to IMAGE_INSTALL is pointless as thats what the image does. Adding wayland is madness if the distro doesn't support it. Can you rewrite this test so it's basically just "if DISTRO_FEATURES contains opengl and wayland, build core-image-weston". Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] ghostscript 9.19 -> 9.20
1)Upgrade ghostscript from 9.19 to 9.20. 2)Modify ghostscript-9.15-parallel-make.patch, since the data has been changed. Signed-off-by: Huang Qiyu--- .../ghostscript-9.15-parallel-make.patch | 35 +++--- .../{ghostscript_9.19.bb => ghostscript_9.20.bb} | 8 ++--- 2 files changed, 21 insertions(+), 22 deletions(-) rename meta/recipes-extended/ghostscript/{ghostscript_9.19.bb => ghostscript_9.20.bb} (92%) diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch index 797b894..8fa2c40 100644 --- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch +++ b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch @@ -1,40 +1,39 @@ -From be1e1b33191afdcfe3c2ecc4ff3e361a5859e9c6 Mon Sep 17 00:00:00 2001 -From: Robert Yang -Date: Fri, 30 Jan 2015 00:40:22 -0800 -Subject: [PATCH] contrib.mak: fix for parallel build +From 14937d9247330065359ca0fb648c28dfa5c3b224 Mon Sep 17 00:00:00 2001 +From: Huang Qiyu +Date: Tue, 13 Dec 2016 18:16:41 +0900 +Subject: [PATCH] ghostscript-9.15-parallel-make -Fixed: -rm: cannot remove `/usr/share/ghostscript/9.15/lib': Is a directory +From 767bdf8a412b0cce2b734998e9b7e55abeaf932c Mon Sep 17 00:00:00 2001 +From: Huang Qiyu +Date: Tue, 13 Dec 2016 17:55:54 +0900 +Subject: [PATCH] Robert Yang Date: Fri, 30 Jan +2015 00:40:22 -0800 Subject: [PATCH] contrib.mak: fix for parallel build -Create lib before install to fix the race issue. - -Upstream-Status: Pending - -Signed-off-by: Robert Yang +Signed-off-by: Huang Qiyu --- - contrib/contrib.mak |2 ++ + contrib/contrib.mak | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/contrib.mak b/contrib/contrib.mak -index 08a80d1..de2e20d 100644 +index 55415b3..0b6b5ae 100644 --- a/contrib/contrib.mak +++ b/contrib/contrib.mak -@@ -947,6 +947,7 @@ $(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h +@@ -1099,6 +1099,7 @@ $(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h \ $(DEVCC) $(O_)$@ $(C_) $(JAPSRC)dviprlib.c - extra-dmprt-install: + extra-dmprt-install: install-libdata + mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib $(INSTALL_DATA) $(JAPSRC)dmp_init.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 $(INSTALL_DATA) $(JAPSRC)dmp_site.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 $(INSTALL_DATA) $(JAPSRC)escp_24.src $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 -@@ -1088,6 +1089,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) +@@ -1267,6 +1268,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \ ### - Additional .upp files ### - extra-upp-install: + extra-upp-install: install-libdata + mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib for f in $(CONTRIBSRC)uniprint$(D)*.upp; do \ $(INSTALL_DATA) $$f $(DESTDIR)$(gsdatadir)$(D)lib || exit 1; \ done -- -1.7.9.5 +2.7.4 diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.19.bb b/meta/recipes-extended/ghostscript/ghostscript_9.20.bb similarity index 92% rename from meta/recipes-extended/ghostscript/ghostscript_9.19.bb rename to meta/recipes-extended/ghostscript/ghostscript_9.20.bb index 8524591..0800b4e 100644 --- a/meta/recipes-extended/ghostscript/ghostscript_9.19.bb +++ b/meta/recipes-extended/ghostscript/ghostscript_9.20.bb @@ -11,14 +11,14 @@ HOMEPAGE = "http://www.ghostscript.com; SECTION = "console/utils" LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b17cea54743435ab2a581c237bea294a" +LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc" DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng" DEPENDS_class-native = "libpng-native" UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases; -SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs919/${BPN}-${PV}.tar.gz \ +SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs920/${BPN}-${PV}.tar.gz \ file://ghostscript-9.15-parallel-make.patch \ file://ghostscript-9.16-Werror-return-type.patch \ file://png_mak.patch \ @@ -37,8 +37,8 @@ SRC_URI_class-native = "${SRC_URI_BASE} \ file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ " -SRC_URI[md5sum] = "c9682ce6b852f9197c69905a43928907" -SRC_URI[sha256sum] = "cf3c0dce67db1557a87366969945f9c5235887989c0b585e037af366dc035989" +SRC_URI[md5sum] = "93c5987cd3ab341108be1ebbaadc24fe" +SRC_URI[sha256sum] =
Re: [OE-core] [PATCH 1/2] grub_git: extend recipe for proper target deployment
On 13 December 2016 at 11:19, Awais Belalwrote: > +DEPENDS_class-target += "grub-native" > The native magic won't generate dependencies on itself, so this can just be DEPENDS. > +RDEPENDS_${PN}_class-target = "diffutils freetype" > Does this really need to be class-target-specific? Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/8] oeqa/sdkext/devtool.py: remove workspace/sources before running test cases
On 12/12/2016 10:45 PM, Paul Eggleton wrote: On Wed, 16 Nov 2016 22:19:31 Robert Yang wrote: Fixed: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" $ bitbake core-image-minimal -cpopulate_sdk_ext [snip] ERROR: Source tree path /path/to/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/testsdkex t/tc/workspace/sources/v4l2loopback-driver already exists and is not empty\n' [snip] This is because the test case will run twice (environment-setup-core2-64-poky-linux and environment-setup-x86-pokymllib32-linux), it would fail in the second run, 'devtool reset' can not remove sources, so remove it before running test cases. [YOCTO #10647] Signed-off-by: Robert Yang--- meta/lib/oeqa/sdkext/devtool.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/lib/oeqa/sdkext/devtool.py b/meta/lib/oeqa/sdkext/devtool.py index 65f41f6..f101eb6 100644 --- a/meta/lib/oeqa/sdkext/devtool.py +++ b/meta/lib/oeqa/sdkext/devtool.py @@ -15,6 +15,9 @@ class DevtoolTest(oeSDKExtTest): self.myapp_cmake_dst = os.path.join(self.tc.sdktestdir, "myapp_cmake") shutil.copytree(self.myapp_cmake_src, self.myapp_cmake_dst) +# Clean sources dir to make "git clone" can run again +shutil.rmtree(os.path.join(self.tc.sdktestdir, "tc/workspace/sources"), True) + def _test_devtool_build(self, directory): self._run('devtool add myapp %s' % directory) try: It seems to me that's what's missing here is a proper teardown process like we have for oe-selftest, so that tests clean up after themselves whether they succeed or fail. I'm unsure as to whether that is part of the plan for the new QA refactoring though. To clean directories before/after the test it is not in the plans of the QA refactoring, they way Robert did the clean up is appropriated, in the setUpClass method, this way it will run before every class test and only one time. Mariano In the absence of that however I guess we don't have much choice but to do something like this. Cheers, Paul -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 00/69] Consolidated Pull
Part 1 of the final rush before M1. All green on the AB with the following caveats: - nightly-arm64 failed due to a misconfiguration on the AB - selftest failed in same-tune-same-hash, fixed in this branch and verified locally - mips-lsb failed building binutils but a rebuild worked, looks like a transient compile failure. Ross The following changes since commit 0fb96d1913603352e36c0b7a6bad71d3460e358a: meta-yocto-bsp: bump to the latest linux stable kernel for the non-x86 BSPs (2016-12-09 08:54:37 +) are available in the git repository at: ssh://g...@git.yoctoproject.org/poky-contrib ross/mut for you to fetch changes up to 1fc68e2038104a7182f36068a60642a4bb6386e8: libpcap: Disable exposed bits of WinPCAP remote capture support (2016-12-13 12:23:54 +) Alessio Igor Bogani (1): wic: Create a logical partition only when it is really mandatory Andreas Müller (1): mesa: update to 13.0.2 Armin Kuster (1): libtiff: Update to 4.0.7 Awais Belal (1): grub2: fix some quirks and div by zero Bruce Ashfield (2): linux-yocto/4.8: update to -rt7 kernel-yocto: explicitly trap subcommand errors California Sullivan (1): parselogs.py: Don't clog QA with Joule errors Carlos Alberto Lopez Perez (1): Revert "webkitgtk: drop patch 0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch" Chen Qi (2): libarchive: fix ALTERNATIVE_PRIORITY to avoid conflict Use weak assignment for SERIAL_CONSOLES in qemu configuration files Ed Bartosh (11): wic: rename command line option -p -> -s oe-run-native: standardize usage output oe-trim-schemas: create usage output beaglebone.conf: enable generation of wic.bmap oe-setup-rpmrepo: standardize usage output oe-setup-builddir: create usage output oepydevshell-internal.py: standardize usage output oe-git-proxy: create usage output oe-find-native-sysroot: create usage output oe-buildenv-internal: show usage output edgerouter.conf: enable generation of wic.bmap Fabio Berton (1): libpcap: Disable exposed bits of WinPCAP remote capture support Huang Qiyu (4): libnotify : 0.7.6 -> 0.7.7 mpfr: 3.1.4 -> 3.1.5 slang: 2.3.0 -> 2.3.1 cups: 2.1.4 -> 2.2.1 Ismo Puustinen (2): libva: check for "opengl" feature gstreamer-vaapi-1.0: check for "opengl" feature Jackie Huang (1): gcr: add missing dependencies for vapi Jason Wessel (1): systemd: Backport cgroup fix from 233 to 232 Juro Bystricky (2): edgerouter.py: avoid python3 exception targetloader.py: drop test for ClassType Jussi Kukkonen (13): matchbox-wm: Upgrade 1.2.1 -> 1.2.2 libxfont2: Add recipe xserver-xorg: Upgrade 1.18.4 -> 1.19.0 xf86-input-evdev: Upgrade 2.10.3 -> 2.10.4 xf86-input-keyboard: Upgrade 1.8.1 -> 1.9.0 xf86-input-keyboard: Remove git recipe xf86-input-mouse: Upgrade 1.9.1 -> 1.9.2 xf86-input-mouse: Remove git recipe xf86-input-synaptics: Upgrade 1.8.3 -> 1.9.0 xf86-input-synaptics: Remove git recipe xf86-video-omap: Upgrade 0.4.4 -> 0.4.5 xf86-video-vmware: Upgrade 13.1.0 -> 13.2.1 xf86-input-libinput: Upgrade 0.22 -> 0.23 Khem Raj (6): gstreamer1.0: Upgrade to 1.10.1 systemd-boot: Use PV in recipe name gstreamer1.0-plugins-bad: Define and use WAYLAND_PROTOCOLS_SYSROOT_DIR for output of pkg-config gstreamer1.0-rtsp-server: Add libcheck to deps gstreamer1.0-vaapi: Import from meta-intel puzzles: Upgrade and fix with clang Mans Rullgard (1): initscripts: populate-volatile: improve config file parsing Mariano Lopez (3): oeqa/utils/commands.py: Make a copy of variables in get_bb_vars oeqa/utils/metadata.py: Add metadata library oe-selftest: Add option to submit test result to a git repository. Maxin B. John (1): ref-images.xml: remove core-image-directfb reference Ola x Nilsson (4): devtool: selftest: add test for devtool plugin loading recipetool: selftest: Add test for recipetool plugin loading devtool: Load plugins in a well defined order recipetool: Load plugins in a well defined order Patrick Ohly (1): buildstats.py: skip collecting unavailable /proc data Ross Burton (5): tiff: set CVE_PRODUCT curl: set CVE_PRODUCT cve-check: allow recipes to override the product name archiver: don't change directory when generating tarball rm_work: add do_write_qemuboot_conf to task list Saul Wold (1): genericx86 & x86-base: Update PREFERRED_VERSION for 4.8 kernel Yuanjie Huang (1): glibc: Enable backtrace from abort on ARM Zheng Ruoqin (1): xkeyboard-config: 2.18 -> 2.19 documentation/ref-manual/ref-images.xml| 3 - meta-selftest/lib/devtool/bbpath.py| 44 ++
[OE-core] [PATCH 1/2] grub_git: extend recipe for proper target deployment
This extends the grub_git recipe so it can deploy grub on the target boot disk just like grub-efi. Mainly this copies stuff from the grub-efi recipe and then adjusts some bits accordingly. This would allow using the latest and greatest versions of grub on the target. Signed-off-by: Awais Belal--- meta/recipes-bsp/grub/grub_git.bb | 60 +++ 1 file changed, 54 insertions(+), 6 deletions(-) diff --git a/meta/recipes-bsp/grub/grub_git.bb b/meta/recipes-bsp/grub/grub_git.bb index eb824cc..86fa208 100644 --- a/meta/recipes-bsp/grub/grub_git.bb +++ b/meta/recipes-bsp/grub/grub_git.bb @@ -3,11 +3,15 @@ require grub2.inc DEFAULT_PREFERENCE = "-1" DEFAULT_PREFERENCE_arm = "1" +DEPENDS_class-target += "grub-native" +RDEPENDS_${PN}_class-target = "diffutils freetype" + FILESEXTRAPATHS =. "${FILE_DIRNAME}/grub-git:" PV = "2.00+${SRCPV}" SRCREV = "7a5b301e3adb8e054288518a325135a1883c1c6c" SRC_URI = "git://git.savannah.gnu.org/grub.git \ + file://cfg \ file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \ file://autogen.sh-exclude-pc.patch \ file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \ @@ -19,29 +23,73 @@ COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' COMPATIBLE_HOST_armv7a = 'null' COMPATIBLE_HOST_armv7ve = 'null' -inherit autotools gettext texinfo +inherit autotools gettext texinfo deploy # configure.ac has code to set this automagically from the target tuple # but the OE freeform one (core2-foo-bar-linux) don't work with that. - GRUBPLATFORM_arm = "uboot" GRUBPLATFORM_aarch64 = "efi" GRUBPLATFORM ??= "pc" +CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN=" EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} --disable-grub-mkfont --program-prefix="" \ --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no" - +EXTRA_OECONF += "${@bb.utils.contains('GRUBPLATFORM', 'efi', '--enable-efiemu=no', '', d)}" EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '--enable-largefile', '--disable-largefile', d)}" -do_install_append () { +# Determine the target arch for the grub modules +python __anonymous () { +import re +target = d.getVar('TARGET_ARCH', True) +platform = d.getVar('GRUBPLATFORM', True) +if target == "x86_64": +grubtarget = 'x86_64' +grubimage = "bootx64." + platform +elif re.match('i.86', target): +grubtarget = 'i386' +grubimage = "bootia32." + platform +elif re.match('arm', target): +grubtarget = 'arm' +grubimage = "bootarm." + platform +elif re.match('aarch64', target): +grubtarget = 'arm64' +grubimage = "bootaa64." + platform +else: +raise bb.parse.SkipPackage("grub is incompatible with target %s" % target) +d.setVar("GRUB_TARGET", grubtarget) +d.setVar("GRUB_IMAGE", grubimage) +} + +do_install_class-native() { +install -d ${D}${bindir} +install -m 755 grub-mkimage ${D}${bindir} +} + +do_install_append() { install -d ${D}${sysconfdir}/grub.d rm -rf ${D}${libdir}/charset.alias } +GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal efi_gop iso9660 search" +do_deploy() { +# Search for the grub.cfg on the local boot media by using the +# built in cfg file provided via this recipe +grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \ + -O ${GRUB_TARGET}-${GRUBPLATFORM} -o ./${GRUB_IMAGE} \ + ${GRUB_BUILDIN} +install -m 644 ${B}/${GRUB_IMAGE} ${DEPLOYDIR} +} + +do_deploy_class-native() { +: +} + +addtask deploy after do_install before do_build + # debugedit chokes on bare metal binaries INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -RDEPENDS_${PN} = "diffutils freetype" - INSANE_SKIP_${PN} = "arch" INSANE_SKIP_${PN}-dbg = "arch" + +BBCLASSEXTEND = "native" -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] grub-efi/live-vm-common: allow grub as EFI_PROVIDER
This allows grub to be used as EFI_PROVIDER and extends the grub-efi class so it can be used as is when EFI_PROVIDER is grub. Currently this can only be leveraged if you are using the grub_git recipe and GRUBPLATFORM plus EFI_PROVIDER are set correctly. Signed-off-by: Awais Belal--- meta/classes/grub-efi.bbclass | 23 +-- meta/classes/live-vm-common.bbclass | 2 +- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 17417ba..c847645 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -16,8 +16,8 @@ # ${GRUB_TIMEOUT} - timeout before executing the deault label (optional) # ${GRUB_ROOT} - grub's root device. -do_bootimg[depends] += "${MLPREFIX}grub-efi:do_deploy" -do_bootdirectdisk[depends] += "${MLPREFIX}grub-efi:do_deploy" +do_bootimg[depends] += "${MLPREFIX}${EFI_PROVIDER}:do_deploy" +do_bootdirectdisk[depends] += "${MLPREFIX}${EFI_PROVIDER}:do_deploy" GRUB_SERIAL ?= "console=ttyS0,115200" GRUB_CFG_VM = "${S}/grub_vm.cfg" @@ -40,10 +40,21 @@ efi_populate() { install -d ${DEST}${EFIDIR} - GRUB_IMAGE="bootia32.efi" - if [ "${TARGET_ARCH}" = "x86_64" ]; then - GRUB_IMAGE="bootx64.efi" - fi +if [ "${EFI_PROVIDER}" = "grub" ]; then + GRUB_IMAGE="bootia32.${GRUBPLATFORM}" + if [ "${TARGET_ARCH}" = "x86_64" ]; then + GRUB_IMAGE="bootx64.${GRUBPLATFORM}" + elif [ "${TARGET_ARCH}" = "arm" ]; then +grubimage = "bootarm.${GRUBPLATFORM}" + elif [ "${TARGET_ARCH}" = "aarch64" ]; then +grubimage = "bootaa64.${GRUBPLATFORM}" +fi +else +GRUB_IMAGE="bootia32.efi" + if [ "${TARGET_ARCH}" = "x86_64" ]; then + GRUB_IMAGE="bootx64.efi" +fi +fi install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR} EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g') printf 'fs0:%s\%s\n' "$EFIPATH" "$GRUB_IMAGE" >${DEST}/startup.nsh diff --git a/meta/classes/live-vm-common.bbclass b/meta/classes/live-vm-common.bbclass index 734697f..0af228b 100644 --- a/meta/classes/live-vm-common.bbclass +++ b/meta/classes/live-vm-common.bbclass @@ -13,7 +13,7 @@ def set_live_vm_vars(d, suffix): EFI = "${@bb.utils.contains("MACHINE_FEATURES", "efi", "1", "0", d)}" EFI_PROVIDER ?= "grub-efi" -EFI_CLASS = "${@bb.utils.contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)}" +EFI_CLASS = "${@bb.utils.contains("EFI_PROVIDER", "grub", "grub-efi", "${EFI_PROVIDER}", d)}" # Include legacy boot if MACHINE_FEATURES includes "pcbios" or if it does not # contain "efi". This way legacy is supported by default if neither is -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] why does OE's systemd have a hard dependency on qemu-native?
On 13 December 2016 at 10:34, Robert P. J. Daywrote: > DEPENDS = "kmod intltool-native gperf-native acl readline libcap >libcgroup qemu-native util-linux" > ^^^ ? > > now, i *am* building for qemuppc for testing, but the above is an > unconditional dependency on qemu-native. what does systemd need > qemu-native for? > > right below, we read: > > inherit ... qemu ... > > so, again, qemu. yet a bit further down: > Using the qemu class means you generally need to depend on qemu-native. SRC_URI_append_qemuall = " > file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" > > so now SRC_URI is modified *conditionally* based on qemuall. > This is a MACHINE-specific tweak for qemu machines, and unrelated to the qemu class. Carry on searching for qemu: pkg_postinst_udev-hwdb () { if test -n "$D"; then ${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} hwdb --update \ --root $D chown root:root $D${sysconfdir}/udev/hwdb.bin else udevadm hwdb --update fi } There is a rootfs-time postinst that uses qemu-user to run hwdb. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] why does OE's systemd have a hard dependency on qemu-native?
currently messing with systemd-coredump and, in systemd_232.bb, i see: DEPENDS = "kmod intltool-native gperf-native acl readline libcap libcgroup qemu-native util-linux" ^^^ ? now, i *am* building for qemuppc for testing, but the above is an unconditional dependency on qemu-native. what does systemd need qemu-native for? right below, we read: inherit ... qemu ... so, again, qemu. yet a bit further down: SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" so now SRC_URI is modified *conditionally* based on qemuall. can someone clarify what relationship systemd has with qemu? rday -- Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] glibc: add -fno-builtin-strlen when not using -O2
On Mon, Dec 12, 2016 at 9:14 PM, Huang, Jie (Jackie)wrote: >> From: Andre McCurdy [mailto:armccu...@gmail.com] >> For reference, here's the patch I've been using. It's a slightly more >> generic fix than the one in the KDE bug report. > > Thanks, It's a better patch and I will take it and send as v2 of this issue > if you're > not going to send it yourself, is it fine for you and could you provide extra > info > for the patch header like, upstream-status, written by or Signed-off-by? Sure. I forget why I didn't submit this at the time. The full patch is: >From d34e2a50ca5493f5a0ce9ccad83a36ac33689266 Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Fri, 12 Feb 2016 18:22:12 -0800 Subject: [PATCH] make ld-XXX.so strlen intercept optional Hack: Depending on how glibc was compiled (e.g. optimised for size or built with _FORTIFY_SOURCE enabled) the strlen symbol might not be found in ld-XXX.so. Therefore although we should still try to intercept it, don't make it mandatory to do so. Upstream-Status: Inappropriate Signed-off-by: Andre McCurdy --- coregrind/m_redir.c | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c index 7e4df8d..640a346 100644 --- a/coregrind/m_redir.c +++ b/coregrind/m_redir.c @@ -1220,7 +1220,18 @@ static void add_hardwired_spec (const HChar* sopatt, const HChar* fnpatt, spec->from_fnpatt = CONST_CAST(HChar *,fnpatt); spec->to_addr = to_addr; spec->isWrap = False; - spec->mandatory = mandatory; + + /* Hack: Depending on how glibc was compiled (e.g. optimised for size or + built with _FORTIFY_SOURCE enabled) the strlen symbol might not be found. + Therefore although we should still try to intercept it, don't make it + mandatory to do so. We over-ride "mandatory" here to avoid the need to + patch the many different architecture specific callers to + add_hardwired_spec(). */ + if (0==VG_(strcmp)("strlen", fnpatt)) + spec->mandatory = NULL; + else + spec->mandatory = mandatory; + /* VARIABLE PARTS */ spec->mark= False; /* not significant */ spec->done= False; /* not significant */ -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] libepoxy: move to tip of Emmanuele Bassi's fork
* fixes starting of kde-plasma for wayland: | No provider of glGenFramebuffers found. Requires one of: | Desktop OpenGL 3.0 | GL extension "GL_ARB_framebuffer_object" | OpenGL ES 2.0 | GL extension "GL_EXT_framebuffer_object" | /usr/bin/startplasmacompositor: line 223: 787 Aborted (core dumped) /usr/bin/kwin_wayland --xwayland --libinput --exit-with-session=/usr/libexec/startplasma * fixes some strange behavour on kde-plasma for x11: Black screen on logout / Lock screen does not return. * Eric Anholt seems to have passed maintainership of libepoxy over to Yaron Cohen-Tal. I agree that things didn't really turn out well since then [1]. * 0001-select-platforms-based-on-configuration-results.patch and 0002-add-an-option-to-disable-glx-support.patch wre replaced by 0001-make-x11-support-optional.patch [1] https://github.com/ebassi/libepoxy/commit/8dead45cb366bf5c08539bef2ccaa36b80eb1483 Signed-off-by: Andreas Müller--- patch => 0001-make-x11-support-optional.patch} | 87 +- ...0002-add-an-option-to-disable-glx-support.patch | 42 --- meta/recipes-graphics/libepoxy/libepoxy_git.bb | 9 +-- 3 files changed, 40 insertions(+), 98 deletions(-) rename meta/recipes-graphics/libepoxy/libepoxy/{0001-select-platforms-based-on-configuration-results.patch => 0001-make-x11-support-optional.patch} (55%) delete mode 100644 meta/recipes-graphics/libepoxy/libepoxy/0002-add-an-option-to-disable-glx-support.patch diff --git a/meta/recipes-graphics/libepoxy/libepoxy/0001-select-platforms-based-on-configuration-results.patch b/meta/recipes-graphics/libepoxy/libepoxy/0001-make-x11-support-optional.patch similarity index 55% rename from meta/recipes-graphics/libepoxy/libepoxy/0001-select-platforms-based-on-configuration-results.patch rename to meta/recipes-graphics/libepoxy/libepoxy/0001-make-x11-support-optional.patch index 674c8e8..7b08fd1 100644 --- a/meta/recipes-graphics/libepoxy/libepoxy/0001-select-platforms-based-on-configuration-results.patch +++ b/meta/recipes-graphics/libepoxy/libepoxy/0001-make-x11-support-optional.patch @@ -1,38 +1,52 @@ -From 3a93150bc0aec86afdb7d053247dc2448925e09a Mon Sep 17 00:00:00 2001 +From f08cd639eb731c0d8fdbbba9e4beb1041c07e0c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Wed, 6 May 2015 10:45:22 +0200 -Subject: [PATCH 1/2] select platforms based on configuration results +Date: Tue, 13 Dec 2016 00:01:47 +0100 +Subject: [PATCH] make x11 support optional MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Upstream-Status: Submitted [1] +X11 support is build by default if x11 libs are found. This can be disabled +by --disable-glx. + +A similar (bit too overenthusiastic) pull request was sent long time ago [1] +before we saw cmake trouble. There was a follow up PR in [2] but I cannot test +it so took only very common parts. + +Upstream-Status: Submitted [3] [1] https://github.com/anholt/libepoxy/pull/52 +[2] https://github.com/anholt/libepoxy/pull/81 +[3] https://github.com/ebassi/libepoxy/pull/1 Signed-off-by: Andreas Müller --- - configure.ac | 13 + - src/dispatch_common.c | 9 ++--- - src/dispatch_common.h | 9 + - 3 files changed, 16 insertions(+), 15 deletions(-) + configure.ac | 18 ++ + src/dispatch_common.c | 5 - + src/dispatch_common.h | 3 ++- + 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac -index a52fc58..bdd70da 100644 +index 2d67726..3df9966 100644 --- a/configure.ac +++ b/configure.ac -@@ -58,6 +58,10 @@ AC_CHECK_HEADER([KHR/khrplatform.h], +@@ -58,6 +58,15 @@ AC_CHECK_HEADER([KHR/khrplatform.h], # uintptr_t to a void *") by default. Kill that. XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion]) -+PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no]) ++AC_ARG_ENABLE([glx], ++[AS_HELP_STRING([--disable-glx], ++[disable if you do not want x11/glx support])], ++[enable_glx=$enableval], ++[enable_glx=yes] ++ ) + -+AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes) ++PKG_CHECK_MODULES(X11, [x11], [x11=$enable_glx], [x11=no]) + has_znow=yes case $host_os in -@@ -86,7 +90,7 @@ case $host_os in +@@ -86,7 +95,7 @@ case $host_os in ;; *) build_egl=yes @@ -41,7 +55,7 @@ index a52fc58..bdd70da 100644 build_wgl=no # On platforms with dlopen, we load everything dynamically and # don't link against a specific window system or GL implementation. -@@ -144,13 +148,6 @@ esac +@@ -144,13 +153,6 @@ esac AC_SUBST([VISIBILITY_CFLAGS]) @@ -56,10 +70,10 @@ index a52fc58..bdd70da 100644 AC_CONFIG_FILES([ diff --git a/src/dispatch_common.c b/src/dispatch_common.c
Re: [OE-core] can "IMAGE_INSTALL ?= ..." not be written in a more obvious way?
> -Original Message- > From: openembedded-core-boun...@lists.openembedded.org > [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of > Khem Raj > Sent: den 10 december 2016 22:16 > To: Robert P. J. Day > Cc: OE Core mailing list > Subject: Re: [OE-core] can "IMAGE_INSTALL ?= ..." not be written in a > more obvious way? > > On Sat, Dec 10, 2016 at 3:40 AM, Robert P. J. Day >wrote: > > > > i've nattered about this before but not sure i ever got an answer -- > > here's the last bit of core-image.bbclass: > > > > CORE_IMAGE_BASE_INSTALL = '\ > > packagegroup-core-boot \ > > packagegroup-base-extended \ > > \ > > ${CORE_IMAGE_EXTRA_INSTALL} \ > > ' > > > > CORE_IMAGE_EXTRA_INSTALL ?= "" > > > > IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}" > > > > the first time i saw that (long ago), it took me a few looks to figure > > out what was happening. can this not be written in a more obvious way: > > > > CORE_IMAGE_BASE_INSTALL = '\ > > packagegroup-core-boot \ > > packagegroup-base-extended \ > > ' > > > > CORE_IMAGE_EXTRA_INSTALL ?= "" > > > > IMAGE_INSTALL ?= " \ > > ${CORE_IMAGE_BASE_INSTALL} \ > > ${CORE_IMAGE_EXTRA_INSTALL} \ > > " > > > > is that not equivalent, or am i missing something? it's certainly > > clearer as to what's happening if people are perusing the code. > > They are same AFAICT, dont feel strongly about readability but feel > free to send a patch Careful now. Changing these can affect image recipes outside of OE-core. If one has an image recipe that inherits core-image and then defines IMAGE_INSTALL = "${CORE_IMAGE_BASE_INSTALL} my-own-packages ..." then changing CORE_IMAGE_BASE_INSTALL as per above would suddenly cause that image to miss including packages that it previously did. I recommend leaving it as is. //Peter -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] busybox: allow libiproute to handle table ids larger than 255
On 12 December 2016 at 15:40, André Draszikwrote: > ++ printf("table %s ", rtnl_rttable_n2a(tid)); > Sorry but this doesn't build here: | networking/libiproute/lib.a(iproute.o): In function `print_route': | /usr/src/debug/busybox/1.24.1-r0/busybox-1.24.1/networking/libiproute/iproute.c:294: undefined reference to `rtnl_rttable_n2a' Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH V2 4/4] package.bbclass: support persistent /var/log
On Tue, 2016-12-13 at 16:04 +0800, Chen Qi wrote: > -fs_perms_tables = 'files/fs-perms.txt' > +fs_perms_tables = ['files/fs-perms-persistent-log.txt', > 'files/fs-perms.txt'][d.getVar('VOLATILE_LOG_DIR', True) == 'yes'] Now that the rest of the changes treat VOLATILE_LOG_DIR as a boolean, this code here also needs to be changed. Otherwise VOLATILE_LOG_DIR=1 or VOLATILE_LOG_DIR=y won't work correctly. You might also want to change the description of the variable in the first patch to mention those other values. -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/8] oeqa/sdkext/devtool.py: remove workspace/sources before running test cases
On 12/13/2016 04:21 PM, Paul Eggleton wrote: On Tue, 13 Dec 2016 14:47:10 Robert Yang wrote: On 12/13/2016 02:29 PM, Paul Eggleton wrote: On Tue, 13 Dec 2016 13:56:05 Robert Yang wrote: On 12/13/2016 12:45 PM, Paul Eggleton wrote: It seems to me that's what's missing here is a proper teardown process like we have for oe-selftest, so that tests clean up after themselves whether they succeed or fail. I'm unsure as to whether that is part of the plan for the new QA refactoring though. There is already a 'devtool reset' which can do the cleanup, but it can't remove sources as I said in the commit log. devtool reset not deleting the source tree is intentional - I don't want Add an option like "devtool reset --force" ? When I met the error, the first I did was check "devtool reset", but there is no way to remove resources, so I have to remove it here to allow multilib test cases runs. I've considered this and decided against it - it just seems to me that at least one person will use it every time until one day when they wipe out their source with their changes in it. I'd really rather not be enabling that. Besides, in everyday use repeated runs of devtool add / modify on the same recipe should be at a minimum, if that's not the case then we have other issues to look at. You say there's no way to remove these, but there is - just delete the files explicitly. Or maybe fix "devtool add" to check the git repo correclty ? For example, when there is already a repo, just update it rather than clone it again. Right, that has been suggested - and it's all fine if the source tree is unmodified and just a straight update to get from where it is currently to match the upstream. However, what if it's not fast-forward, or a different repo entirely? What if there are local modifications? The multilib + testsdkext would fail without this fix. Yes, that's why I ultimately said we haven't much choice but to apply this patch. We must acknowledge however that the problem exists because the tests Got it, thanks. // Robert aren't cleaning up after themselves, which should be their responsibility. Cheers, Paul -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] extrausers.bbclass: Use PACKAGE_INSTALL instead of IMAGE_INSTALL
From: Jackie HuangThe initramfs image recipes changed to use PACKAGE_INSTALL so they will not be affected by IMAGE_INSTALL, and will cause error when inherit extrausers: | ERROR: core-image-minimal-initramfs-1.0-r0 do_rootfs: core-image-minimal-initramfs: usermod command did not succeed. So use PACKAGE_INSTALL as well in extrausers.bbclass to fix it. Signed-off-by: Jackie Huang --- meta/classes/extrausers.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/extrausers.bbclass b/meta/classes/extrausers.bbclass index 43900f3..852810e 100644 --- a/meta/classes/extrausers.bbclass +++ b/meta/classes/extrausers.bbclass @@ -15,7 +15,7 @@ inherit useradd_base -IMAGE_INSTALL_append = " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS', True))]}" +PACKAGE_INSTALL_append = " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS', True))]}" # Image level user / group settings ROOTFS_POSTPROCESS_COMMAND_append = " set_user_group;" -- 2.8.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/8] oeqa/sdkext/devtool.py: remove workspace/sources before running test cases
On Tue, 13 Dec 2016 14:47:10 Robert Yang wrote: > On 12/13/2016 02:29 PM, Paul Eggleton wrote: > > On Tue, 13 Dec 2016 13:56:05 Robert Yang wrote: > >> On 12/13/2016 12:45 PM, Paul Eggleton wrote: > >>> It seems to me that's what's missing here is a proper teardown process > >>> like we have for oe-selftest, so that tests clean up after themselves > >>> whether they succeed or fail. I'm unsure as to whether that is part of > >>> the plan for the new QA refactoring though. > >> > >> There is already a 'devtool reset' which can do the cleanup, but it > >> can't remove sources as I said in the commit log. > > > > devtool reset not deleting the source tree is intentional - I don't want > > Add an option like "devtool reset --force" ? When I met the error, the first > I did was check "devtool reset", but there is no way to remove resources, > so I have to remove it here to allow multilib test cases runs. I've considered this and decided against it - it just seems to me that at least one person will use it every time until one day when they wipe out their source with their changes in it. I'd really rather not be enabling that. Besides, in everyday use repeated runs of devtool add / modify on the same recipe should be at a minimum, if that's not the case then we have other issues to look at. You say there's no way to remove these, but there is - just delete the files explicitly. > Or maybe fix "devtool add" to check the git repo correclty ? For example, > when there is already a repo, just update it rather than clone it again. Right, that has been suggested - and it's all fine if the source tree is unmodified and just a straight update to get from where it is currently to match the upstream. However, what if it's not fast-forward, or a different repo entirely? What if there are local modifications? > The multilib + testsdkext would fail without this fix. Yes, that's why I ultimately said we haven't much choice but to apply this patch. We must acknowledge however that the problem exists because the tests aren't cleaning up after themselves, which should be their responsibility. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/8] oeqa/sdkext/devtool.py: don't reset when the test is failed
On 12/13/2016 04:07 PM, Paul Eggleton wrote: On Tue, 13 Dec 2016 14:39:46 Robert Yang wrote: On 12/13/2016 02:33 PM, Paul Eggleton wrote: On Tue, 13 Dec 2016 14:01:08 Robert Yang wrote: On 12/13/2016 12:48 PM, Paul Eggleton wrote: On Wed, 16 Nov 2016 22:19:34 Robert Yang wrote: The contents are helpful to debug when the error happens. In this case removing this is OK because we're operating on an eSDK that the tests install. However, this wouldn't be appropriate for the devtool oe- selftest tests since they are operating on the user's build system itself - not that you probably have any intention of changing those, I just wanted to note that. Sorry, I don't quite understand, does selftest uses oeqa/sdkext/devtool.py, please ? No, this is for bitbake -c testsdkext. Even if it uses devtool.py, I still think that we need keep the error contents for debugging when the error happens. It's very hard to debug when there is no error log or no workspace. I mean the equivalent oe-selftest tests in oeqa/selftest/devtool.py. Actually, I've realised something that applies here as well - leaving the files around would be OK if we stopped on the first failure, but we don't - the next test proceeds after it. How will you be able to rely on what's in the workspace if several other tests have run afterwards - not to mention ensure those tests aren't disrupted by the leftover files? That's a problem, but we really need consider debugging, otherwise it's painful when test are failed but nothing left. How about run test cases in different workspaces ? Currently when I need to debug a test, I tend to either run the test commands manually, or comment out the cleanup. If we really want to improve debugging then we ought to do it properly - have proper teardown infrastructure and then provide a mode that disables it. Thanks, I will drop the patch atm. // Robert Cheers, Paul -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/8] oeqa/sdkext/devtool.py: don't reset when the test is failed
On Tue, 13 Dec 2016 14:39:46 Robert Yang wrote: > On 12/13/2016 02:33 PM, Paul Eggleton wrote: > > On Tue, 13 Dec 2016 14:01:08 Robert Yang wrote: > >> On 12/13/2016 12:48 PM, Paul Eggleton wrote: > >>> On Wed, 16 Nov 2016 22:19:34 Robert Yang wrote: > The contents are helpful to debug when the error happens. > >>> > >>> In this case removing this is OK because we're operating on an eSDK that > >>> the tests install. However, this wouldn't be appropriate for the devtool > >>> oe- selftest tests since they are operating on the user's build system > >>> itself - not that you probably have any intention of changing those, I > >>> just wanted to note that. > >> > >> Sorry, I don't quite understand, does selftest uses > >> oeqa/sdkext/devtool.py, > >> please ? > > > > No, this is for bitbake -c testsdkext. > > > >> Even if it uses devtool.py, I still think that we need keep the > >> error contents for debugging when the error happens. It's very hard to > >> debug when there is no error log or no workspace. > > > > I mean the equivalent oe-selftest tests in oeqa/selftest/devtool.py. > > > > Actually, I've realised something that applies here as well - leaving the > > files around would be OK if we stopped on the first failure, but we don't > > - > > the next test proceeds after it. How will you be able to rely on what's in > > the workspace if several other tests have run afterwards - not to mention > > ensure those tests aren't disrupted by the leftover files? > > That's a problem, but we really need consider debugging, otherwise it's > painful when test are failed but nothing left. How about run test cases > in different workspaces ? Currently when I need to debug a test, I tend to either run the test commands manually, or comment out the cleanup. If we really want to improve debugging then we ought to do it properly - have proper teardown infrastructure and then provide a mode that disables it. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v5 0/6] wic: bugfixes & --fixed-size support, tests, oe-selftest: minor fixes
On Thu, Nov 24, 2016 at 8:08 AM, Maciej Borzeckiwrote: > v5 of a patch series previously posted here [1]. > > Changes since v4: > > * dropped `wic: selftest: do not repeat core-image-minimal` & rebased > dependant patches > > * minor formatting fix in `wic: selftest: add tests for --fixed-size > partition flags` > > [1]. > http://lists.openembedded.org/pipermail/openembedded-core/2016-November/129103.html > > Maciej Borzecki (6): > oe-selftest: enforce en_US.UTF-8 locale > oeqa/utils/commands.py: allow use of binaries from native sysroot > wic: add --fixed-size wks option > wic: selftest: avoid COMPATIBLE_HOST issues > wic: selftest: do not assume bzImage kernel image > wic: selftest: add tests for --fixed-size partition flags > > meta/lib/oeqa/selftest/wic.py | 123 > +++-- > meta/lib/oeqa/utils/commands.py| 9 ++- > scripts/lib/wic/help.py| 14 +++- > scripts/lib/wic/imager/direct.py | 2 +- > scripts/lib/wic/ksparser.py| 41 +-- > scripts/lib/wic/partition.py | 88 ++- > scripts/lib/wic/utils/partitionedfs.py | 2 +- > scripts/oe-selftest| 3 + > 8 files changed, 234 insertions(+), 48 deletions(-) Is there any additional action needed from me at this point? A rebase or a resend perhaps? Cheers, -- Maciej Borzecki RnDity -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 4/4] package.bbclass: support persistent /var/log
Add a new file, fs-perms-persistent-log.txt, which treats /var/log as a directory instead of a link. Modify package.bbclass to use this file if VOLATILE_LOG_DIR is not set to "yes". [YOCTO #6132] Signed-off-by: Chen Qi--- meta/classes/package.bbclass | 2 +- meta/files/fs-perms-persistent-log.txt | 69 ++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 meta/files/fs-perms-persistent-log.txt diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index a6f0a7a..9a423f8 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -733,7 +733,7 @@ python fixup_perms () { bbpath = d.getVar('BBPATH', True) fs_perms_tables = d.getVar('FILESYSTEM_PERMS_TABLES', True) if not fs_perms_tables: -fs_perms_tables = 'files/fs-perms.txt' +fs_perms_tables = ['files/fs-perms-persistent-log.txt', 'files/fs-perms.txt'][d.getVar('VOLATILE_LOG_DIR', True) == 'yes'] for conf_file in fs_perms_tables.split(): str += " %s" % bb.utils.which(bbpath, conf_file) return str diff --git a/meta/files/fs-perms-persistent-log.txt b/meta/files/fs-perms-persistent-log.txt new file mode 100644 index 000..2487a68 --- /dev/null +++ b/meta/files/fs-perms-persistent-log.txt @@ -0,0 +1,69 @@ +# This file contains a list of files and directories with known permissions. +# It is used by the packaging class to ensure that the permissions, owners and +# group of listed files and directories are in sync across the system. +# +# The format of this file +# +# +# +# or +# +# link +# +# : directory path +# : mode for directory +# : uid for directory +# : gid for directory +# : recursively walk the directory? true or false +# : if walking, new mode for files +# : if walking, new uid for files +# : if walking, new gid for files +# : turn the directory into a symlink point to target +# +# in mode, uid or gid, a "-" means don't change any existing values +# +# /usr/src 0755rootrootfalse - - - +# /usr/share/man 0755rootroottrue0644rootroot + +# Note: all standard config directories are automatically assigned "0755 root root false - - -" + +# Documentation should always be corrected +${mandir} 0755rootroottrue0644rootroot +${infodir} 0755rootroottrue0644rootroot +${docdir} 0755rootroottrue0644rootroot +${datadir}/gtk-doc 0755rootroottrue0644rootroot + +# Fixup locales +${datadir}/locale 0755rootroottrue0644rootroot + +# Cleanup headers +${includedir} 0755rootroottrue0644rootroot +${oldincludedir} 0755rootroottrue0644rootroot + +# Cleanup debug src +/usr/src/debug 0755rootroottrue- rootroot + +# Items from base-files +# Links +${localstatedir}/run link/run +${localstatedir}/lock link/run/lock +${localstatedir}/tmp linkvolatile/tmp + +/home 0755rootrootfalse - - - +/srv 0755rootrootfalse - - - +${prefix}/src 0755rootrootfalse - - - +${localstatedir}/local 0755rootrootfalse - - - + +# Special permissions from base-files +# Set 1777 +/tmp 01777 rootrootfalse - - - +${localstatedir}/volatile/tmp 01777 rootrootfalse - - - + +# Set 0700 +${ROOT_HOME} 0700rootrootfalse - - - + +# Set 755-lsb +/srv 0755rootrootfalse - - - + +# Set 2775-lsb +/var/mail 02775 rootmailfalse - - - -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 2/4] base-files: respect VOLATILE_LOG_DIR
Respect VOLATILE_LOG_DIR variable. In this way, if the user overrides this variable to be "no", /var/log on the final image would reside on persistent storage. [YOCTO #6132] Signed-off-by: Chen Qi--- meta/recipes-core/base-files/base-files_3.0.14.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb index 5333110..c065499 100644 --- a/meta/recipes-core/base-files/base-files_3.0.14.bb +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb @@ -41,7 +41,7 @@ dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \ ${localstatedir}/backups ${localstatedir}/lib \ /sys ${localstatedir}/lib/misc ${localstatedir}/spool \ ${localstatedir}/volatile \ - ${localstatedir}/volatile/log \ + ${localstatedir}/${@'volatile/' if oe.types.boolean('${VOLATILE_LOG_DIR}') else ''}log \ /home ${prefix}/src ${localstatedir}/local \ /media" @@ -52,7 +52,7 @@ dirs755-lsb = "/srv \ ${prefix}/lib/locale" dirs2775-lsb = "/var/mail" -volatiles = "log tmp" +volatiles = "${@'log' if oe.types.boolean('${VOLATILE_LOG_DIR}') else ''} tmp" conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \ ${sysconfdir}/issue /${sysconfdir}/issue.net \ ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \ -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 1/4] bitbake.conf: add VOLATILE_LOG_DIR variable
The default value is "yes" which results in the /var/log being a link pointing to /var/volatile/log which is on tmpfs. The user could override this value to "no" which causes /var/log to be a directory on persistent storage. [YOCTO #6132] Signed-off-by: Chen Qi--- meta/conf/bitbake.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 1472e8f..794f422 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -83,6 +83,9 @@ USRBINPATH_class-nativesdk = "/usr/bin" # Root home directory ROOT_HOME ??= "/home/root" +# If set to "yes", /var/log links to /var/volatile/log; otherwise, /var/log is on persistent storage. +VOLATILE_LOG_DIR ?= "yes" + ## # Architecture-dependent build variables. ## -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 3/4] initscripts: support persistent /var/log
Respect VOLATILE_VAR_LOG variable so that if it's set to "no", we could have persistent /var/log on the final image. [YOCTO #6132] Signed-off-by: Chen Qi--- meta/recipes-core/initscripts/initscripts-1.0/volatiles | 1 - meta/recipes-core/initscripts/initscripts_1.0.bb| 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/initscripts/initscripts-1.0/volatiles b/meta/recipes-core/initscripts/initscripts-1.0/volatiles index 297245d..6cccab7 100644 --- a/meta/recipes-core/initscripts/initscripts-1.0/volatiles +++ b/meta/recipes-core/initscripts/initscripts-1.0/volatiles @@ -25,7 +25,6 @@ d root root 1777 /run/lock none d root root 0755 /var/volatile/log none d root root 1777 /var/volatile/tmp none l root root 1777 /var/lock /run/lock -l root root 0755 /var/log /var/volatile/log l root root 0755 /var/run /run l root root 1777 /var/tmp /var/volatile/tmp l root root 1777 /tmp /var/tmp diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index 8f110b0..453116c 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb @@ -102,6 +102,9 @@ do_install () { install -m 0755${WORKDIR}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d install -m 0755${WORKDIR}/save-rtc.sh ${D}${sysconfdir}/init.d install -m 0644${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/00_core + if [ ${@ oe.types.boolean('${VOLATILE_LOG_DIR}') } = True ]; then + echo "l root root 0755 /var/log /var/volatile/log" >> ${D}${sysconfdir}/default/volatiles/00_core + fi install -m 0755${WORKDIR}/dmesg.sh ${D}${sysconfdir}/init.d install -m 0644${WORKDIR}/logrotate-dmesg.conf ${D}${sysconfdir}/ -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 0/4] Persistent /var/log support
The following changes since commit d62f18c39bc0ed3b0f5ac8465b393c15f2143ecf: targetloader.py: drop test for ClassType (2016-12-12 15:16:39 +) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib ChenQi/persistent-var-log http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/persistent-var-log Chen Qi (4): bitbake.conf: add VOLATILE_LOG_DIR variable base-files: respect VOLATILE_LOG_DIR initscripts: support persistent /var/log package.bbclass: support persistent /var/log meta/classes/package.bbclass | 2 +- meta/conf/bitbake.conf | 3 + meta/files/fs-perms-persistent-log.txt | 69 ++ meta/recipes-core/base-files/base-files_3.0.14.bb | 4 +- .../initscripts/initscripts-1.0/volatiles | 1 - meta/recipes-core/initscripts/initscripts_1.0.bb | 3 + 6 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 meta/files/fs-perms-persistent-log.txt -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core