summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-10-03toaster: custom image enable layer add, protect pre-cloned layersdreyna/toaster/custom_image_protection_12887David Reyna
When creating custom image recipes, the layer add for new layers needs missing xhrLayerUrl data. Also, code is needed to check and inform user if the newly added layer has not been cloned yet, and provide helpful error message instead of the current frozen dialog. [YOCTO #12887] Signed-off-by: David Reyna <David.Reyna@windriver.com>
2018-10-01go.bbclass: Add -buildmode=pie for non mips archRobert Yang
Fixed QA issue like: WARNING: runc-docker do_package_qa: QA Issue: ELF binary '/path/to/runc-docker/usr/bin/runc' has relocations in .text [textrel] (From OE-Core rev: 8dcd4e6e791c3a8b8bf5e69dca9bb9c887231d69) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01archiver: generalise task running when in configured modeRoss Burton
When in configured mode the archive will re-run configure itself, but that doesn't work if there are other tasks that need to run such as cmake's generate_toolchain_file. Instead of hard-coding a list of classes and tasks, obtain the list of tasks preceeding do_configure, filter out ones we don't want to re-run such as do_patch and do_prepare_recipe_sysroot, and run those too. (From OE-Core rev: fe26382f94d8cb7d2453d9937aee451b757252b8) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01archiver: check tasks exist before adding dependenciesRoss Burton
Some recipes don't have do_configure, or have them but are marked as noexec. Check for their existance before hooking up dependencies. [ YOCTO #12868 ] (From OE-Core rev: 5c8aa1f41f04519a8ba3997c0d8e3a71fe270fae) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01multilib: avoid expanding grub and grub-efi to multilibRobert Yang
It doesn't make much sense to expand them to multilib, and there is an error on qemuarm64 since grub-efi supports arm64, but doesn't support armv7a or armv7ve: * Fixed: MACHINE = "qemuarm64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "armv7a" MACHINE_FEATURES_append = " efi" $ bitbake lib32-core-image-minimal Also introduced a variable NON_MULTILIB_RECIPES in multilib.conf, so that we can easily add other recipes, such as syslinux if needed. (From OE-Core rev: 25f7c6c329038b443d36074fff45a30ba3712f7a) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01libsdl2: disable sndio explicitly to avoid inconsistent resultChen Qi
Explicitly disable sndio to avoid inconsistent result on different hosts having or not having libsndio. This must be done if we take into consideration of eSDK. I built eSDK on Ubuntu 14.04 which has libsndio installed, and then installed the eSDK on Fedora 27, which does not have libsndio. In fact, on Fedora 27, I even cannot find libsndio in its repo. The problem happens when trying to use `devtool runqemu'. The qemu binary built on Ubuntu 14.04 needs to link to libsndio, and thus the following error. runqemu - ERROR - Failed to run qemu: /path/to/qemu-system-x86_64: error while loading shared libraries: libsndio.so.6.1: cannot open shared object file: No such file or directory So explicitly disable sndio for libsdl2 to avoid the above problem. (From OE-Core rev: 72c37b06b034e97e7dd7e1a20fb0ff5f96088440) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01mime.bbclass: fix do_package_qa_multilib error of lib32-fltkChangqing Li
fltk.bb inherit mime.bbclass, mime.bbclass add RDEPEND during populate_package, so need add mlprefix manually. ERROR: QA Issue: lib32-fltk package lib32-fltk-dev - suspicious values 'shared-mime-info-data-dev' in RRECOMMENDS [multilib] ERROR: QA Issue: lib32-fltk package lib32-fltk-bin - suspicious values 'shared-mime-info-data' in RDEPENDS [multilib] (From OE-Core rev: 5a26b03c9f73822554ea969e42bca82217dfd3f8) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01multilib.bbclass: fix do_package_qa_multilib errorChangqing Li
lib32-packagegroup-anaconda-support have RDEPENDS to kernel-image, but kernel-image don't have lib32, so skip it. ERROR: QA Issue: lib32-packagegroup-anaconda-support package lib32-packagegroup-anaconda-support - suspicious values 'kernel-image' in RDEPENDS [multilib] (From OE-Core rev: 24b8c61bf7dd13f7f371d3a910947a1fac062c6b) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01bind: fix multilib install file conflictsKai Kang
It adds ${libdir} to linker options in scripts bind9-config and isc-config.sh. And then causes install file conflicts when install bind andl ib32-bind both. Inherit multilib_script.bbclass to fix this issue. (From OE-Core rev: d3baeaf09d5d3e7548e5b2ea1b565880ea6ce994) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01groff: fix multilib install file conflictsKai Kang
Perl scripts ${bindir}/{gpinyin, groffer, grog} are ${libdir} related and cause multilib install file conflicts: | Error: Transaction check error: | file /usr/bin/gpinyin conflicts between attempted installs of groff-1.22.3-r0.core2_64 and lib32-groff-1.22.3-r0.x86 | file /usr/bin/groffer conflicts between attempted installs of groff-1.22.3-r0.core2_64 and lib32-groff-1.22.3-r0.x86 | file /usr/bin/grog conflicts between attempted installs of groff-1.22.3-r0.core2_64 and lib32-groff-1.22.3-r0.x86 Inherit multilib_script.bbclass to fix the errors. (From OE-Core rev: df90cb1f4ee8918b0bc2a281b2d77444a0d037e7) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01python: move sqlite module into python-sqliteRoss Burton
The module was accidentally included in python-misc. Also re-run create_manifest to update the dependencies of python-sqlite3, causing some whitespace changes. [ YOCTO #12933 ] (From OE-Core rev: 9c2b1a0bfc8783052b5dda344cc334b9c13736f5) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01python: mark the tests modules as special when updating the manifestRoss Burton
We manually maintain the tests package's content and dependencies, so mark is as special (matching create_manifest3.py). (From OE-Core rev: b4bd4e7e26bb79223129abb9fb6e22e9045e3707) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01python3: move sqlite files into python-sqliteRoss Burton
sqlite3/__init__.py was accidentally included in python3-misc. (From OE-Core rev: 4e397e16996662bce51608cf5e20448b9803c476) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01sysklogd: Re-enable alternatives for syslogd.8 man pageMark Hatle
Other recipes, such as meta-networking inetutils may also provide a man page for syslogd.8. Use the alternatives mechanism to select the man page to display. This is a partial revert of commit: 988aad01b20c18a8850db0ad6dc547525d94116c The syslogd tool itself is provided by both recipes in their respective runtime packages. In the inet case, it is inetutils-syslogd, which has an appropriate RCONFLICTS with the syslogd version. Only one or the other will be installed. This is the conflict resolution the original commit of "988aad01b20c18a8850db0ad6dc547525d94116c" was referring to. HOWEVER, both syslogd and inetutils each only have a singular 'doc' package. (As do most packages it seems.) Since this is the case, if both syslogd and inetutils (not syslogd part) is requested for a configuration -- AND --- doc-pkgs are configured in, you get an error of conflicting files. Now does the documentation match whichever package was installed, maybe not... but this isn't a big deal as it turns out, since most syslogd share a common set of arguments and those are the things a run-time user would query from the man pages. The only alternative is to start spliting up the docs into their relevant subpackages, as we have the runtime items. But this then complicates the doc-pkgs processing and related... (From OE-Core rev: 55ba9dc1f8698e23d6f59937c1494a91057b165d) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01layer.conf: Drop sumo from LAYERSERIES_CORENAMESRichard Purdie
Prepare for release and drop sumo for the compatible list of layer names. This will mean other layers need updating to continue to indicate compatibility with master but that is intentional at this part of the release cycle, we want layers to indicate compatibility and show they're up to date. (From OE-Core rev: 9ec5a8a0f86510f7aae572dfb79e8bda73d4e0fc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27glibc-package.inc: correct intention for deleting /usr/lib as neededAwais Belal
In case the baselib is lib64 we would want to delete /usr/lib after removing the /usr/lib/locale dir and the implementation wanted to do that earlier as well but the fault was checking an already removed dir (/usr/lib/locale) before trying to remove /usr/lib as that check would always fail. Now we simply try to delete /usr/lib after deleting /usr/lib/locale to make sure it deletes cleanly and is empty at the time of deletion. (From OE-Core rev: 4dad1568f8f84ec9de4bf7235822f77a8ee6a413) Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27kernel-yocto.bbclass: fix "referenced before assignment" errorMax Kellermann
If "scc --configs" fails, do_kernel_configcheck() crashes like this: 0338: try: 0339: configs = subprocess.check_output(['scc', '--configs', '-o', s + '/.kernel-meta'], env=env).decode('utf-8') 0340: except subprocess.CalledProcessError: *** 0341: bb.fatal( "Cannot gather config fragments for audit: %s" % configs) 0342: 0343: try: 0344: subprocess.check_call(['kconf_check', '--report', '-o', 0345: '%s/%s/cfg' % (s, kmeta), d.getVar('B') + '/.config', s, configs], cwd=s, env=env) Exception: UnboundLocalError: local variable 'configs' referenced before assignment This crash bug was introduced by commit 21de5cc43cfedc703e5bc0515507a6dae36afb74 (From OE-Core rev: 9602c03e8701c972f544001415efa92877622f57) Signed-off-by: Max Kellermann <max.kellermann@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27bash: 4.4.18 -> 4.4.23Jeroen Hofstee
Apply point release patches from upstream which includes a fix for indefinitely spinning process and a zombie by a simple $() statement in a long running script. (From OE-Core rev: eb39670fb2fe9735a1a0434c63b64ec66599f850) Signed-off-by: Jeroen Hofstee <jhofstee@victronenergy.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27nativesdk.bbclass: set consistent staging dirs regardless of multilibChen Qi
For now, the RECIPE_SYSROOT of nativesdk recipes is ${WORKDIR}/recipe-sysroot if multilib is disabled and ${WORKDIR}/nativesdk-recipe-sysroot if multilib is enabled. And it's causing chaos. Problems I've met include: 1) 'File Exists' error when doing extend_recipe_sysroot 2) Rebuilding failure about cmake based nativesdk recipes if toggling multilib In nativesdk.bbclass, We've set MULTILIBS to be "", and we've changed MLPREFIX to be 'nativesdk-', I think we should also set consistent RECIPE_SYSROOT to be ${WORKDIR}/recipe-sysroot. Below is an example showing why previous settings will cause do_prepare_recipe_sysroot failure. e.g. A -> C B -> C A's RECIPE_SYSROOT is .../recipe-sysroot and B's RECIPE_SYSROOT is .../nativesdk-recipe-sysroot. As extend_recipe_sysroot function uses shared manifest, i.e., the same manifest of C for both A and B, then there must be one of them having the wrong manifest. And the wrong manifest results in RECIPE_SYSROOT not cleaned up before installing new components, thus the following error. Exception: FileExistsError: [Errno 17] File exists: xxx -> xxx This happens when toggling multilib and also between nativesdk recipes and crosssdk, cross-canadian recipes. The latter situation also explains why choosing ${WORKDIR}/recipe-sysroot instead of ${WORKDIR}/nativesdk-recipe-sysroot. If we use 'nativesdk-recipe-sysroot', we still need to modify the extend_recipe_sysroot function to treat crosssdk and cross-canadian as special cases. Using 'recipe-sysroot' does not have this problem. (From OE-Core rev: 665934a506cc560bfbc469f5ed095e7d54e353a5) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27kernel-devsrc: fix searching for non-existing manifest filesAndrej Valek
Even if the do_populate_sysroot have had set-up noexec flag, populate_sdk's tasks were trying to find .populate_sysroot manifest file. Change noexec flag settings to delete appreciated task. WARNING: core-image-minimal-1.0-r0 do_sdk_depends: Manifest build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-kernel-devsrc.populate_sysroot not found in qemuarm armv5te armv5e armv5t armv5 armv4t armv4 arm allarch x86_64_x86_64-nativesdk (variant '')? WARNING: core-image-minimal-1.0-r0 do_populate_sdk_ext: Manifest build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-kernel-devsrc.populate_sysroot not found in qemuarm armv5te armv5e armv5t armv5 armv4t armv4 arm allarch x86_64_x86_64-nativesdk (variant '')? (From OE-Core rev: fd74848c3c06901a77057ca03f7c01aff08ee34a) Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27mesa: Upgrade 18.1.7 -> 18.1.9Otavio Salvador
This upgrades mesa to the 18.1.9 stable release. The changes can be found at: https://www.mesa3d.org/relnotes/18.1.8.html https://www.mesa3d.org/relnotes/18.1.9.html (From OE-Core rev: 45508a02aea538d98a8fa92a65f969445cb0c82d) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-27util-linux: Fix packaging of util-linux-unshareOtavio Salvador
Below commit has added the unshare to alternatives but did not fix the packaging of the changed file. ,----[ Offending commit ] | commit 147da8fe7458a38598845958cb358bb094eba57b | Author: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> | Date: Thu Jul 5 11:57:19 2018 +0300 | | util-linux.inc: add fallocate & unshare to alternatives | | These binaries can be provided by busybox triggering a conflict in | do_rootfs so update-alternatives needs to know about them to properly | create the symlinks. | | Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> | Signed-off-by: Ross Burton <ross.burton@intel.com> `---- (From OE-Core rev: a68f1cacb560632382f8f8ff0c7e03e39a891b29) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-26bitbake: fetch2/gitsm.py: Rework the git submodule fetcherMark Hatle
The prior fetcher did not know how to work with MIRRORS, and did not honor BB_NO_NETWORK and similar. The new fetcher approach recursively calls 'gitsm' download on each submodule detected. This ensures that it will go throug the standard download process. Each downloaded submodule is then 'attached' to the original download in the 'modules' directory. This mimics the behavior of: git submodule init but there is no chance it will contact the network without permission. It then corrects upstream reference URIs. The unpack steps simply copies the items from the downloads to the destdir. Once copied the submodules are connected and we then run: git submodule update According to the git documentation, git submodule init can and will modify the project configuration and may connect to the network. Doing the work manually prevents this. (This manual process is allowed based on my reading of the documentation.) See: https://git-scm.com/book/en/v2/Git-Tools-Submodules The small change to the existing test is due to this new code always assuming the code is from a remote system, and not a 'local' repository. If this assumption proves to be incorrect -- code will need to be added to deal with local repositories without an upstream URI. (Bitbake rev: 9c6b39adf9781fa6745f48913a97c859fa37eb5b) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-26bitbake: lib/layerindexlib/tests/restapi.py: Fix test cases when ↵Mark Hatle
BB_SKIP_NETTETS=yes Change the way the network related tests are skipped, based on how the fetch tests are handled. We introduce a 'skipIfNoNetwork()' function that will report skipped tests through the standard unit test reporting system. [YOCTO #12928] (Bitbake rev: 7d5af23d560b38fb5558d4ac51c3c9611d6d904f) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-26bitbake: lib/bb/tests/parse.py: Test case was changing chdirMark Hatle
The test case was changing the current directory, but was never restoring it to the original location. This causes occasional failures in later test cases. (Bitbake rev: 8c222c45148d1f21c2390d66ddd9d3e33b397f05) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-26bitbake: lib/layerindexlib/tests/cooker.py: Fix topdir to use an absolute ↵Mark Hatle
(real) path The test case needs to access test case files. Different versions of python may return absolute or relative locations in __file__. Use the same approach as other test cases in determining the location of the test files. (Bitbake rev: 80fe44889a858bddaca230c2d49ccabfcbc236a3) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-26boost: build context and coroutine for armVernon Mauery
When cross-compiling for arm architecture, bjam fails to properly detect the abi, which causes a failed conditional to omit the assembly code that supports the platform. (From OE-Core rev: 920f2c479c3cf30d92f79dc9098e5915c05cc5e1) Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25meta-yocto-bsp: bump to the latest linux stable kernel for the non-x86 BSPsKevin Hao
Bump to the latest stable kernel for 4.14 and 4.18. (From meta-yocto rev: f7d36129adfeb0d0d5fe26675e2668c49573a32d) Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25bitbake: utils: lockfile: Fix infinite loopIoan-Adrian Ratiu
A nasty corner case leads to a hang when utils.lockfile is called from oe-core's package-manager:deploy_dir_lock (in turn called from rootfs:_create further up the call stack) with "name" owned by root and the user running bitbake has no write access. Because this code runs under pseudo, the UID and EUID of the bitbake worker process are 0, so the os.access(dirname, os.W_OK) returns True i.e. it thinks the path is writable when in fact it's not writable. Only later when trying to open the file an Exception it thrown because the OS prohibits writing, but the Exception is ignored and the open is retried leading to an infinite loop. So this fix is to not ignore the "Permission Denied" exception. An alternative fix would be to replace the os.access() call with an try: open() except() at the beginning of the function. (Bitbake rev: 0cb64d0f85b41b2fa764baf6ff7ea1b13f95004e) Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25rootfs.py: Install -src packages when PACKAGE_DEBUG_SPLIT_STYLE is ↵Joshua Watt
"debug-with-srcpkg" When the source packages are created, they need to be included in the debug image created when IMAGE_GEN_DEBUGFS = "1" for it to be usable for debugging. [YOCTO #12930] (From OE-Core rev: 5fc7fbc10bbd3a54df16db275ecd6080bc58f19e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25siteinfo: generalise siteinfoRoss Burton
Add a function siteinfo_data_for_machine to look up the data for any arch/os pair, not just HOST_ARCH-HOST_OS. (From OE-Core rev: 7429ed8d2a6e48cb3415113ef62348ae211aa189) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25meson: make native-specific patches native-specificRoss Burton
These two patches are only relevant for builds inside OpenEmbedded, so make them native-specific. (From OE-Core rev: 63c89efde45b4aef873e2086b201cad538e42044) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25meson: respect target/native flag distinction in G-I and gtk-docRoss Burton
Remove the previous attempt at this from 0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch as it wasn't quite right, and the rest of the patch is adding the currently not upstreamable runner option. Add two new patches to fix both gobject-introspection and gtk-doc using native flags for target compiles. (From OE-Core rev: bf41247f52ffd40d91d94d1fc983f8a831b80e48) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25meson: stop Meson using target CFLAGS in native buildsRoss Burton
With the goal of autoconf-compatibility Meson respects $CFLAGS et al in builds. In cross-compiled build the cross file is the one true source of flags and the environment isn't used, but in a native build the environment will still be respected. As this can lead to target flags being used in the build for native binaries (including a single native binary inside a target recipe), export CFLAGS=${BUILD_CFLAGS) et al. (From OE-Core rev: 4ca0002860dca771836c0ce1c7a92b79a5f2db3f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25meson: pass correct endian in the cross fileRoss Burton
Meson doesn't care for the value of the endian field, but packages may want to use it and Meson master now validates the value. Use siteinfo to obtain the endianism and write the correct value. (From OE-Core rev: 2f9adf05efdddf8dae9c58976ae56cf32d9e57f0) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25meson: squash the architecture warning patches togetherRoss Burton
Instead of one patch to change a warning into an exception and another to change the message, squash the patches together as neither of the are acceptable upstream. (From OE-Core rev: d9e5308ebfe376814f383d61ed00b50e8bad526b) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25linux-yocto/4.14: fix beaglebone configuration warningsBruce Ashfield
Backporting the following fixes from 4.18 to 4.14 to remove beaglebone configuration warnings: 1fb0b0379fb5 beaglebone: Clean up the cfg file 4176e7ded8e1 beaglebone: Drop the needless unsetting of the kernel options 65c209da574d beaglebone: Drop the obsolete kernel options (From OE-Core rev: 2adec315b44dad0f99ad55e04b4e3b6608613147) Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25rootfs: always update the opkg indexIoan-Adrian Ratiu
The previous logic assumed that if $BUILD_IMAGES_FROM_FEEDS=1 then a complete set of ipk feeds from which to build the image is already present under $IPK_FEED_URIS at do_rootfs runtime. $IPK_FEED_URIS usually contains "file://${DEPLOY_DIR_IPK}" which renders the above assumption bad because some recipes in the current build can contain code like do_install[nostamp] = "1" which will cause rebuilds bumping $PR and invalidating the index. Even when the index is manually re-created before an image build ("bitbake package-index"), the nostamp will cause failures because the dependency gets rebuilt before do_rootfs in the "bitbake <image>" call. So make the opkg rootfs index logic the same as for rpm/deb, to always update the index in $DEPLOY_DIR_IPK to fix the above nostamp failure. Feeds outside $DEPLOY_DIR_IPK added to $IPK_FEED_URIS continue to work as usual, for eg. by using a http:// URI. (From OE-Core rev: bce90f48d1cc136fdfdf98b3830f5d99e381271b) Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25openssl10: remove extra slash from libdir pathMikko Rapeli
The configure script ended up creating Makefile with LIBDIR=/lib which got leaked into various places including all pkg-config .pc files where lines like (note the double slash //): libdir=${exec_prefix}//lib ... Libs: -L${libdir} -lcrypto which causes pkg-config --libs to include the full absolute path to the recipe specific sysroot. This isn't a big problem until something like CMake projects start generating their own .cmake modules using this absolute path and exposing them to sysroots of other bitbake recipes thus escaping their recipe specific sysroots. Then the fun begins when these users of the .cmake module start to randomly fail builds with error messages like: /home/builder/src/base/build/tmp/work/corei7-64-linux/package/1.0-r0/recipe-sysroot-native/usr/bin/x86_64-linux/../../libexec/x86_64-linux/gcc/x86_64-linux/7.3.0/ld: cannot find /lib/libpthread.so.0 /home/builder/src/base/build/tmp/work/corei7-64-linux/package/1.0-r0/recipe-sysroot-native/usr/bin/x86_64-linux/../../libexec/x86_64-linux/gcc/x86_64-linux/7.3.0/ld: cannot find /usr/lib/libpthread_nonshared.a collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. WARNING: exit code 1 from a shell command. As luck has it, this problem goes away by recompiling the recipes alone but repeats with multiple recipes here and there when full images are build. A careful inspection of multi page linker command lines shows that some linker paramaters point to libraries in a different recipes sysroot than what bitbake was building when the task failed. So, fix is to remove this one extra slash from openssl library path configuration option. This changes openssl Makefile to have: LIBDIR=lib and all users of LIBDIR variable in the Makefile are already adding slashes as path separators if that is needed. With this the generated .pc files have: libdir=${exec_prefix}/lib and pkg-config --libs knows to strip the already default sysroot path away. This then fixes the generated .cmake files to not include these absolute paths and fixes the random build failures when building images. Thanks to Thomas, Michael and Ross for debugging support! (From OE-Core rev: d286e91bbdcecef16153313fe5e1e0e0cb469612) Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Cc: Thomas Witt <thomas.witt@bmw.de> Cc: Michael Ho <michael.ho@bmw.de> Cc: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25glib-2.0: Drop allow /run/media for root patchAlex Kiernan
Upstream implemented an equivalent fix in: c672fcc0a8d6 ("gunixmounts: Allow root to display mounts under /run/media/$username") As a result, this change is completely broken when running as root, as user_name is unitialised when testing strcmp(user_name, "root") so just segfaults. (From OE-Core rev: 547e81b678a616ebbdf2e5cc86e918966fafb894) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25checklayer: avoid recursive loop in add_layer_dependenciesNicolas Dechesne
When Layer A and Layer B depend on each other, then we will end up in a recursive loop in function recurse_dependencies(). To avoid such situation before making the recursive function call we check whether or not we have already processed this layer. e.g. without this patch, running this script on layers with dependency loops, we are seeing: $ yocto-check-layer -d /srv/work/oe/meta-openembedded/ INFO: Detected layers: INFO: meta-python: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-python INFO: meta-filesystems: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-filesystems INFO: meta-gnome: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-gnome INFO: meta-xfce: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-xfce INFO: meta-networking: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-networking INFO: meta-initramfs: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-initramfs INFO: meta-oe: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-oe INFO: meta-multimedia: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-multimedia INFO: meta-perl: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-perl INFO: meta-webserver: LayerType.SOFTWARE, /srv/work/oe/meta-openembedded/meta-webserver INFO: INFO: Setting up for meta-python(LayerType.SOFTWARE), /srv/work/oe/meta-openembedded/meta-python DEBUG: Processing dependencies core openembedded-layer for layer meta-python. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. DEBUG: Processing dependencies core networking-layer for layer meta-oe. DEBUG: Processing dependencies core openembedded-layer meta-python for layer meta-networking. ... ... ... [keep repeating] This patch fixes this situation. (From OE-Core rev: 171900b4bcb06416685ce90b63114a10fefe0b94) Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25perl: fix race issues for MakeMakerRobert Yang
Fixed a race issue when compile libhtml-parser-perl and others who use MakeMaker: [snip] chmod 755 blib/arch/auto/HTML/Parser/Parser.so chmod 644 "Parser.bs" [snip] The rule INST_DYNAMIC removes '.bs' file which are generated by BOOTSTRAP, but the have no dependencies, so there is a race issue: BOOTSTRAP: touch foo.bs chmod 755 foo.bs INST_DYNAMIC: rm -fr foo.bs The error would happen when INST_DYNAMIC removes foo.bs after BOOTSTRAP touched it but before chmod on it. (From OE-Core rev: f33d7124cd07f776e8b05a26703f6d551357ae09) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25runqemu: fix handling of SIGTERM and the problem of line wrappingChen Qi
The current handling of SIGTERM is incorrect as the process pid returned by Popen call with shell setting to True is actualy the shell instead of the qemu process. So use shlex to split cmd so that we can avoid using shell=True. This ensures the child process is the actual qemu process. Also, as we install a SIGTERM handler, we need handle the situation of qemu terminated by SIGTERM, otherwise we will get ERROR message in such case. Besides, we have a problem that after running qemu, the terminal's behavior is incorrect regarding long lines or long commands. Long commands or long outputs should appear in multiple lines, but they appear in the same line, overriding previous output. Use `tput smam' to fix this problem. (From OE-Core rev: e8acef383767cfd1ef0c3d3c45d9d6eb1c83b3e7) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25scripts/autobuilder-worker-prereq-tests: Add to todo listRichard Purdie
Note further tests needed after encountering issues. (From OE-Core rev: ab7b7e222b88e40f2a5011fc16bbd784e6be55e5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-25meta-skeleton/meta-selftest: Update to thudRichard Purdie
(From OE-Core rev: 4c48e59c58e62d70b900c4356953f5b66fba2353) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-24build-appliance-image: Update to master head revisionRichard Purdie
(From OE-Core rev: e3f5ceec690379d64bd38330111a32f6c8fc6353) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-24layer.conf: Update sumo->thud in preparation for releaseRichard Purdie
(From meta-yocto rev: 2404cddc02b428fb510574b02707f7e0b68e31e8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-24layer.conf: Add thud to LAYERSERIES_CORENAMESRichard Purdie
With the release approaching, add thud to LAYERSERIES_CORENAMES and update oe-core to use this release series. "sumo" will be removed during M4 in the next couple of weeks so people need to start updating their master layers in preperation for release. (From OE-Core rev: 986792481fa005fe136fd4b4e388042492b1ad8a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-24build-appliance-image: Update to master head revisionRichard Purdie
(From OE-Core rev: f010915f06c1b6c72089b56fb610f60e4fbc5065) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-24linux-yocto: update genericx86* SRCREV for 4.14Anuj Mittal
Bump to kernel release v4.14.71. (From meta-yocto rev: b08448debe424211ee721e54eff28f78469cc2a2) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>