summaryrefslogtreecommitdiffstats
path: root/meta/files
Commit message (Collapse)AuthorAgeFilesLines
* licenses: Update license file to match current SPDX namesMeh Mbeh Ida Delphine2021-02-2114-0/+2866
| | | | | | | | | | | | | | | | | | | | * Updated mappings of license fields of meta/conf/licenses.conf to match latest SPDX naming. * Add mappings to the old names * Renamed license files to match the new preferred names. * Added "or later" versions of license mappings * Added "or later" versions of common license files eg GPL-2.0-or-later Fixes: [YOCTO #13320] (From OE-Core rev: 5ecf139a31fa7bd813855f1235ea9f434fbcb2e0) Signed-off-by: Meh Mbeh Ida Delphine <idadelm@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: Add GPL-3.0-with-bison-exceptionJose Quaresma2021-01-231-0/+7
| | | | | | | (From OE-Core rev: 58f8debdd53c27cce17ae083dfeb0dab0bd54964) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-relocate.sh: Fix handling files with colonsOleksiy Obitotskyy yIEf0zt.mo2021-01-201-1/+1
| | | | | | | | | | | Files could contain colons in name and we should not use colons (':') as field separator. E.g. perl/python man pages packages. (From OE-Core rev: 50d2ed0689f1aed6f33b4992d37e2e991c99eb07) Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: Handle special characters in script pathAndrey Mozzhuhin2021-01-171-6/+6
| | | | | | | | | | | | | 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. (From OE-Core rev: 0453acbbd45604537090ec7a3295b34309e6eecb) Signed-off-by: Andrey Mozzhuhin <amozzhuhin@yandex.ru> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: add BSD-3-Clause-Clear licenseAdrian Herrera2021-01-151-0/+32
| | | | | | | | | | See https://spdx.org/licenses/BSD-3-Clause-Clear.html (From OE-Core rev: 6db06326d2d6ba68cee5ddc24eeaa6eccb441666) Signed-off-by: Adrian Herrera <adrian.herrera@arm.com> Change-Id: I2b7e0ad060fac6b473ce4d0bab839253aee9873d Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: toolchain-shar-relocate.sh: Filter out post-relocate-setup scriptMarek Vasut2021-01-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 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") (From OE-Core rev: 5000aabe6ac336e7b424dafa1bf76271dee6a6f1) 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>
* meta: toolchain-shar-relocate.sh: Do not use $target_sdk_dir as regexMarek Vasut2021-01-121-1/+3
| | | | | | | | | | | | | | | | | | | | | 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.") (From OE-Core rev: 19d9fa7ab6c851000bc5d24281739e1b2bb8f057) 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>
* fs-perms: Ensure /usr/src/debug/ file modes are correctRichard Purdie2020-11-242-2/+2
| | | | | | | | | | | | | | | | | 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). (From OE-Core rev: 1f958bcd6c9cd12ec76d80586cba15f4d6ed17a7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: add bzip2-1.0.4Yann E. MORIN2020-10-301-0/+43
| | | | | | | | | | | | | | | | | | | | | | 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). (From OE-Core rev: f303c31b813f371737c9a9d7a93e9f920f84e75a) 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>
* toolchain-shar-extract.sh: don't print useless infoChangqing Li2020-10-171-1/+1
| | | | | | | | | | useless info "gcc: command not found" is printed when run buildtools-extended on system without gcc. (From OE-Core rev: 289a58ddbbd8bb3f5ae0d3421cfe8e75b60b0fbe) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add license text for PSF-2.0Mark Jonas2020-09-301-0/+49
| | | | | | | (From OE-Core rev: 37983b3706bda0c466e7e99e1d088089854f5648) Signed-off-by: Mark Jonas <toertel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: fix filename of BSD-2-Clause-PatentRoss Burton2020-06-301-0/+0
| | | | | | | (From OE-Core rev: 4a9c62d49940b154177d817a845188d827370607) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: add BSD-2-Clause-PatentRoss Burton2020-06-171-0/+47
| | | | | | | (From OE-Core rev: d6e8c4a63caefdf36dfbc9d230c9e8db4b43dc5a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: add "Unlicense" license fileRobert P. J. Day2020-05-151-0/+24
| | | | | | | (From OE-Core rev: 7698f3145a9c48778d7bb79f54df169cf375349c) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bzip2/pbzip2: Correct license informationRichard Purdie2020-04-241-0/+0
| | | | | | | | | | | | | | 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. (From OE-Core rev: 669600ef9b6155cd3d9b8092505a1eed289d40b1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract: check for available pythonJeremy Puhlman2020-03-211-1/+6
| | | | | | | | | | centos7 doesn't have python3 intalled by default, so running the script errors in novel ways if it is not installed. (From OE-Core rev: 1e6061a4d223dc104039728ba169dbe63e74f750) Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* files/toolchain-shar-extract.sh: Rework PATH cleaningRichard Purdie2020-03-111-8/+3
| | | | | | | | | | | 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. (From OE-Core rev: 7674b63819aa7ca95ca5ca5477a5cce32e9691eb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract: ignore timestamp on decompressJeremy Puhlman2020-02-221-1/+1
| | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 319ca22ea4465c56c63730847378a7aee4f5935a) Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* acpica: upgrade to 20191018Ross Burton2019-11-141-0/+105
| | | | | | | | | | | | | 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. (From OE-Core rev: 84f046187e5794d6723094e3aafab057ea396d3e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: update BSD-2-CLAUSE license textChristophe PRIOUZEAU2019-08-301-7/+4
| | | | | | | | | | Using the generic BSD-2-CLAUSE license as specified on https://opensource.org/licenses/BSD-2-Clause (From OE-Core rev: d532d19d35e19beb8d80ee38429562aa08cc9039) Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Apache-2.0-with-LLVM-exception: Add new license fileKhem Raj2019-07-311-0/+219
| | | | | | | | | | | | 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 (From OE-Core rev: fc634c41e4b3fbaf29dc0104ae6b15757e77f60a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ext-sdk-prepare.py: python2 -> python3Robert Yang2019-06-301-1/+1
| | | | | | | | | This script is python3 indeed. (From OE-Core rev: 62443240d01ba4b696a8dbab9e60774a84662cdd) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base: provide options to set sdk typeChangqing Li2019-05-031-2/+20
| | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 57a33048a89a422cfdc986d3489c67b2d297e1e7) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* elfutils: remove Elfutils-Exception and include GPLv2 for shared librariesMikko Rapeli2019-04-111-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (From OE-Core rev: 88188807a6ac9bab738a69f6b4caba9ed092d78f) Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract/init-install-efi-testfs: Unify question spacesGianfranco Costamagna2019-04-041-2/+2
| | | | | | | | | | | | 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. (From OE-Core rev: 7a3f128b19e55b751e81bc676e5946544b0c8735) 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>
* vim: Import version 8.1.0347Tom Rini2019-03-061-0/+81
| | | | | | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: cc2022ad369a74ee3f60c345778e4fe206f5df36) 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>
* common-licenses: update Libpng license textAnuj Mittal2018-12-201-89/+111
| | | | | | | | | | | | | | | | | 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/ (From OE-Core rev: 673c2dcf1045f7264570f81e2880d7a03befd2af) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* licence: Add license file CC-BY-SA-4.0Eric Chanudet2018-12-011-0/+428
| | | | | | | | | | Original legalcode.txt: https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt (From OE-Core rev: fa06fcce7942f5960178dcdeb61a7b659f7f8207) Signed-off-by: Eric Chanudet <chanudete@ainfosec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: Correct the FreeType license textPeter Kjellerstedt2018-11-071-2/+2
| | | | | | | | | | It now matches: http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT (From OE-Core rev: 9dcb393551b65c8b674f625e90171b512f5e5a60) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "relocate_sdk.py: remove hardcoded SDK path"Richard Purdie2018-07-251-1/+1
| | | | | | | | | | | | | 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. (From OE-Core rev: b247392b4ced57cfe694656032f6a6723740a9e8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* relocate_sdk.py: remove hardcoded SDK pathRuslan Bilovol2018-07-241-1/+1
| | | | | | | | | | | | | | | | 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 (From OE-Core rev: 6671a4d980c8bef8f402780a308f6c43a25044aa) Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add license file EPL-2.0Nicola Lunghi2018-06-151-0/+277
| | | | | | | | | | | | | 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. (From OE-Core rev: f045b3d2c62c70a87277596d20bdb8830faa2963) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: Preserve ICECC_PATHJoshua Watt2018-05-221-0/+1
| | | | | | | | | | | | 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 (From OE-Core rev: c245ab9bee536c7b6af026a5eda02ae0695567b3) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/classes: add ptest-perl.bbclassTim Orling2018-03-061-0/+16
| | | | | | | | | | | * Enable easier testing of perl modules - Installs t/* to PTEST_PATH - Uses common run-ptest script (From OE-Core rev: aeffa15350252489c62cd221b2e0548043fec548) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract: Add post-relocate scriptsJoshua Watt2018-02-161-0/+8
| | | | | | | | | | Recipes can now install post-relocation scripts which will be run when the SDK is installed. (From OE-Core rev: 93ec145f421a45077b40ae99ee6a96bc11f91f18) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* common-licenses: Add BSD-1-ClauseAndré Draszik2018-01-221-0/+9
| | | | | | | | | | | Some projects are starting to use it. https://spdx.org/licenses//BSD-1-Clause.html (From OE-Core rev: 77f692ecb39d880b2cb420850a31534860eb2cc5) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pkgconf: add recipeMaxin B. John2017-08-231-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (From OE-Core rev: 879bd0ff00ebebfdeef52c3f61597d635e040aef) 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>
* package.bbclass: support persistent /var/logChen Qi2017-08-181-0/+66
| | | | | | | | | | | | | | | 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] (From OE-Core rev: 6b22e247bf91f112401cad822cd7fe0b5621ffe0) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ext-sdk-prepare.py: use quiet mode when preparing sysrootPaul Eggleton2017-04-191-1/+1
| | | | | | | | | | | | | | 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. (From OE-Core rev: 56b73788edaa0796e53f1a30e9ebdb2ae85b1646) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* fs-perms.txt: Two cleanup tweaks for consistency.Robert P. J. Day2017-03-171-4/+1
| | | | | | | | | | | * Remove duplicate entry for /srv already defined earlier in file. * Use "${localstatedir}" rather than "/var" for consistency. (From OE-Core rev: 0cb3a4b299506b4503c5728a0f0c80db8d603e91) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: Ensure sbin directories are in PATH in clean ↵Richard Purdie2017-03-101-0/+14
| | | | | | | | | | | | | | 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. (From OE-Core rev: 8c49ab40c2ff2e60b717f479822d1a0021735429) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel, license, sstate, rootfs.py: Remove deploy directory READMEMike Crowe2017-03-011-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 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 (From OE-Core rev: 71e9e88847d7000781642ea6187ebd8f40dfdcfe) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract: compare SDK and host gcc versionsEd Bartosh2017-01-311-0/+8
| | | | | | | | | | | | | | | | | | | | 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] (From OE-Core rev: bfb9ea2604557804bd8c16adb57ccdd868a4020f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Switch to Recipe Specific SysrootsRichard Purdie2017-01-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 809746f56df4b91af014bf6a3f28997d6698ac78) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sdk-installer: Fix unclear SDK installer messageTodor Minchev2016-10-111-1/+1
| | | | | | | | | | | | | | 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." (From OE-Core rev: dc3964f1c3457cc1265d1ed0095c0c491a97b47f) 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>
* toolchain-shar-relocate.sh: Fix typoRichard Purdie2016-09-231-1/+1
| | | | | | (From OE-Core rev: 8d6ee36493800a30e9bd6eacb671fbafe5d61ad7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-relocate.sh: Add error-handlingMariano Lopez2016-09-221-1/+19
| | | | | | | | | | | | | | | 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] (From OE-Core rev: c9982dab4cfdd5963d2c2dd4aab99dd6a27fcd1c) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: drop duplicated error messagePaul Eggleton2016-08-171-1/+1
| | | | | | | | | | | | | | | | 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). (From OE-Core rev: 80dfaf40e087b34d6360188df372c1c3805a00bd) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: add some pre-install checksPaul Eggleton2016-08-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]. (From OE-Core rev: 6e6999a920b913ad9fdd2751100219c07cd14e54) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: add option to list contentsPaul Eggleton2016-08-171-3/+12
| | | | | | | | | | | | | | | 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. (From OE-Core rev: 1d3e874f191f011eb9d7b0e12e513433c126036e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>