[OE-core] [PATCH v2 1/3] devtool: second fix for running from a different directory
From: Markus LehtonenDo not change change current working directory permanently, but, only for the duration of tinfoil initialization instead. The previous fix caused very unintuitive behavior where using relative paths were solved with respect to the builddir instead of the current working directory. E.g. calling "devtool extract zlib ./zlib" would always create create srctree in ${TOPDIR}/zlib, independent of the users cwd. (From OE-Core rev: 4c7f159b0e17a0475a4a4e9dc4dd012e3d2e6a1f) Signed-off-by: Markus Lehtonen Signed-off-by: Ross Burton Signed-off-by: Paul Eggleton --- scripts/devtool| 5 + scripts/lib/devtool/__init__.py| 6 +- scripts/lib/devtool/build-image.py | 2 +- scripts/lib/devtool/deploy.py | 2 +- scripts/lib/devtool/package.py | 2 +- scripts/lib/devtool/runqemu.py | 2 +- scripts/lib/devtool/search.py | 2 +- scripts/lib/devtool/standard.py| 10 +- scripts/lib/devtool/upgrade.py | 2 +- 9 files changed, 17 insertions(+), 16 deletions(-) diff --git a/scripts/devtool b/scripts/devtool index 87df951..e4d9db3 100755 --- a/scripts/devtool +++ b/scripts/devtool @@ -221,9 +221,6 @@ def main(): if not config.read(): return -1 -# We need to be in this directory or we won't be able to initialise tinfoil -os.chdir(basepath) - bitbake_subdir = config.get('General', 'bitbake_subdir', '') if bitbake_subdir: # Normally set for use within the SDK @@ -244,7 +241,7 @@ def main(): scriptutils.logger_setup_color(logger, global_args.color) if global_args.bbpath is None: -tinfoil = setup_tinfoil(config_only=True) +tinfoil = setup_tinfoil(config_only=True, basepath=basepath) global_args.bbpath = tinfoil.config_data.getVar('BBPATH', True) else: tinfoil = None diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index f815ef2..7b1ab11 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -96,9 +96,12 @@ def exec_fakeroot(d, cmd, **kwargs): newenv[splitval[0]] = splitval[1] return subprocess.call("%s %s" % (fakerootcmd, cmd), env=newenv, **kwargs) -def setup_tinfoil(config_only=False): +def setup_tinfoil(config_only=False, basepath=None): """Initialize tinfoil api from bitbake""" import scriptpath +orig_cwd = os.path.abspath(os.curdir) +if basepath: +os.chdir(basepath) bitbakepath = scriptpath.add_bitbake_lib_path() if not bitbakepath: logger.error("Unable to find bitbake by searching parent directory of this script or PATH") @@ -108,6 +111,7 @@ def setup_tinfoil(config_only=False): tinfoil = bb.tinfoil.Tinfoil() tinfoil.prepare(config_only) tinfoil.logger.setLevel(logger.getEffectiveLevel()) +os.chdir(orig_cwd) return tinfoil def get_recipe_file(cooker, pn): diff --git a/scripts/lib/devtool/build-image.py b/scripts/lib/devtool/build-image.py index 05c1d75..e53239d 100644 --- a/scripts/lib/devtool/build-image.py +++ b/scripts/lib/devtool/build-image.py @@ -59,7 +59,7 @@ def build_image(args, config, basepath, workspace): if os.path.isfile(appendfile): os.unlink(appendfile) -tinfoil = setup_tinfoil() +tinfoil = setup_tinfoil(basepath=basepath) rd = parse_recipe(config, tinfoil, image, True) if not rd: # Error already shown diff --git a/scripts/lib/devtool/deploy.py b/scripts/lib/devtool/deploy.py index 41b666f..c90c6b1 100644 --- a/scripts/lib/devtool/deploy.py +++ b/scripts/lib/devtool/deploy.py @@ -40,7 +40,7 @@ def deploy(args, config, basepath, workspace): deploy_dir = os.path.join(basepath, 'target_deploy', args.target) deploy_file = os.path.join(deploy_dir, args.recipename + '.list') -tinfoil = setup_tinfoil() +tinfoil = setup_tinfoil(basepath=basepath) try: rd = oe.recipeutils.parse_recipe_simple(tinfoil.cooker, args.recipename, tinfoil.config_data) except Exception as e: diff --git a/scripts/lib/devtool/package.py b/scripts/lib/devtool/package.py index 28ecfed..b8d8423 100644 --- a/scripts/lib/devtool/package.py +++ b/scripts/lib/devtool/package.py @@ -34,7 +34,7 @@ def package(args, config, basepath, workspace): image_pkgtype = config.get('Package', 'image_pkgtype', '') if not image_pkgtype: -tinfoil = setup_tinfoil() +tinfoil = setup_tinfoil(basepath=basepath) try: tinfoil.prepare(config_only=True) image_pkgtype = tinfoil.config_data.getVar('IMAGE_PKGTYPE', True) diff --git a/scripts/lib/devtool/runqemu.py b/scripts/lib/devtool/runqemu.py index e7f26ab..4d08d8c 100644 --- a/scripts/lib/devtool/runqemu.py +++ b/scripts/lib/devtool/runqemu.py @@ -29,7 +29,7 @@ logger = logging.getLogger('devtool') def runqemu(args,
[OE-core] [PATCH v2 3/3] devtool: upgrade: use shutil.move instead of os.rename
From: Markus LehtonenRename fails over filesystem boundaries. Signed-off-by: Markus Lehtonen Signed-off-by: Paul Eggleton --- scripts/lib/devtool/upgrade.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py index aa53c8e..4f850cf 100644 --- a/scripts/lib/devtool/upgrade.py +++ b/scripts/lib/devtool/upgrade.py @@ -53,7 +53,7 @@ def _copy_source_code(orig, dest): dest_dir = os.path.join(dest, os.path.dirname(path)) bb.utils.mkdirhier(dest_dir) dest_path = os.path.join(dest, path) -os.rename(os.path.join(orig, path), dest_path) +shutil.move(os.path.join(orig, path), dest_path) def _get_checksums(rf): import re -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2 0/3] devtool fixes
A couple of patches Markus previously sent rebased on top of master (also applicable on top of poky master-next) to fix some minor issues in devtool, plus one minor optimisation from me. The following changes since commit 2ad7308ee7166641eff99f3b9fe6794de143f6bc: oeqa/utils/qemurunner.py: Remove duplicate message on LoggingThread start (2015-09-22 18:13:02 +0100) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib paule/devtool-fixes6 http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/devtool-fixes6 Markus Lehtonen (2): devtool: second fix for running from a different directory devtool: upgrade: use shutil.move instead of os.rename Paul Eggleton (1): devtool: runqemu: avoid recipe parse scripts/devtool| 5 + scripts/lib/devtool/__init__.py| 6 +- scripts/lib/devtool/build-image.py | 2 +- scripts/lib/devtool/deploy.py | 2 +- scripts/lib/devtool/package.py | 2 +- scripts/lib/devtool/runqemu.py | 2 +- scripts/lib/devtool/search.py | 2 +- scripts/lib/devtool/standard.py| 10 +- scripts/lib/devtool/upgrade.py | 4 ++-- 9 files changed, 18 insertions(+), 17 deletions(-) -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] State of bitbake world, Failed tasks 2015-09-13
On Fri, Sep 18, 2015 at 01:54:58PM +0200, Martin Jansa wrote: > On Wed, Aug 26, 2015 at 03:56:04PM +0200, Martin Jansa wrote: > > Time for even more PNBLACKLISTs.. > > And it got even worse. > > This run was built without sstate, so QA issues should be more complete. > I need to update the report script to show new types of QA issues (and some > old ones which weren't parsed before, because they were all fixed). Another run without sstate with QA message improvements. http://www.openembedded.org/wiki/Bitbake_World_Status == Failed tasks 2015-09-21 == INFO: jenkins-job.sh-1.3.1 Complete log available at http://logs.nslu2-linux.org/buildlogs/oe/world/log.report.20150923_015309.log === common (17) === * /meta-openembedded/meta-efl/recipes-efl/efl/azy_svn.bb, do_compile * /meta-openembedded/meta-efl/recipes-efl/efl/epdf_svn.bb, do_compile * /meta-openembedded/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb, do_compile * /meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus3_3.2.1.bb, do_configure * /meta-openembedded/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb, do_compile * /meta-openembedded/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb, do_compile * /meta-openembedded/meta-networking/recipes-support/sshguard/sshguard_git.bb, do_compile * /meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb, do_compile * /meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb, do_compile * /meta-openembedded/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb, do_compile * /meta-openembedded/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb, do_compile * /meta-openembedded/meta-oe/recipes-graphics/gerbil/gerbil_git.bb, do_compile * /meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.0.bb, do_compile * /meta-openembedded/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb, do_compile * /meta-openembedded/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb, do_compile * /meta-openembedded/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb, do_compile * /meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb, do_configure === common-x86 (3) === * /meta-browser/recipes-browser/chromium/chromium_40.0.2214.91.bb, do_compile * /meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb, do_compile * /openembedded-core/meta/recipes-gnome/gcr/gcr_3.16.0.bb, do_populate_sysroot === qemuarm (5) === * /meta-openembedded/meta-oe/recipes-extended/efivar/efivar_git.bb, do_compile * /meta-openembedded/meta-oe/recipes-qt/qt-creator/qt-creator_2.8.1.bb, do_compile * /openembedded-core/meta/recipes-gnome/gcr/gcr_3.16.0.bb, do_compile * /openembedded-core/meta/recipes-gnome/libsecret/libsecret_0.18.2.bb, do_compile * /openembedded-core/meta/recipes-support/libunwind/libunwind_1.1.bb, do_compile === qemux86 (2) === * /meta-browser/recipes-browser/chromium/cef3_280796.bb, do_compile * /meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb, do_compile === qemux86_64 (1) === * /meta-browser/recipes-browser/chromium/cef3_280796.bb, do_configure === Number of failed tasks (66) === {| class=wikitable |- || qemuarm || 22|| http://logs.nslu2-linux.org/buildlogs/oe/world//log.world.20150919_132450.log// || http://errors.yoctoproject.org:80/Errors/Build/8754/ |- || qemux86 || 22|| http://logs.nslu2-linux.org/buildlogs/oe/world//log.world.20150920_191342.log// || http://errors.yoctoproject.org:80/Errors/Build/8763/ |- || qemux86_64 || 22|| http://logs.nslu2-linux.org/buildlogs/oe/world//log.world.20150921_223757.log// || http://errors.yoctoproject.org:80/Errors/Build/8776/ |} === PNBLACKLISTs (65) === === QA issues (145) === {| class=wikitable !| Count||Issue |- ||0 ||libdir |- ||1 ||installed-vs-shipped |- ||1 ||symlink-to-sysroot |- ||1 ||unknown-configure-option |- ||18||textrel |- ||18||version-going-backwards |- ||3 ||already-stripped |- ||3 ||invalid-pkgconfig |- ||30||build-deps |- ||31||file-rdeps |- ||33||host-user-contaminated |- ||6 ||pkgname |} PNBLACKLISTs: openembedded-core/: meta-browser: meta-openembedded: meta-efl/recipes-efl/e17/diskio_svn.bb:PNBLACKLIST[diskio] ?= "broken: switch to https://git.enlightenment.org/enlightenment/modules/diskio.git/ and fix 0.0.1+svnr82070-r0.0/E-MODULES-EXTRA/diskio/e-module-diskio.edc:58. invalid state name: 'off'. "default" state must always be first." meta-efl/recipes-efl/efl/entrance_svn.bb:PNBLACKLIST[entrance] ?= "broken: switch to https://git.enlightenment.org/misc/entrance.git and fix 0.0.4+svnr82070-r7/entrance/data/themes/old/default.edc:678. invalid state name: 'defaault'. "default" state must always be first."
[OE-core] [PATCH v2 2/3] devtool: runqemu: avoid recipe parse
We only need the base configuration to get the variable values we want to get here, there's no need to parse recipes / load the cache. Signed-off-by: Paul Eggleton--- scripts/lib/devtool/runqemu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/devtool/runqemu.py b/scripts/lib/devtool/runqemu.py index 4d08d8c..5282afb 100644 --- a/scripts/lib/devtool/runqemu.py +++ b/scripts/lib/devtool/runqemu.py @@ -29,7 +29,7 @@ logger = logging.getLogger('devtool') def runqemu(args, config, basepath, workspace): """Entry point for the devtool 'runqemu' subcommand""" -tinfoil = setup_tinfoil(basepath=basepath) +tinfoil = setup_tinfoil(config_only=True, basepath=basepath) machine = tinfoil.config_data.getVar('MACHINE', True) bindir_native = tinfoil.config_data.getVar('STAGING_BINDIR_NATIVE', True) tinfoil.shutdown() -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] Error building gdk-pixbuf-native
On 22 September 2015 at 16:28, Gary Thomaswrote: > | g_module_open() failed for > /home/local/rpi2_2015-03-05/tmp/sysroots/i686-linux/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: > libharfbuzz.so.0: cannot open shared object file: No such file or directory > Here's my guess at what happened. Starting state was a complete sysroot with at least gdk-pixbuf, harfbuzz, librsvg installed. Yhen you did a new build. At least harfbuzz and gdk-pixbuf were being rebuilt, so purged from the sysroot. gdk-pixbuf rebuilt, installed into sysroot, ran the update-cache script which then found the rsvg loader from the previous sysroot that was not (yet?) removed that links to harfbuzz. Harfbuzz still isn't reinstall yet, linkage fails. Is this with master or a release? There are changes in master compared to fido to improve situations like this. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCHv2 1/2] oeqa/oetest: Remove bb as requirement for oetest.
In order for the test export runner to work oetest needs to be separated from bitbake environment. There is no need to use bb import here so we can use a logger instead. Signed-off-by: Lucian Musat--- meta/lib/oeqa/oetest.py | 29 + 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 3816c1a..0be61c2 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -11,10 +11,16 @@ import os, re, mmap import unittest import inspect import subprocess -import bb +try: +import bb +except ImportError: +pass +import logging from oeqa.utils.decorators import LogResults, gettag from sys import exc_info, exc_clear +logger = logging.getLogger("BitBake") + def getVar(obj): #extend form dict, if a variable didn't exists, need find it in testcase class VarDict(dict): @@ -89,7 +95,7 @@ def loadTests(tc, type="runtime"): suite.dependencies.append(dep_suite) break else: -bb.warn("Test %s was declared as @skipUnlessPassed('%s') but that test is either not defined or not active. Will run the test anyway." % +logger.warning("Test %s was declared as @skipUnlessPassed('%s') but that test is either not defined or not active. Will run the test anyway." % (test, depends_on)) # Use brute-force topological sort to determine ordering. Sort by # depth (higher depth = must run later), with original ordering to @@ -114,19 +120,26 @@ def custom_verbose(msg, *args, **kwargs): _buffer += msg else: _buffer += msg -bb.plain(_buffer.rstrip("\n"), *args, **kwargs) +try: +bb.plain(_buffer.rstrip("\n"), *args, **kwargs) +except NameError: +logger.info(_buffer.rstrip("\n"), *args, **kwargs) _buffer = "" def runTests(tc, type="runtime"): suite = loadTests(tc, type) -bb.note("Test modules %s" % tc.testslist) +logger.info("Test modules %s" % tc.testslist) if hasattr(tc, "tagexp") and tc.tagexp: -bb.note("Filter test cases by tags: %s" % tc.tagexp) -bb.note("Found %s tests" % suite.countTestCases()) +logger.info("Filter test cases by tags: %s" % tc.tagexp) +logger.info("Found %s tests" % suite.countTestCases()) runner = unittest.TextTestRunner(verbosity=2) -if bb.msg.loggerDefaultVerbose: -runner.stream.write = custom_verbose +try: +if bb.msg.loggerDefaultVerbose: +runner.stream.write = custom_verbose +except NameError: +# Not in bb environment? +pass result = runner.run(suite) return result -- 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 1/3] devtool: second fix for running from a different directory
On Wed, Sep 23, 2015 at 3:05 AM, Paul Eggleton < paul.eggle...@linux.intel.com> wrote: > -def setup_tinfoil(config_only=False): > +def setup_tinfoil(config_only=False, basepath=None): > """Initialize tinfoil api from bitbake""" > import scriptpath > +orig_cwd = os.path.abspath(os.curdir) > +if basepath: > +os.chdir(basepath) > bitbakepath = scriptpath.add_bitbake_lib_path() > if not bitbakepath: > logger.error("Unable to find bitbake by searching parent > directory of this script or PATH") > @@ -108,6 +111,7 @@ def setup_tinfoil(config_only=False): > tinfoil = bb.tinfoil.Tinfoil() > tinfoil.prepare(config_only) > tinfoil.logger.setLevel(logger.getEffectiveLevel()) > +os.chdir(orig_cwd) > return tinfoil > Just from a correctness standpoint, this will not go back to orig_cwd if an exception is raised. We should be using a try/finally block for things like this. -- Christopher Larson clarson at kergoth dot com Founder - BitBake, OpenEmbedded, OpenZaurus Maintainer - Tslib Senior Software Engineer, Mentor Graphics -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] gcc-5.2: disable isl
We presently don't package isl. Unfortunately, if the host is already using gcc-5.2 (as is presently the case on Arch Linux), configure will autodetect the host's libisl, and do_compile will break because the system isl headers aren't pulled in. In lieu of packaging isl, disable it for now. [YOCTO #8376] Signed-off-by: Richard Tollerton--- meta/recipes-devtools/gcc/gcc-5.2.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-5.2.inc b/meta/recipes-devtools/gcc/gcc-5.2.inc index f691f58..f6673e6 100644 --- a/meta/recipes-devtools/gcc/gcc-5.2.inc +++ b/meta/recipes-devtools/gcc/gcc-5.2.inc @@ -98,6 +98,7 @@ EXTRA_OECONF_BASE = "\ --with-cloog=no \ --enable-checking=release \ --enable-cheaders=c_global \ +--without-isl \ " EXTRA_OECONF_INITIAL = "\ @@ -109,6 +110,7 @@ EXTRA_OECONF_INITIAL = "\ --disable-lto \ --disable-plugin \ --enable-decimal-float=no \ +--without-isl \ " EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float " -- 2.5.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] oeqa/runexported: Removed DEPLOY_DIR as mandatory.
On Wed, Sep 23, 2015 at 2:02 AM, Lucian Musatwrote: > We don't need DEPLOY_DIR for every runtime test so there is no > need for it to be mandatory. > > Signed-off-by: Lucian Musat > --- > meta/lib/oeqa/runexported.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/lib/oeqa/runexported.py b/meta/lib/oeqa/runexported.py > index 96442b1..7d68965 100755 > --- a/meta/lib/oeqa/runexported.py > +++ b/meta/lib/oeqa/runexported.py > @@ -112,7 +112,7 @@ def main(): > d["DEPLOY_DIR"] = options.deploy_dir > else: > if not os.path.isdir(d["DEPLOY_DIR"]): > -raise Exception("The path to DEPLOY_DIR does not exists: %s" > % d["DEPLOY_DIR"]) > +print "WARNING: The path to DEPLOY_DIR does not exist: %s" % > d["DEPLOY_DIR"] > First, we generally use loggers / the bb messaging commands instead of print. Assuming that's not appropriate here for some reason, at least use the print function, not the print command, to make the python more forward portable. The command no longer works in future versions of python. -- Christopher Larson clarson at kergoth dot com Founder - BitBake, OpenEmbedded, OpenZaurus Maintainer - Tslib Senior Software Engineer, Mentor Graphics -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] oeqa/runexported: Removed DEPLOY_DIR as mandatory.
From: kerg...@gmail.com [mailto:kerg...@gmail.com] On Behalf Of Christopher Larson Sent: Wednesday, September 23, 2015 6:12 PM To: Musat, George L Cc: Patches and discussions about the oe-core layer Subject: Re: [OE-core] [PATCH 2/2] oeqa/runexported: Removed DEPLOY_DIR as mandatory. Sorry, didn’t know that. Cannot use bb here because the test export system is outside the bitbake environment. Will send v2 of the patch with the print function. On Wed, Sep 23, 2015 at 2:02 AM, Lucian Musat> wrote: We don't need DEPLOY_DIR for every runtime test so there is no need for it to be mandatory. Signed-off-by: Lucian Musat > --- meta/lib/oeqa/runexported.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/runexported.py b/meta/lib/oeqa/runexported.py index 96442b1..7d68965 100755 --- a/meta/lib/oeqa/runexported.py +++ b/meta/lib/oeqa/runexported.py @@ -112,7 +112,7 @@ def main(): d["DEPLOY_DIR"] = options.deploy_dir else: if not os.path.isdir(d["DEPLOY_DIR"]): -raise Exception("The path to DEPLOY_DIR does not exists: %s" % d["DEPLOY_DIR"]) +print "WARNING: The path to DEPLOY_DIR does not exist: %s" % d["DEPLOY_DIR"] First, we generally use loggers / the bb messaging commands instead of print. Assuming that's not appropriate here for some reason, at least use the print function, not the print command, to make the python more forward portable. The command no longer works in future versions of python. -- Christopher Larson clarson at kergoth dot com Founder - BitBake, OpenEmbedded, OpenZaurus Maintainer - Tslib Senior Software Engineer, Mentor Graphics -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] gcc-5.2: disable isl
This is ok On Sep 23, 2015 7:36 AM, "Richard Tollerton"wrote: > We presently don't package isl. Unfortunately, if the host is already > using gcc-5.2 (as is presently the case on Arch Linux), configure will > autodetect the host's libisl, and do_compile will break because the > system isl headers aren't pulled in. In lieu of packaging isl, disable > it for now. > > [YOCTO #8376] > > Signed-off-by: Richard Tollerton > --- > meta/recipes-devtools/gcc/gcc-5.2.inc | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/meta/recipes-devtools/gcc/gcc-5.2.inc > b/meta/recipes-devtools/gcc/gcc-5.2.inc > index f691f58..f6673e6 100644 > --- a/meta/recipes-devtools/gcc/gcc-5.2.inc > +++ b/meta/recipes-devtools/gcc/gcc-5.2.inc > @@ -98,6 +98,7 @@ EXTRA_OECONF_BASE = "\ > --with-cloog=no \ > --enable-checking=release \ > --enable-cheaders=c_global \ > +--without-isl \ > " > > EXTRA_OECONF_INITIAL = "\ > @@ -109,6 +110,7 @@ EXTRA_OECONF_INITIAL = "\ > --disable-lto \ > --disable-plugin \ > --enable-decimal-float=no \ > +--without-isl \ > " > > EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float " > -- > 2.5.2 > > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCHv2 2/2] oeqa/runexported: Removed DEPLOY_DIR as mandatory.
We don't need DEPLOY_DIR for every runtime test so there is no need for it to be mandatory. Signed-off-by: Lucian Musat--- meta/lib/oeqa/runexported.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/runexported.py b/meta/lib/oeqa/runexported.py index 96442b1..4213cab 100755 --- a/meta/lib/oeqa/runexported.py +++ b/meta/lib/oeqa/runexported.py @@ -112,7 +112,7 @@ def main(): d["DEPLOY_DIR"] = options.deploy_dir else: if not os.path.isdir(d["DEPLOY_DIR"]): -raise Exception("The path to DEPLOY_DIR does not exists: %s" % d["DEPLOY_DIR"]) +print("WARNING: The path to DEPLOY_DIR does not exist: %s" % d["DEPLOY_DIR"]) target = FakeTarget(d) -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] sanity.bbclass: show warning when chmod fails
From: Alex Franco* for some reason this part of: http://patchwork.openembedded.org/patch/102561/ wasn't ever merged. [YOCTO #7669] Signed-off-by: Alex Franco Signed-off-by: Martin Jansa --- meta/classes/sanity.bbclass | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index 2eb744f..34f8618 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -839,9 +839,12 @@ def check_sanity_everybuild(status, d): else: bb.utils.mkdirhier(tmpdir) # Remove setuid, setgid and sticky bits from TMPDIR -os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISUID) -os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISGID) -os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISVTX) +try: +os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISUID) +os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISGID) +os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISVTX) +except OSError: +bb.warn("Unable to chmod TMPDIR: %s" % tmpdir) with open(checkfile, "w") as f: f.write(tmpdir) -- 2.5.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 1/3] devtool: second fix for running from a different directory
On Wednesday 23 September 2015 08:09:37 Christopher Larson wrote: > On Wed, Sep 23, 2015 at 3:05 AM, Paul Eggleton < > > paul.eggle...@linux.intel.com> wrote: > > -def setup_tinfoil(config_only=False): > > > > +def setup_tinfoil(config_only=False, basepath=None): > > """Initialize tinfoil api from bitbake""" > > import scriptpath > > > > +orig_cwd = os.path.abspath(os.curdir) > > +if basepath: > > +os.chdir(basepath) > > > > bitbakepath = scriptpath.add_bitbake_lib_path() > > > > if not bitbakepath: > > logger.error("Unable to find bitbake by searching parent > > > > directory of this script or PATH") > > > > @@ -108,6 +111,7 @@ def setup_tinfoil(config_only=False): > > tinfoil = bb.tinfoil.Tinfoil() > > tinfoil.prepare(config_only) > > tinfoil.logger.setLevel(logger.getEffectiveLevel()) > > > > +os.chdir(orig_cwd) > > > > return tinfoil > > Just from a correctness standpoint, this will not go back to orig_cwd if an > exception is raised. We should be using a try/finally block for things like > this. That is a good point yes. I can send out a v3. 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] [oe-commits] Ross Burton : Revert "systemd: disable problematic GCC 5.2 optimizations"
On Wed, Sep 23, 2015 at 09:46:27PM +, g...@git.openembedded.org wrote: > Module: openembedded-core.git > Branch: master-next > Commit: e5e69130c3cf20a95bab1561716d7e54db0fe1ee > URL: > http://git.openembedded.org/?p=openembedded-core.git=commit;h=e5e69130c3cf20a95bab1561716d7e54db0fe1ee > > Author: Ross Burton> Date: Tue Sep 22 10:05:23 2015 +0100 > > Revert "systemd: disable problematic GCC 5.2 optimizations" Please put at least some explanation why it was reverted. > This reverts commit d347bd8b672fbd614a6267f640133cf399b9645f. > > Signed-off-by: Richard Purdie > > --- > > meta/recipes-core/systemd/systemd_225.bb | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/meta/recipes-core/systemd/systemd_225.bb > b/meta/recipes-core/systemd/systemd_225.bb > index 4a19ff4..f7d4c7d 100644 > --- a/meta/recipes-core/systemd/systemd_225.bb > +++ b/meta/recipes-core/systemd/systemd_225.bb > @@ -123,9 +123,6 @@ EXTRA_OECONF = " --with-rootprefix=${rootprefix} \ > # uclibc does not have NSS > EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname " > > -# disable problematic GCC 5.2 optimizations [YOCTO #8291] > -FULL_OPTIMIZATION += "-fno-schedule-insns -fno-schedule-insns2" > - > do_configure_prepend() { > export NM="${HOST_PREFIX}gcc-nm" > export AR="${HOST_PREFIX}gcc-ar" > > -- > ___ > Openembedded-commits mailing list > openembedded-comm...@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-commits -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/3] oe.scriptutils: add logger_setup_filters
From: Christopher LarsonThis function sets up the default bb.msg formatter and log filters, which by default sends ERROR messages to stderr rather than stdout. Signed-off-by: Christopher Larson --- scripts/lib/scriptutils.py | 15 +++ 1 file changed, 15 insertions(+) diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py index 3c165eb..db0394a 100644 --- a/scripts/lib/scriptutils.py +++ b/scripts/lib/scriptutils.py @@ -20,6 +20,7 @@ import os import logging import glob + def logger_create(name): logger = logging.getLogger(name) loggerhandler = logging.StreamHandler() @@ -28,6 +29,20 @@ def logger_create(name): logger.setLevel(logging.INFO) return logger + +def logger_setup_filters(logger): +import bb.msg + +console = logging.StreamHandler(sys.stdout) +errconsole = logging.StreamHandler(sys.stderr) +bb.msg.addDefaultlogFilter(console, bb.msg.BBLogFilterStdOut) +bb.msg.addDefaultlogFilter(errconsole, bb.msg.BBLogFilterStdErr) +format_str = "%(levelname)s: %(message)s" +console.setFormatter(bb.msg.BBLogFormatter(format_str)) +errconsole.setFormatter(bb.msg.BBLogFormatter(format_str)) +logger.handlers = [console, errconsole] + + def logger_setup_color(logger, color='auto'): from bb.msg import BBLogFormatter -- 2.2.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/3] oe.scriptutils: enable color in a more flexible way
From: Christopher LarsonRather than recreating handlers and forcing them, iterate over the handlers and enable color on ones we can handle. This makes it easier to handle color properly when we introduce the bb.msg default log filters. Signed-off-by: Christopher Larson --- scripts/lib/scriptutils.py | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py index 3366882..3c165eb 100644 --- a/scripts/lib/scriptutils.py +++ b/scripts/lib/scriptutils.py @@ -30,12 +30,12 @@ def logger_create(name): def logger_setup_color(logger, color='auto'): from bb.msg import BBLogFormatter -console = logging.StreamHandler(sys.stdout) -formatter = BBLogFormatter("%(levelname)s: %(message)s") -console.setFormatter(formatter) -logger.handlers = [console] -if color == 'always' or (color=='auto' and console.stream.isatty()): -formatter.enable_color() + +for handler in logger.handlers: +if (isinstance(handler, logging.StreamHandler) and +isinstance(handler.formatter, BBLogFormatter)): +if color == 'always' or (color == 'auto' and handler.stream.isatty()): +handler.formatter.enable_color() def load_plugins(logger, plugins, pluginpath): @@ -59,6 +59,7 @@ def load_plugins(logger, plugins, pluginpath): plugin.plugin_init(plugins) plugins.append(plugin) + def git_convert_standalone_clone(repodir): """If specified directory is a git repository, ensure it's a standalone clone""" import bb.process @@ -70,6 +71,7 @@ def git_convert_standalone_clone(repodir): bb.process.run('git repack -a', cwd=repodir) os.remove(alternatesfile) + def fetch_uri(d, uri, destdir, srcrev=None): """Fetch a URI to a local directory""" import bb.data -- 2.2.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/3] recipetool, devtool: set up the logging filters
From: Christopher LarsonWe want errors going to stderr, the way they do in bitbake itself. Signed-off-by: Christopher Larson --- scripts/devtool| 1 + scripts/recipetool | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/devtool b/scripts/devtool index 87df951..5146538 100755 --- a/scripts/devtool +++ b/scripts/devtool @@ -241,6 +241,7 @@ def main(): logger.debug('Using standard bitbake path %s' % bitbakepath) scriptpath.add_oe_lib_path() +scriptutils.logger_setup_filters(logger) scriptutils.logger_setup_color(logger, global_args.color) if global_args.bbpath is None: diff --git a/scripts/recipetool b/scripts/recipetool index 87fb35e..a1fc6e6 100755 --- a/scripts/recipetool +++ b/scripts/recipetool @@ -72,6 +72,7 @@ def main(): sys.exit(1) logger.debug('Found bitbake path: %s' % bitbakepath) +scriptutils.logger_setup_filters(logger) scriptutils.logger_setup_color(logger, global_args.color) tinfoil = tinfoil_init(False) -- 2.2.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/3] recipetool/devtool: send errors to stderr
From: Christopher LarsonThis aligns with the behavior of bitbake proper. There is a bit of code duplication between knotty and scriptutils, but that's not new -- that was the case before as well. We should consider moving these logger configuration functions into bb.msg. The following changes since commit 2ad7308ee7166641eff99f3b9fe6794de143f6bc: oeqa/utils/qemurunner.py: Remove duplicate message on LoggingThread start (2015-09-22 18:13:02 +0100) are available in the git repository at: git://github.com/kergoth/openembedded-core scriptutils-log-improvements https://github.com/kergoth/openembedded-core/tree/scriptutils-log-improvements Christopher Larson (3): oe.scriptutils: enable color in a more flexible way oe.scriptutils: add logger_setup_filters recipetool, devtool: set up the logging filters scripts/devtool| 1 + scripts/lib/scriptutils.py | 29 +++-- scripts/recipetool | 1 + 3 files changed, 25 insertions(+), 6 deletions(-) -- 2.2.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2 1/1] gmp: Use __gnu_inline__ attribute in 4.2.1
gcc 5 defaults to C11 rules about "extern inline": this breaks any code that includes gmp.h header from gmp 4.2.1 with 'multiple definition' errors. disable-stdc patch is no longer required because of this. Signed-off-by: Jussi Kukkonen--- Changes since v1: I was rightly reminded backporting things from incompatible licenses would be The Most Wrong Thing. This patch is not quite as complete (as it changes behaviour for all gcc versions) but it is all my work and should work fine for us. Thanks/Sorry, Jussi .../gmp-4.2.1/Use-__gnu_inline__-attribute.patch | 36 .../gmp/gmp-4.2.1/disable-stdc.patch | 39 -- meta/recipes-support/gmp/gmp_4.2.1.bb | 2 +- 3 files changed, 37 insertions(+), 40 deletions(-) create mode 100644 meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch delete mode 100644 meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch diff --git a/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch b/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch new file mode 100644 index 000..627d71a --- /dev/null +++ b/meta/recipes-support/gmp/gmp-4.2.1/Use-__gnu_inline__-attribute.patch @@ -0,0 +1,36 @@ +From 3cb33502bafd04b8ad4ca3454fab16d5ff313297 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Tue, 22 Sep 2015 13:16:23 +0300 +Subject: [PATCH] Use __gnu_inline__ attribute + +gcc5 uses C11 inline rules. This means the old "extern inline" +semantics are not available without a special attribute. + +See: https://gcc.gnu.org/gcc-5/porting_to.html + +Upstream-Status: Inappropriate [Fixed in current versions] +Signed-off-by: Jussi Kukkonen +--- + gmp-h.in | 5 - + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/gmp-h.in b/gmp-h.in +index eed6fe4..361dd1d 100644 +--- a/gmp-h.in b/gmp-h.in +@@ -419,8 +419,11 @@ typedef __mpq_struct *mpq_ptr; + /* gcc has __inline__ in all modes, including strict ansi. Give a prototype +for an inline too, so as to correctly specify "dllimport" on windows, in +case the function is called rather than inlined. */ ++ ++/* Use __gnu_inline__ attribute: later gcc uses different "extern inline" ++ behaviour */ + #ifdef __GNUC__ +-#define __GMP_EXTERN_INLINE extern __inline__ ++#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) + #define __GMP_INLINE_PROTOTYPES 1 + #endif + +-- +2.1.4 + diff --git a/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch b/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch deleted file mode 100644 index 5decb1c..000 --- a/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch +++ /dev/null @@ -1,39 +0,0 @@ -This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly -dropped. - -Upstream is not interested in patches for ancient versions. - -Upstream-Status: Inappropriate -Signed-off-by: Jussi Kukkonen - -# "extern inline" in traditional gcc means that the function should be -# inlined wherever it's seen, while in C99, "extern inline" means that i -# the function should only be inlined where the inline definition is -# seen while in other places it's not inlined: -# http://gcc.gnu.org/ml/gcc/2006-11/msg6.html -# -# gmp checks "--std=gnu99" to use C99 convention however it internally -# defines some "extern inline" functions in gmp.h, which is included -# by mainly .c files and finally lead a flood of redefinition function -# errors when linking objects together. -# -# So disable C99/ANSI detection to stick to tranditional gcc behavior -# -# by Kevin Tian , 2010-08-13 -# -# (this patch is licensed under GPLv2+) - -diff --git a/configure.in b/configure.in -index 450cc92..aab0b59 100644 a/configure.in -+++ b/configure.in -@@ -1869,9 +1869,7 @@ AC_SUBST(DEFN_LONG_LONG_LIMB) - - # The C compiler and preprocessor, put into ANSI mode if possible. - AC_PROG_CC --AC_PROG_CC_STDC - AC_PROG_CPP --GMP_H_ANSI - - - # The C compiler on the build system, and associated tests. diff --git a/meta/recipes-support/gmp/gmp_4.2.1.bb b/meta/recipes-support/gmp/gmp_4.2.1.bb index 928c01a..bfc6a38 100644 --- a/meta/recipes-support/gmp/gmp_4.2.1.bb +++ b/meta/recipes-support/gmp/gmp_4.2.1.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \ file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ file://gmp-h.in;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34" -SRC_URI += "file://disable-stdc.patch \ +SRC_URI += "file://Use-__gnu_inline__-attribute.patch \ file://gmp_fix_for_automake-1.12.patch \ " -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org
[OE-core] [PATCH] guile: cleanup buildpaths and add RDEPENDS on pkgconfig
From: Jackie Huang* fix the path for "define %pkg-config-program" in guile-config * clean the --sysroot in guile-snarf * add RDEPENDS on pkgconfig Signed-off-by: Jackie Huang --- meta/recipes-devtools/guile/guile_2.0.11.bb | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/guile/guile_2.0.11.bb b/meta/recipes-devtools/guile/guile_2.0.11.bb index a485fe3..00553b5 100644 --- a/meta/recipes-devtools/guile/guile_2.0.11.bb +++ b/meta/recipes-devtools/guile/guile_2.0.11.bb @@ -39,7 +39,11 @@ DEPENDS = "libunistring bdwgc gmp libtool libffi ncurses readline" # add guile-native only to the target recipe's DEPENDS DEPENDS_append_class-target = " guile-native libatomic-ops" -RDEPENDS_${PN}_append_libc-glibc_class-target = "glibc-gconv-iso8859-1" +# The comment of the script guile-config said it has been deprecated but we should +# at least add the required dependency to make it work since we still provide the script. +RDEPENDS_${PN} = "pkgconfig" + +RDEPENDS_${PN}_append_libc-glibc_class-target = " glibc-gconv-iso8859-1" # Workaround when DEBUG_BUILD = "1" CFLAGS_append_arm = " -O2" @@ -80,6 +84,12 @@ do_install_append_class-native() { GUILE_LOAD_COMPILED_PATH=${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache } +do_install_append_class-target() { + # cleanup buildpaths in scripts + sed -i -e 's:${STAGING_DIR_NATIVE}::' ${D}/usr/bin/guile-config + sed -i -e 's:${STAGING_DIR_HOST}::' ${D}/usr/bin/guile-snarf +} + SYSROOT_PREPROCESS_FUNCS = "guile_cross_config" guile_cross_config() { -- 2.3.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] oeqa/runexported: Removed DEPLOY_DIR as mandatory.
We don't need DEPLOY_DIR for every runtime test so there is no need for it to be mandatory. Signed-off-by: Lucian Musat--- meta/lib/oeqa/runexported.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/runexported.py b/meta/lib/oeqa/runexported.py index 96442b1..7d68965 100755 --- a/meta/lib/oeqa/runexported.py +++ b/meta/lib/oeqa/runexported.py @@ -112,7 +112,7 @@ def main(): d["DEPLOY_DIR"] = options.deploy_dir else: if not os.path.isdir(d["DEPLOY_DIR"]): -raise Exception("The path to DEPLOY_DIR does not exists: %s" % d["DEPLOY_DIR"]) +print "WARNING: The path to DEPLOY_DIR does not exist: %s" % d["DEPLOY_DIR"] target = FakeTarget(d) -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] oeqa/oetest: Remove bb as requirement for oetest.
In order for the test export runner to work oetest needs to be separated from bitbake environment. There is no need to use bb import here so we can use a logger instead. Signed-off-by: Lucian Musat--- meta/lib/oeqa/oetest.py | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index a6f89b6..1e10c6c 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -11,10 +11,12 @@ import os, re, mmap import unittest import inspect import subprocess -import bb +import logging from oeqa.utils.decorators import LogResults, gettag from sys import exc_info, exc_clear +logger = logging.getLogger("BitBake") + def getVar(obj): #extend form dict, if a variable didn't exists, need find it in testcase class VarDict(dict): @@ -89,7 +91,7 @@ def loadTests(tc, type="runtime"): suite.dependencies.append(dep_suite) break else: -bb.warn("Test %s was declared as @skipUnlessPassed('%s') but that test is either not defined or not active. Will run the test anyway." % +logger.warning("Test %s was declared as @skipUnlessPassed('%s') but that test is either not defined or not active. Will run the test anyway." % (test, depends_on)) # Use brute-force topological sort to determine ordering. Sort by # depth (higher depth = must run later), with original ordering to @@ -109,10 +111,10 @@ def loadTests(tc, type="runtime"): def runTests(tc, type="runtime"): suite = loadTests(tc, type) -bb.note("Test modules %s" % tc.testslist) +logger.info("Test modules %s" % tc.testslist) if hasattr(tc, "tagexp") and tc.tagexp: -bb.note("Filter test cases by tags: %s" % tc.tagexp) -bb.note("Found %s tests" % suite.countTestCases()) +logger.info("Filter test cases by tags: %s" % tc.tagexp) +logger.info("Found %s tests" % suite.countTestCases()) runner = unittest.TextTestRunner(verbosity=2) result = runner.run(suite) -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] hand the TEMPLATECONF local over to setup-builddir
Hello Lee, wow, thanks for clearing testing this; actually, to trigger my personal need for a patch, variant # A was used. Cheers, Marcus On 22.09.2015 22:25, Lee Nipper wrote: > On Tue, Sep 22, 2015 at 1:45 PM, Marcus Müller >> wrote: > > Hello, > > If I understand correctly it allows a user prepared $TEMPLATECONF > > directory > > to be used by oe-setup-builddir. > Indeed; the point is that oe-setup-builddir was definitely meant to be > used with a TEMPLATECONF set by the user; in bash, the TEMPLATECONF > local variable is automatically passed on from oe-init-build-env to > oe-setup-builddir¹, but in zsh, this doesn't work without explicitely > declaring that should happen (which is the only thing my patch does). > > Best regards, > Marcus > > ¹ not quite sure how; it's a local to the calling script and shouldn't > be a local or env variable to the callee, IMHO. > > > > Hello Marcus, > > FWIW, I did some test cases to understand the differences. > > With bash 4.3.11, and the examples below, > cases A and B will pass along TEMPLATECONF, but case C does not. > Your patch makes case C work as well. > > # A: > > TEMPLATECONF=$HOME/my-template-dir source > ~/openembedded-core/oe-init-build-env $HOME/my-build-dir > > # B: > export TEMPLATECONF=$HOME/my-template-dir; source > ~/openembedded-core/oe-init-build-env $HOME/my-build-dir > > # C: > TEMPLATECONF=$HOME/my-template-dir; source > ~/openembedded-core/oe-init-build-env $HOME/my-build-dir > > > And with zsh 5.0.2, case B will pass along TEMPLATECONF, but cases A > and C do not. > Your patch makes cases A and C work as well with zsh. > > I did not expect case A to be different than case C for bash, but it > apparently works differently than I thought. > > Best regards, > Lee > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/1] p11-kit: configure without trust-paths
From: Kai KangConfigure option --with-trust-paths is only used for test scripts trust/test-extract which is not packaged by default. If the option is not provided, it checks 4 files on build machine. If the files don't exist, configure fails. Add configure option '--without-trust-paths' to fix this issue. Signed-off-by: Kai Kang --- meta/recipes-support/p11-kit/p11-kit_0.22.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-support/p11-kit/p11-kit_0.22.1.bb b/meta/recipes-support/p11-kit/p11-kit_0.22.1.bb index 7ad9626..ee77951 100644 --- a/meta/recipes-support/p11-kit/p11-kit_0.22.1.bb +++ b/meta/recipes-support/p11-kit/p11-kit_0.22.1.bb @@ -10,6 +10,8 @@ SRC_URI = "http://p11-glue.freedesktop.org/releases/${BP}.tar.gz; SRC_URI[md5sum] = "4e9bea1106628ffb820bdad24a819fac" SRC_URI[sha256sum] = "ef3a339fcf6aa0e32c8c23f79ba7191e57312be2bda8b24e6d121c2670539a5c" +EXTRA_OECONF = "--without-trust-paths" + FILES_${PN}-dev += " \ ${libdir}/p11-kit-proxy.so \ ${libdir}/pkcs11/p11-kit-trust.so \ -- 2.6.0.rc2.10.gf4d9753 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/1] Configure p11-kit without trust-paths
From: Kai KangThe following changes since commit 7b86c771c80d0759c2ca0e57c46c4c966f89c49e: bitbake: bitbake: bb.fetch2.git: Import errno module (2015-09-19 22:38:44 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib kangkai/p11 http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/p11 Kai Kang (1): p11-kit: configure without trust-paths meta/recipes-support/p11-kit/p11-kit_0.22.1.bb | 2 ++ 1 file changed, 2 insertions(+) -- 2.6.0.rc2.10.gf4d9753 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] gcc-shared-source: Set empty SRC_URI
gcc-source is the only gcc recipe meant to handle the fetch/unpack/patch tasks, the other gcc recipes then depend on this. This approach has been creating some confusion for tools like the archiver. The simplest way to signal to these processes that there is no source is to empty SRC_URI at the same time we disable the other tasks. Signed-off-by: Richard Purdiediff --git a/meta/recipes-devtools/gcc/gcc-shared-source.inc b/meta/recipes-devtools/gcc/gcc-shared-source.inc index 9acffb1..aac4b49 100644 --- a/meta/recipes-devtools/gcc/gcc-shared-source.inc +++ b/meta/recipes-devtools/gcc/gcc-shared-source.inc @@ -5,5 +5,7 @@ do_fetch[noexec] = "1" deltask do_unpack deltask do_patch +SRC_URI = "" + do_configure[depends] += "gcc-source-${PV}:do_preconfigure" do_populate_lic[depends] += "gcc-source-${PV}:do_unpack" -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/6] Fixes for mutilib SDK
On Tue, 2015-09-22 at 10:45 +0800, Robert Yang wrote: > Hi RP and Ross, > > These patches are required by multilib's do_rootfs and do_populate_sdk, > otherwise they are broken or partly broken. These patches don't affect > do_rootfs or do_populate_sdk without multilib are to be installed. Thanks for these. Patches 1-4 look ok, we can try them in -next however I do worry about 5 and 6. Could you confirm if you tested those before or after the recent data store changes? Its possible the OVERRIDE fixes there may have fixed the issues 5 and 6 were trying to fix so I'd like to confirm if they're still needed or not. If they are, they don't look like the right solution so I'll need to look further at the exact issue there. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] systemd: fix tmpfiles location when multilib in use
On 23 September 2015 at 22:20, Chatre, Reinettewrote: > [Reinette] At the moment the rest of this recipe uses ${exec_prefix}/lib > instead of the new ${nonarch_libdir}. I chose to use ${exec_prefix}/lib to > remain consistent with the rest of the recipe since doing so makes it clear > that the files being checked for matches _exactly_ (same variable name) > with where they are installed. If you would like to transition this recipe > to using ${nonarch_libdir} then I think it will be more appropriate to do > so with a different patch in addition to this one. If this is what you > prefer to see then I can submit a new patch to do so. Even when doing so I > would prefer to see this fix go in first so that we can do an easier > backport of it to fido since cleanups are not appropriate there (and > ${nonarch_libdir} does not exist there). Considering this, could you please > reconsider taking this patch and I will submit an additional one to be > applied afterwards to do the transition to ${nonarch_libdir}. > That's a good argument, agreed. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] oeqa/runtime/parselogs.py: Fix dmesg log retrieve in sato
Sato uses busybox that fails to write log using echo "" because dmesg output can contain special characters. [YOCTO #8377] Signed-off-by: Aníbal Limón--- meta/lib/oeqa/runtime/parselogs.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta/lib/oeqa/runtime/parselogs.py b/meta/lib/oeqa/runtime/parselogs.py index e20947b..e2dd3eb 100644 --- a/meta/lib/oeqa/runtime/parselogs.py +++ b/meta/lib/oeqa/runtime/parselogs.py @@ -233,8 +233,7 @@ class ParseLogsTest(oeRuntimeTest): #get the output of dmesg and write it in a file. This file is added to log_locations. def write_dmesg(self): -(status, dmesg) = self.target.run("dmesg") -(status, dmesg2) = self.target.run("echo \""+str(dmesg)+"\" > /tmp/dmesg_output.log") +(status, dmesg) = self.target.run("dmesg > /tmp/dmesg_output.log") @testcase(1059) @skipUnlessPassed('test_ssh') -- 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] kmod: Change SRCREV to fix return code in error path
Systemd is failing trying to load kdbus [1] because kmod have an error in return code when try to insert module [2]. This change of SRCREV is a MINOR one only include the fix described. [YOCTO #8377] [1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=8377#c0 [2] http://lists.freedesktop.org/archives/systemd-devel/2015-July/033549.html Signed-off-by: Aníbal Limón--- meta/recipes-kernel/kmod/kmod.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-kernel/kmod/kmod.inc b/meta/recipes-kernel/kmod/kmod.inc index e9aa67d..71ffdf8 100644 --- a/meta/recipes-kernel/kmod/kmod.inc +++ b/meta/recipes-kernel/kmod/kmod.inc @@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ " inherit autotools gtk-doc -SRCREV = "0d833715eaa65636dda2705b89359a1e0154dc58" +SRCREV = "114ec87c85c35a2bd3682f9f891e494127be6fb5" # Lookout for PV bump too when SRCREV is changed PV = "21+git${SRCPV}" -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] archiver: stamp-base is dead, remove it
stamp-base was only ever used by the shared workdir code in gcc. This turned out to be problematic and has been replaced by other approaches which don't need specialist bitbake knowledge. stamp-base will likely get removed from bitbake but for now, remove it from archiver to simplfy the code since gcc no longer uses it. This stops people getting confused by the obsolete code paths which I'm getting a lot of questions about. Signed-off-by: Richard Purdiediff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 089d707..eec8024 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -99,27 +99,6 @@ python () { d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_patched' % pn) elif ar_src == "configured": d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_configured' % pn) - -# The gcc staff uses shared source -flag = d.getVarFlag("do_unpack", "stamp-base", True) -if flag: -if ar_src in [ 'original', 'patched' ]: -ar_outdir = os.path.join(d.getVar('ARCHIVER_TOPDIR', True), 'work-shared') -d.setVar('ARCHIVER_OUTDIR', ar_outdir) -d.setVarFlag('do_ar_original', 'stamp-base', flag) -d.setVarFlag('do_ar_patched', 'stamp-base', flag) -d.setVarFlag('do_unpack_and_patch', 'stamp-base', flag) -d.setVarFlag('do_ar_original', 'vardepsexclude', 'PN PF ARCHIVER_OUTDIR WORKDIR') -d.setVarFlag('do_unpack_and_patch', 'vardepsexclude', 'PN PF ARCHIVER_OUTDIR WORKDIR') -d.setVarFlag('do_ar_patched', 'vardepsexclude', 'PN PF ARCHIVER_OUTDIR WORKDIR') -d.setVarFlag('create_diff_gz', 'vardepsexclude', 'PF') -d.setVarFlag('create_tarball', 'vardepsexclude', 'PF') - -flag_clean = d.getVarFlag('do_unpack', 'stamp-base-clean', True) -if flag_clean: -d.setVarFlag('do_ar_original', 'stamp-base-clean', flag_clean) -d.setVarFlag('do_ar_patched', 'stamp-base-clean', flag_clean) -d.setVarFlag('do_unpack_and_patch', 'stamp-base-clean', flag_clean) } # Take all the sources for a recipe and puts them in WORKDIR/archiver-work/. @@ -179,12 +158,7 @@ python do_ar_patched() { ar_outdir = d.getVar('ARCHIVER_OUTDIR', True) bb.note('Archiving the patched source...') d.setVar('WORKDIR', d.getVar('ARCHIVER_WORKDIR', True)) -# The gcc staff uses shared source -flag = d.getVarFlag('do_unpack', 'stamp-base', True) -if flag: -create_tarball(d, d.getVar('S', True), 'patched', ar_outdir, 'gcc') -else: -create_tarball(d, d.getVar('S', True), 'patched', ar_outdir) +create_tarball(d, d.getVar('S', True), 'patched', ar_outdir) } python do_ar_configured() { @@ -222,17 +196,14 @@ python do_ar_configured() { create_tarball(d, srcdir, 'configured', ar_outdir) } -def create_tarball(d, srcdir, suffix, ar_outdir, pf=None): +def create_tarball(d, srcdir, suffix, ar_outdir): """ create the tarball from srcdir """ import tarfile bb.utils.mkdirhier(ar_outdir) -if pf: -tarname = os.path.join(ar_outdir, '%s-%s.tar.gz' % (pf, suffix)) -else: -tarname = os.path.join(ar_outdir, '%s-%s.tar.gz' % \ +tarname = os.path.join(ar_outdir, '%s-%s.tar.gz' % \ (d.getVar('PF', True), suffix)) srcdir = srcdir.rstrip('/') -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] systemd: fix tmpfiles location when multilib in use
From: Burton, Ross [mailto:ross.bur...@intel.com] Sent: Wednesday, September 23, 2015 2:08 PM To: Chatre, Reinette Cc: OE-core Subject: Re: [OE-core] [PATCH] systemd: fix tmpfiles location when multilib in use On 23 September 2015 at 21:49, Reinette Chatre> wrote: ${exec_prefix}/lib For neatness in master there's a variable for this - ${nonarch_libdir}. Can you change the patch to use that variable instead? [Reinette] At the moment the rest of this recipe uses ${exec_prefix}/lib instead of the new ${nonarch_libdir}. I chose to use ${exec_prefix}/lib to remain consistent with the rest of the recipe since doing so makes it clear that the files being checked for matches _exactly_ (same variable name) with where they are installed. If you would like to transition this recipe to using ${nonarch_libdir} then I think it will be more appropriate to do so with a different patch in addition to this one. If this is what you prefer to see then I can submit a new patch to do so. Even when doing so I would prefer to see this fix go in first so that we can do an easier backport of it to fido since cleanups are not appropriate there (and ${nonarch_libdir} does not exist there). Considering this, could you please reconsider taking this patch and I will submit an additional one to be applied afterwards to do the transition to ${nonarch_libdir}. Thank you very much Reinette -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] Error building gdk-pixbuf-native
On Tue, 2015-09-22 at 21:28 -0300, Otavio Salvador wrote: > On Tue, Sep 22, 2015 at 8:30 PM, Khem Rajwrote: > > > >> On Sep 22, 2015, at 4:28 PM, Otavio Salvador > >> wrote: > >> > >> On Tue, Sep 22, 2015 at 8:23 PM, Khem Raj wrote: > >>> its normal for build to use libraries from build host for native tools. > >>> If we want to abstract that > >>> from host deps then creating a dependency on package-native is the way > >> > >> The point is this seems to be not deterministic. Sometimes this works, > >> others it does not. > > > > > > you can debug it by moving the dependency from default task to earlier or > > later task and see where its failing sometimes > > some configure might run where we do not expect it to. > > I cannot reproduce it locally, just in my autobuilder and now it does > not fail anymore. Gary is the only one seeing it. I think the way to reproduce this is to build gdk-pixbuf-native along with harfbuzz-native and librsvg-native, then make a small change to the gdk-pixbuf recipe that would cause it to rebuild, clean harfbuzz-native and then build gdk-pixbuf. I'm going to send out a patch which at least unblocked my own builds when I ran into this locally. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] sanity.bbclass: show warning when chmod fails
On Wed, Sep 23, 2015 at 9:13 AM, Martin Jansawrote: > From: Alex Franco > > * for some reason this part of: > http://patchwork.openembedded.org/patch/102561/ > wasn't ever merged. > > [YOCTO #7669] > > Signed-off-by: Alex Franco > Signed-off-by: Martin Jansa > --- > meta/classes/sanity.bbclass | 9 ++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass > index 2eb744f..34f8618 100644 > --- a/meta/classes/sanity.bbclass > +++ b/meta/classes/sanity.bbclass > @@ -839,9 +839,12 @@ def check_sanity_everybuild(status, d): > else: > bb.utils.mkdirhier(tmpdir) > # Remove setuid, setgid and sticky bits from TMPDIR > -os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISUID) > -os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISGID) > -os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISVTX) > +try: > +os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISUID) > +os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISGID) > +os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISVTX) > +except OSError: > +bb.warn("Unable to chmod TMPDIR: %s" % tmpdir) > I'd suggest showing the actual error, here. E.g. "Unable to chmod TMPDIR: %s" % exc. (The error message from the exception usually includes the path on disk already, so probably don't need both tmpdir and exc). -- Christopher Larson clarson at kergoth dot com Founder - BitBake, OpenEmbedded, OpenZaurus Maintainer - Tslib Senior Software Engineer, Mentor Graphics -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] systemd: fix tmpfiles location when multilib in use
Systemd's configuration files for creation, deletion and cleaning of volatile and temporary files are installed in /usr/lib even when multilib is in use (when /usr/lib64 is available). In this check the systemd.conf file will not be found if libdir is /usr/lib64 so we fix the path to match this file's installation path to look for it in ${exec_prefix}/lib Signed-off-by: Reinette Chatre--- meta/recipes-core/systemd/systemd_225.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/systemd/systemd_225.bb b/meta/recipes-core/systemd/systemd_225.bb index 4a19ff4..be0cc45 100644 --- a/meta/recipes-core/systemd/systemd_225.bb +++ b/meta/recipes-core/systemd/systemd_225.bb @@ -189,8 +189,8 @@ do_install() { sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it # for existence else it fails - if [ -s ${D}${libdir}/tmpfiles.d/systemd.conf ]; then - ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${libdir}/tmpfiles.d/systemd.conf', d)} + if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then + ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)} fi install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install } -- 2.4.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] systemd: fix tmpfiles location when multilib in use
On 23 September 2015 at 21:49, Reinette Chatrewrote: > ${exec_prefix}/lib > For neatness in master there's a variable for this - ${nonarch_libdir}. Can you change the patch to use that variable instead? Thanks Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] gdk-pixbuf: Avoid rebuild failures
If gdkpixbuf-native rebuilds and there are stale (broken) modules lying around, it can fail to run the postinst. E.g. svg links to harfbuzz and if harfbuzz is removed from the sysroot but the svg loader isn't, we get a symbol linking issue. The reproducer is along the lines of build gdk-pixbuf-native along with harfbuzz-native and librsvg-native, then make a small change to the gdk-pixbuf recipe that would cause it to rebuild, clean harfbuzz-native and then build gdk-pixbuf. To fix this, when we install gdk-pixbuf, we wipe out any previous loaders. The idea is that gdk would always come first and anything else installing itself will come later and rerun the postinst if needed. We can therefore just remove any other loaders. Signed-off-by: Richard Purdiediff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb index bdf173a..35bb192 100644 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb @@ -94,3 +94,12 @@ do_install_append_class-native() { GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders } BBCLASSEXTEND = "native" + +SSTATEPREINSTFUNCS_append_class-native = " gdkpixbuf_sstate_preinst" +SYSROOT_PREPROCESS_FUNCS_append_class-native = " gdkpixbuf_sstate_preinst" + +gdkpixbuf_sstate_preinst() { + if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]; then + rm -rf ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/* + fi +} -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] gdk-pixbuf: Avoid rebuild failures
On 2015-09-23 16:32, Richard Purdie wrote: If gdkpixbuf-native rebuilds and there are stale (broken) modules lying around, it can fail to run the postinst. E.g. svg links to harfbuzz and if harfbuzz is removed from the sysroot but the svg loader isn't, we get a symbol linking issue. The reproducer is along the lines of build gdk-pixbuf-native along with harfbuzz-native and librsvg-native, then make a small change to the gdk-pixbuf recipe that would cause it to rebuild, clean harfbuzz-native and then build gdk-pixbuf. To fix this, when we install gdk-pixbuf, we wipe out any previous loaders. The idea is that gdk would always come first and anything else installing itself will come later and rerun the postinst if needed. We can therefore just remove any other loaders. Does the analogue of this problem exist for the non-native packages? I've not seen it, but it seems that it might based on your analysis. Signed-off-by: Richard Purdiediff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb index bdf173a..35bb192 100644 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb @@ -94,3 +94,12 @@ do_install_append_class-native() { GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders } BBCLASSEXTEND = "native" + +SSTATEPREINSTFUNCS_append_class-native = " gdkpixbuf_sstate_preinst" +SYSROOT_PREPROCESS_FUNCS_append_class-native = " gdkpixbuf_sstate_preinst" + +gdkpixbuf_sstate_preinst() { + if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]; then + rm -rf ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/* + fi +} -- Gary Thomas | Consulting for the MLB Associates |Embedded world -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] Including machine specific mesa-driver
hi, in the qemu reference machine we see this pattern: XSERVER = "xserver-xorg \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast', '', d)} \ Which is what I had done for my BSP layer as well. However this doesn't take into account non X11 based graphics config, such as when building a wayland/weston image. The mesa-driver should be conditionally pulled when 'mesa' is pulled in. I cannot find a satisfying way of specifying this better to take both cases into account. we could move ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast', '', d)} into MACHINE_RRDEPENS, but that's not quite right, since that driver is only needed when any of the mesa binary packages is in the image, and non graphics image wouldnt' need that. Since mesa produces a lot of binary packages , using RDEPENDS_xxx for all of them doesn't seem very nice neither.. What would you recommend we do? I think we need to fix the qemu images anyways. cheers -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core