summaryrefslogtreecommitdiffstats
path: root/meta/files
AgeCommit message (Collapse)Author
2021-01-17toolchain-shar-extract.sh: Handle special characters in script pathAndrey Mozzhuhin
Extracting SDK archive may fail if the script is run using a path with special characters such as space or asterisk. This is because the shell interprets such characters after expanding the $0 variable. Added quotes to all uses of the shell variable $0 to fix this. Signed-off-by: Andrey Mozzhuhin <amozzhuhin@yandex.ru> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-15common-licenses: add BSD-3-Clause-Clear licenseAdrian Herrera
See https://spdx.org/licenses/BSD-3-Clause-Clear.html Signed-off-by: Adrian Herrera <adrian.herrera@arm.com> Change-Id: I2b7e0ad060fac6b473ce4d0bab839253aee9873d Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-12meta: toolchain-shar-relocate.sh: Filter out post-relocate-setup scriptMarek Vasut
The toolchain-shar-extract.sh script updates the SDK relocation paths in post-relocate-setup.sh, so avoid doing this twice. This is generally not a problem, unless the SDK path is a subset of the SDK relocation path, in which case the resulting path is substituted twice. To trigger the issue, $ ./tmp/deploy/sdk/poky-glibc-x86_64-core-image-base-core2-64-qemux86-64-toolchain-3.2+snapshot.sh -y -d /home/oe/.local/opt/poky/3.2+snapshot which generates relocation path /home/oe/.local/home/oe/.local/opt/poky/3.2+snapshot instead of /home/oe/.local/opt/poky/3.2+snapshot Fixes: 93ec145f42 ("toolchain-shar-extract: Add post-relocate scripts") Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Krzysztof Zawadzki <krzysztof.zawadzki@nokia.com> Cc: Randy Witt <randy.e.witt@linux.intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-12meta: toolchain-shar-relocate.sh: Do not use $target_sdk_dir as regexMarek Vasut
The $target_sdk_dir path might contain special characters, for example if the path is /opt/poky/3.2+snapshot . Prevent grep from interpreting those as part of the regex by using the -F parameter and multiple -e parameters to specify which strings to filter out. Also note that the previous regex was using asterisk as wildcard (e.g. environment-setup-*), but that should have been regex (e.g. environment-setup-.*, with dot) to match correctly, this is also fixed by this change. Fixes: 9721378688 ("toolchain-shar-template.sh: Make relocation optional.") Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Krzysztof Zawadzki <krzysztof.zawadzki@nokia.com> Cc: Randy Witt <randy.e.witt@linux.intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24fs-perms: Ensure /usr/src/debug/ file modes are correctRichard Purdie
If files are copied into /usr/src/debug directly from WORKDIR (e.g. makedevs) we'd get the permissions from the checkout which would depend on the host umask. Avoid this and be deterministic by setting the file modes consistently. Core code copies the files in so we're responsible for the permissions. Unfortunately to force this change to apply we need to invalidate both the package tasks and the hash equivalance mappings since file mode 'corruption' already made it into the output hashes (both input options were mapped to the output hashes). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30common-licenses: add bzip2-1.0.4Yann E. MORIN
The bzip2 license changes with each version; the changes are subtle, but that makes it a different license everytime: - copyright year - authorship identification and address - version of the release - date of the release Although we currently only have bzip2 and pbzip2 packages, we're going to need this license for busybox, which uses code from bzip2-1.0.4. Add it, as copied from the upstream bzip2 git tree at tag 'bzip2-1.0.4' (commit f10a33538e9bab6deb61779b3d8aae168824ef48). Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Khem Raj <raj.khem@gmail.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-17toolchain-shar-extract.sh: don't print useless infoChangqing Li
useless info "gcc: command not found" is printed when run buildtools-extended on system without gcc. Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-30Add license text for PSF-2.0Mark Jonas
Signed-off-by: Mark Jonas <toertel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-30common-licenses: fix filename of BSD-2-Clause-PatentRoss Burton
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-17common-licenses: add BSD-2-Clause-PatentRoss Burton
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-05-15common-licenses: add "Unlicense" license fileRobert P. J. Day
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-24bzip2/pbzip2: Correct license informationRichard Purdie
The license of pbzip2 looks slightly BSD like but is in fact the bzip2 license. The SPDX identifier for this is "bzip-1.0.6" since there is another version of the bzip license out there. To clear up all the confusion, use the SPDX license name and update both recipes to refer to it. The copyright information is slightly different between the codebases but the license looks the same. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-21toolchain-shar-extract: check for available pythonJeremy Puhlman
centos7 doesn't have python3 intalled by default, so running the script errors in novel ways if it is not installed. Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11files/toolchain-shar-extract.sh: Rework PATH cleaningRichard Purdie
Trying to create a clean PATH breaks cases where we install a buildtools tarball on hosts to provide newer versions of gcc. Rework the fix for #8698 to clean up directories in PATH which don't exist isntead. Do it with python as the shell version was too fraught with corner cases. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22toolchain-shar-extract: ignore timestamp on decompressJeremy Puhlman
Installing on centos7, which the extended version of the buildtools tarball is supposed to fix and with reproducable builds turned on, all the time stamps are for epoch. This results in the following output for every file: tar: ./sysroots/x86_64-pokysdk-linux/usr/include/c++/9.2.0/cstdalign: implausibly old time stamp 1969-12-31 16:00:00 tar: ./sysroots/x86_64-pokysdk-linux/usr/lib/libstdc++.so.6: implausibly old time stamp 1969-12-31 16:00:00 Ignore the timestamps during the uncompession step. Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-14acpica: upgrade to 20191018Ross Burton
The upstream tarballs now have a unified source license of Intel|BSD|GPLv2 and the old BSD|GPLv2 tarballs are deprecated. Add the Intel license to the license collection, update the LICENSE field, and update the license checksum to actually point at a license fragment. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-30common-licenses: update BSD-2-CLAUSE license textChristophe PRIOUZEAU
Using the generic BSD-2-CLAUSE license as specified on https://opensource.org/licenses/BSD-2-Clause Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-31Apache-2.0-with-LLVM-exception: Add new license fileKhem Raj
As per SPDX 2.1 it should be 'Apache-2.0 WITH LLVM-exception' but license parser refuses to parse it, so this is closest we can get Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-28ext-sdk-prepare.py: python2 -> python3Robert Yang
This script is python3 indeed. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-02populate_sdk_base: provide options to set sdk typeChangqing Li
Current sdk type is tar.xz, but for mingw sdk, since we have symlink under the sdk folder, 7zip which used to extract tar.xz cannot handle it, refer 7zip upstream bug: https://sourceforge.net/p/sevenzip/discussion/45797/thread/c71d6b96/ so add option for usr can select the sdk type. Add override SDK_ARCHIVE_TYPE, default type is tar.xz, and also support type zip. user want to use zip type can set SDK_ARCHIVE_TYPE to zip. Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-11elfutils: remove Elfutils-Exception and include GPLv2 for shared librariesMikko Rapeli
Elfutils-Exception no longer exists after upstream release 0.154 and commit: commit de2ed97f33139af5c7a0811e4ec66fc896a13cf2 Author: Mark Wielaard <mjw@redhat.com> Date: Tue Jun 5 17:15:16 2012 +0200 NEWS file in the sources says this about switch from GPLv2 to GPLv3 license: https://sourceware.org/git/?p=elfutils.git;a=blob;f=NEWS;h=5a06047f255e3c9a63828953759fd18a4ba9a3f3;hb=HEAD#l362 362 The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone 363 programs. There is now also a formal CONTRIBUTING document describing how to 364 submit patches. libasm, libdw and libelf are thus covered optionally by GPLv2 license. See also Debian copyright summary for elfutils: https://tracker.debian.org/media/packages/e/elfutils/copyright-0.175-1 Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-04toolchain-shar-extract/init-install-efi-testfs: Unify question spacesGianfranco Costamagna
unify the spacing for questions in various places e.g. before the [Y/n] there should be a space, and before "?" there should be none. Unify the questions where the system expect an answer from the end user. Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-06vim: Import version 8.1.0347Tom Rini
In order to have a stand-alone editor in oe-core, bring in vim from meta-openembedded/meta-oe. This imports the recipes as of git commit: commit 41f3f8165bde3eb4f8bcf6dddbaca0d3b760c70b Author: Mark Hatle <mark.hatle@windriver.com> Date: Thu Feb 28 09:39:19 2019 +0800 vim: remove xfce vim bbappend Changing the behavior of a recipe by including a layer is not allowed by the yocto-check-layer script. Signed-off-by: Tom Rini <trini@konsulko.com> -- Changes in v3: - Catch vim-tiny too (thanks Richard!) Changes in v2: - List self as maintainer Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-20common-licenses: update Libpng license textAnuj Mittal
The new libpng license comprises the terms and conditions from the zlib license, and the disclaimer from the Boost license. The legacy libpng license license, used until libpng-1.6.35, is appended to the new license, following the precedent established in the Python Software Foundation License version 2. See for details: https://sourceforge.net/projects/libpng/files/libpng16/1.6.36/ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-01licence: Add license file CC-BY-SA-4.0Eric Chanudet
Original legalcode.txt: https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt Signed-off-by: Eric Chanudet <chanudete@ainfosec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-06common-licenses: Correct the FreeType license textPeter Kjellerstedt
It now matches: http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-25Revert "relocate_sdk.py: remove hardcoded SDK path"Richard Purdie
This reverts commit 6671a4d980c8bef8f402780a308f6c43a25044aa. This breaks uninative tarball since the call of relocate_sdk.py from uninative.bbclass wasn't updated to account for this change. It isn't clear what value that code could pass in and this isn't simple to fix so revert until a better fix can be found that doesn't break uninative. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-24relocate_sdk.py: remove hardcoded SDK pathRuslan Bilovol
This patch removes hardcodes added to relocate_sdk.py during SDK build, making it flexible and reusable. Now default SDK path is passed to the script as parameter rather then harcoded inside it. This allows to reuse this script for multiple relocations, and adds possibility to relocate SDK multiple times Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-15Add license file EPL-2.0Nicola Lunghi
it is from: https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt And add 'EPL-2.0' to SRC_DISTRIBUTE_LICENSES. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-05-22toolchain-shar-extract.sh: Preserve ICECC_PATHJoshua Watt
ICECC_PATH wasn't being preserved in the environment when it was reinitialized. This prevented toolchain installs from being able to use icecream by setting ICECC_PATH when icecc isn't in $PATH Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06meta/classes: add ptest-perl.bbclassTim Orling
* Enable easier testing of perl modules - Installs t/* to PTEST_PATH - Uses common run-ptest script Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-15toolchain-shar-extract: Add post-relocate scriptsJoshua Watt
Recipes can now install post-relocation scripts which will be run when the SDK is installed. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-22common-licenses: Add BSD-1-ClauseAndré Draszik
Some projects are starting to use it. https://spdx.org/licenses//BSD-1-Clause.html Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-08-23pkgconf: add recipeMaxin B. John
pkgconf is a better replacement for pkg-config. Fedora 26 replaces the system pkg-config implementation with pkgconf because it "provides better support for handling .pc files and a stable library ABI/API for integrating into applications." and is actively maintained, unlike pkg-config. pkgconf aims to offer many improvements over pkg-config such as faster/more efficient dependency resolver which "allows for the user to more conservatively link their binaries -- which may be helpful in some environments, such as when prelink(1) is being used. pkgconf also aims to provide a more complete implementation of pkg-config. The features most likely to benefit the Yocto Project build system are the faster/more efficient dependency resolution and linker flag optimisation. Move pkgconf recipe to oe-core from meta-pkgconf: https://github.com/kergoth/meta-kergoth-wip/tree/master/meta-pkgconf Links: 1. http://pkgconf.org 2. https://fedoraproject.org/wiki/Changes/pkgconf_as_system_pkg-config_implementation 3. https://bugzilla.yoctoproject.org/show_bug.cgi?id=11308 Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17package.bbclass: support persistent /var/logChen Qi
Add a new file, fs-perms-persistent-log.txt, which treats /var/log as a directory instead of a link. Modify package.bbclass to use this file if VOLATILE_LOG_DIR is set to boolean false value. [YOCTO #6132] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-19ext-sdk-prepare.py: use quiet mode when preparing sysrootPaul Eggleton
In order to have a shared sysroot usable within the eSDK after recipe specific sysroots were implemented, we need to run bitbake build-sysroots as a separate call. However, unlike the first call, --quiet wasn't being specified and that somewhat undermined the earlier effort to clean up the eSDK installation output. Make this second call quiet as well so that the output is tidier. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17fs-perms.txt: Two cleanup tweaks for consistency.Robert P. J. Day
* Remove duplicate entry for /srv already defined earlier in file. * Use "${localstatedir}" rather than "/var" for consistency. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-10toolchain-shar-extract.sh: Ensure sbin directories are in PATH in clean ↵Richard Purdie
environment For the PATH host tool whitelisting to work, the sbin directories need to be in PATH. In the cleaned SDK environment on some distros, this isn't the case and the SDK would then fail to setup there. This adds code to add such paths if they do happen to be missing, ugly, but unblocks the PATH whitelisting which I believe to be important. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-28kernel, license, sstate, rootfs.py: Remove deploy directory READMEMike Crowe
It isn't clear that the README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt file in the deploy directory warrants the complexity it brings elsewhere. Let's just remove it entirely. In particular, if two do_image_complete tasks run in parallel they risk both trying to put their image into ${DEPLOY_DIR_IMAGE} at the same time. Both will contain a README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt file. In theory this should be safe because "cp -alf" will just cause one to overwrite the other. Unfortunately, coreutils cp also has a race[1] which means that if one copy creates the file at just the wrong point the other will fail with: cp: cannot create hard link ‘..../tmp-glibc/deploy/images/pantera/README_-_DO_NOT_DELETE_FILES_IN_THIS_D.txt’ to +‘..../tmp-glibc/work/rage_against-oe-linux-gnueabi/my-own-image/1.0-r0/deploy-my-own-image-complete/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt’: File exists [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25680 Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-01-31toolchain-shar-extract: compare SDK and host gcc versionsEd Bartosh
If ext sdk is built by gcc version higher than host gcc version and host gcc version is 4.8 or 4.9 the installation is known to fail due to the way uninative sstate package is built. It's a known issue and we don't have a way to fix it for above mentioned combinations of build and host gcc versions. Detected non-installable combinations of gcc versions and print an installation error. [YOCTO #10881] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-01-23Switch to Recipe Specific SysrootsRichard Purdie
This patch is comparatively large and invasive. It does only do one thing, switching the system to build using recipe specific sysroots and where changes could be isolated from it, that has been done. With the current single sysroot approach, its possible for software to find things which aren't in their dependencies. This leads to a determinism problem and is a growing issue in several of the market segments where OE makes sense. The way to solve this problem for OE is to have seperate sysroots for each recipe and these will only contain the dependencies for that recipe. Its worth noting that this is not task specific sysroots and that OE's dependencies do vary enormously by task. This did result in some implementation challenges. There is nothing stopping the implementation of task specific sysroots at some later point based on this work but that as deemed a bridge too far right now. Implementation details: * Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in TMPDIR/sysroot-components/PACKAGE_ARCH/PN. * WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE. * This construction is primarily done by a new do_prepare_recipe_sysroot task which runs before do_configure and consists of a call to the extend_recipe_sysroot function. * Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot dependencies. * We have to do a search/replace 'fixme' operation on the files installed into the sysroot to change hardcoded paths into the correct ones. We create a fixmepath file in the component directory which lists the files which need this operation. * Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each time a new loader is added. These are handled by adding files in bindir with the name prefixed by "postinst-" and are run in each sysroot as its created if they're present. This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them. * Since a recipe can have multiple tasks and these tasks can run against each other at the same time we have to have a lock when we perform write operations against the sysroot. We also have to maintain manifests of what we install against a task checksum of the dependency. If the checksum changes, we remove its files and then add the new ones. * The autotools logic for filtering the view of m4 files is no longer needed (and was the model for the way extend_recipe_sysroot works). * For autotools, we used to build a combined m4 macros directory which had both the native and target m4 files. We can no longer do this so we use the target sysroot as the default and add the native sysroot as an extra backup include path. If we don't do this, we'd have to build target pkg-config before we could built anything using pkg-config for example (ditto gettext). Such dependencies would be painful so we haven't required that. * PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy for each machine. The paths therefore changed, the behaviour did not. * The ccache class had to be reworked to function with rss. * The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal recipe name therefore remains a bad idea. * The logic in insane needed tweaks to deal with the new path layout, as did the debug source file extraction code in package.bbclass. * The logic in sstate.bbclass had to be rewritten since it previously only performed search and replace on extracted sstate and we now need this to happen even if the compiled path was "correct". This in theory could cause a mild performance issue but since the sysroot data was the main data that needed this and we'd have to do it there regardless with rss, I've opted just to change the way the class for everything. The built output used to build the sstate output is now retained and installed rather than deleted. * The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold up against testing. This has been rewritten too. There are some assumptions made about paths, we save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is here works but is a little hardcoded and an area for future improvement. * In order to work with eSDK we need a way to build something that looks like the old style sysroot. "bitbake build-sysroots" will construct such a sysroot based on everything in the components directory that matches the current MACHINE. It will allow transition of external tools and can built target or native variants or both. It also supports a clean task. I'd suggest not relying on this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have to have built that in a previous bitbake invocation. * pseudo is run out of its components directory. This is fine as its statically linked. * The hacks for wayland to see allarch dependencies in the multilib case are no longer needed and can be dropped. * wic needed more extensive changes to work with rss and the fixes are in a separate commit series * Various oe-selftest tweaks were needed since tests did assume the location to binaries and the combined sysroot in several cases. * Most missing dependencies this work found have been sent out as separate patches as they were found but a few tweaks are still included here. * A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my hand. That implementation can probably be neater but this is on the list of things to cleanup later at this point. In summary, the impact people will likely see after this change: * Recipes may fail with missing dependencies, particularly native tools like gettext-native, glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors * Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst * There was a separate patch series dealing with roots postinst native dependency issues. Any postinst which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS. There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean we've found all the issues. Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the task logfiles, not the console so I've intentionally left this like that for now. We can turn it down easily enough in due course. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-11sdk-installer: Fix unclear SDK installer messageTodor Minchev
When the host and the SDK architectures are incompatible the SDK installer outputs an incomplete error message "Error: Installation machine not supported!". This commit adds a more verbose error message e.g "Error: Incompatible SDK installer! Your host is i686 and this SDK was built for x86_64 hosts." Signed-off-by: Todor Minchev <todor.minchev@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-23toolchain-shar-relocate.sh: Fix typoRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-22toolchain-shar-relocate.sh: Add error-handlingMariano Lopez
The relocation script of the SDK doesn't have enough error handling when replacing host perl with SDK perl or changing the symlinks. This will add those checks along with a sanity check of xargs. [YOCTO #10114] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17classes/populate_sdk_ext: drop duplicated error messagePaul Eggleton
The preparation script itself prints out an error on failure, and we aren't redirecting its output anymore, so we no longer need to print out a message here when it fails. At the same time, make the message printed out by the script a little clearer - we're just writing the log out to the file, we shouldn't give the user an expectation that there will be extra details in there (other than the output produced by oe-init-build-env there won't be). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17classes/populate_sdk_ext: add some pre-install checksPaul Eggleton
Check a number of things as early as possible in the eSDK installer script so that the user gets an error up front rather than waiting for the build system to be extracted and then have the error produced: * Check for missing utilities specified in SANITY_REQUIRED_UTILITIES (along with gcc and g++), taking into account that some of these are satisfied by buildtools which ships as part of the SDK. We use the newly added capability to list an SDK's contents to allow us to see exactly which binaries are inside the buildtools installer. * Check that Python is available (since the buildtools installer's relocate script is written in Python). * Check that locale value set by the script is actually available * Check that the install path is not on NFS This does duplicate some of the checks in sanity.bbclass but it's difficult to avoid that given that here they have to be written in shell and there they are written in Python, as well as the fact that we only need to run some of the checks here and not all (i.e. the ones that relate to the host system or install path, and not those that check the configuration or metadata). Given those issues and the fact that the amount of code is fairly small I elected to just re-implement the checks here. Fixes [YOCTO #8657]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17toolchain-shar-extract.sh: add option to list contentsPaul Eggleton
Add a -l command-line option for SDK installers to get a list of files that will be extracted by the SDK - internally this just runs "tar tv" on the embedded tarball. This can be used to look at which files the SDK provides without actually installing it. The initial user of this is the extensible SDK build process which needs to know what binaries are going to be installed by the buildtools installer without installing it. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-25classes/populate_sdk_ext: show progress when preparing build systemPaul Eggleton
During the extensible SDK installation process the final step is to prepare the internal copy of the build system. This can take some time, especially if you have SDK_EXT_TYPE set to "minimal" (downloading sstate artifacts) and SDK_INCLUDE_PKGDATA set to "1" (restoring pkgdata for world). To make this a bit less painful, use BitBake's new quiet mode to display status during this operation so you have some idea of how it's progressing; instead of redirecting the output to preparing_build_system.log we grab the last console log and append it instead. One result of this change is that you get the errors printed on the console during normal output rather than this going to the preparing_build_system.log file first. In OE-Core revision 227d2cbf9e0b8c35fa6644e3d72e0699db9607fa, we changed to always print the contents of preparing_build_system.log on failure, but now at least the error contents of that log is duplicated. Besides, I intentionally didn't print out the contents of that log during normal usage because it's quite verbose - the bug that we were attempting to fix was about not getting this information when seeing failures in the automated tests, thus I've moved printing the log to the test handling code instead. Part of the implementation for [YOCTO #9613]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-07classes/populate_sdk_ext: eliminate double execution on installPaul Eggleton
Use the new BB_SETSCENE_ENFORCE functionality to avoid having to run bitbake twice on installing the extensible SDK - we can now do it all in one invocation which not only takes less time, but we should also get more meaningful errors for some types of failure, in particular where downloading from an sstate mirror fails. One result of this change is that you get the errors printed on the console during normal output rather than this going to the preparing_build_system.log file first. In OE-Core revision 227d2cbf9e0b8c35fa6644e3d72e0699db9607fa, we changed to always print the contents of preparing_build_system.log on failure, but now at least the error contents of that log is duplicated. Besides, I intentionally didn't print out the contents of that log during normal usage because it's quite verbose - the bug that we were attempting to fix was about not getting this information when seeing failures in the automated tests, thus I've moved printing the log to the test handling code instead. Part of the implementation of [YOCTO #9367]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-07toolchain-shar-extract.sh: allow TERM through into SDK installer envPaul Eggleton
In order to show the task progress during the extensible SDK installation, knotty needs to know it is using a terminal it can support the "interactive" mode on (i.e. ncurses can be used), which means it needs access to the TERM variable value, so allow that through into the cleaned environment within the SDK installation script. Part of the implementation for [YOCTO #9613]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>