summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/icecc-create-env
Commit message (Collapse)AuthorAgeFilesLines
* Convert to new override syntaxRichard Purdie2021-08-021-1/+1
| | | | | | | | | | | | This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Silence warning: invalid ICECC_ENV_EXECDouglas Royds2021-05-281-0/+1
| | | | | | | (From OE-Core rev: 42016f34ae59d4282491be9294d1e6698c18e1ba) Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Use OE patchelf in SDKJoshua Watt2019-11-141-0/+2
| | | | | | | | | | | | | The Icecream environment creation script runs when the SDK is installed and uses patchelf to fix up executables. Rather than rely on the host system to provided patchelf (which often can be older versions that produce buggy executables), mark the OE version of patchelf as a dependency of icecc-create-env when included in the SDK. (From OE-Core rev: b0293d9734372c90a0b4eec7967b55e0db96102e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Add extra tools optionJoshua Watt2018-04-131-0/+12
| | | | | | | | | | | It can often be useful to include additional debugging tools the toolchain such as strace. Add an option to include an arbitrary path. (From OE-Core rev: 1fc1e3d59afd292ff8f7c4e1f64324134b73b8f4) 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>
* icecc-create-env: Fix library interpreter usageJoshua Watt2018-04-131-35/+77
| | | | | | | | | | | | | | | | | | | | | Shared libraries sometimes (frequently?) don't have a program interpreter specified. The previous code would fail to find the library dependencies in these cases because no interpreter could be found. Commonly, this meant that if a library depends on another library, it might not be included toolchain because dependency scanning stops with the first one. Instead, capture the program interpreter from the program or library that starts the dependency chain and use that interpreter to get all of the dependencies in the chain, recursively. Additionally, if no interpreter can be found, fallback to using ldd (From OE-Core rev: 4f55e61e9e3dd921bd71a127580dc5fc71d7b339) 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>
* icecc-create-env: Fix RUNPATH filesJoshua Watt2018-04-131-1/+3
| | | | | | | | | | | | | | Some newer libraries and programs use RUNPATH to specify the library search path. These executables were being skipped by the rpath fixup code because it was grepping the ELF header for RPATH only. A more correct solution is to ask patchelf to report the rpath, as that tool will properly report either RPATH or RUNPATH as appropriate. (From OE-Core rev: d1e88ad01df9b6419e02f632b1ba288d4cc3b2bf) 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>
* icecc-create-env: Allow logging to a fileJoshua Watt2018-04-131-25/+49
| | | | | | | | | | | | | Modifies the icecc-create-env script so that it can log output to a log file. In addition, a --debug flag is added that allows verbose logging. Finally, the silent flag was removed since it was never used in icecc.bbclass (From OE-Core rev: 3d0bd786fd79967cf8754d022044df311dd8ad3e) 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>
* icecc-create-env: Allow multiple tool aliasesJoshua Watt2018-02-151-56/+54
| | | | | | | | | | | | When files are added to the environment, multiple aliases can be given for the file (by calling add_path multiple times with a second argument). All of these names will end up with a symlink to the original file. (From OE-Core rev: 0a5bbad5810b69fa09dbd8d886e4f368310a5db9) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Add support for nativesdkJoshua Watt2018-02-151-2/+2
| | | | | | | | | | icecc-create-env can now be built as a nativesdk recipe, allowing the script to be included as part of an SDK (From OE-Core rev: fa7929ed70ed39a202bd2dc935d460dd57e38ffd) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Fix executable rpathsJoshua Watt2018-02-151-3/+37
| | | | | | | | | | | | | | | | | | | | | Executables in the toolchain archive occasionally contain runtime library search paths (RPATH) that use the $ORIGIN placeholder. However, in order for that placeholder to work, /proc must be mounted. When iceccd executes the toolchain in the chroot environment, it doesn't mount /proc, so it is unable to resolve $ORIGIN resulting in a failure to find dynamic libraries. The fix is to replace $ORIGIN in executable RPATH entries with the known chroot executable path. In order for this to work, the actual real path to the executable must be resolved to remove any symlinks, otherwise the calculate $ORIGIN replacement will be wrong. This is done by using "readlink -f", which is an acceptable dependency because Yocto already requires it. (From OE-Core rev: cfe98765b40c28a132b5a4bce39f71f06b4eb0bc) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Archive directoryJoshua Watt2018-02-151-1/+5
| | | | | | | | | | | | | | | | | Taring up the toolchain is now done by adding the entire working directory, instead of listing all the files individually. This is done because the list of files may contain ".." entries, which tar does not like and strips out, resulting in bad archives. This should result in an identical archive to what was previously generated. In addition, symbolic links are no longer dereferenced when creating the archive, as they are purposely included to provide alternate names for files (From OE-Core rev: 122d6a5bdcbc494bba0fa2b213d730500f6f7dbc) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Symlink alternate namesJoshua Watt2018-02-151-7/+57
| | | | | | | | | | | Instead of renaming files to a new path in the toolchain archive, keep the files with their original paths and create a relative symbolic link from the new path to the original file. (From OE-Core rev: 256f8f6cc5b520b59cfdc44aa076f71990e18e2c) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Use program interpreter for depsJoshua Watt2018-02-151-3/+17
| | | | | | | | | | | | | ldd cannot always be used to determine a program's dependencies correctly, particularly when the program specifies an alternate program interpreter (dynamic loader). This commonly happens when using a uninative tarball. Instead, determine the program's requested interpreter, and ask it to list the dependencies. (From OE-Core rev: 96d5831ef0e535d3f91acd3e979316355fbde04e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: Add /bin/true to environmentJoshua Watt2018-02-151-0/+10
| | | | | | | | | | | icecream daemons execute /bin/true from the environment as a check to determine if the environment is valid at all, so it needs to be included. (From OE-Core rev: c86aa6edab842c579177fe5c1f8647290b58fe61) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: ReformatJoshua Watt2018-02-151-104/+104
| | | | | | | | | | | | The environment script used an annoying mix of tabs and spaces and no mapping of tabs to spaces would produce pleasant indentation. Reformat to eliminate tab characters and settle on 4 spaces for indentation (which matches the upstream icecream script from which this is derived) (From OE-Core rev: 884c2436a6dbcb6bff99409a80276b9ef5690875) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env-native: add SUMMARY and tweak DESCRIPTIONPaul Eggleton2014-01-021-2/+3
| | | | | | | (From OE-Core rev: 274672362dbf0221144f2286bcd9a0b977c24fa6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env-native: Drop FILESPATH, document PATCHTOOLMartin Jansa2013-12-052-2/+11
| | | | | | | | | | * moving icecc-create-env to BPN allows to drop FILESPATH * document PATCHTOOL, because it's not easy to guess why it's needed (From OE-Core rev: a29c71024c304263bfb0732c870f20c1a6af7f64) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ldconfig/cdrtools/icecc-create-env/linuxdoc-tools/python: Set FILESPATH to ↵Richard Purdie2012-11-211-0/+2
| | | | | | | | | | | | find -native files In a small number of cases we need to have ${PN} in FILESPATH rather than ${BPN}. Rather than hurt readability for all other recipes, set FILESPATH in these recipes so we can prune the default. (From OE-Core rev: d61ef6ce86abe5b484a2a2602982f4ded54b3f9a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env-native_0.1.bb: drop 'PRIORITY = "optional"' as it is the ↵Otavio Salvador2011-12-151-1/+0
| | | | | | | | | default (From OE-Core rev: 49e629e78ba914c3372a9969ad84eff20ef8f009) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env-native: provide the script right in the treeDmitry Eremin-Solenikov2011-09-283-109/+194
| | | | | | | | | | There is no point in downloading a tarball with no clear upstream (other than icecc itself) and then patching it. Rather put new script in the source tree. (From OE-Core rev: 409fa8ca4d37ad407faaa2a8935e9d2bb89776c9) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: rename to -nativeDmitry Eremin-Solenikov2011-09-222-10/+10
| | | | | | | | | | | | | icecc-create-env(-native) is a native package. But if it doesn't have the -native suffix, some dependency tracking stuff in oe-core (in nativesdk.bbclass) get's crazy about it, trying to generate dependencies to icecc-create-env-native packages. To fix that simply add -native suffix to this package. (From OE-Core rev: 83f9ebe9afb8bec4531899f8001a585c974e1db4) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc-create-env: a tool to create icecc toolchain tarballsDmitry Eremin-Solenikov2011-09-162-0/+132
IceCC needs tarballs with toolchains to work correctly. This is a version largely based on one from org.openembedded.dev, plus a patch to support recent compilers, LTO, etc. (From OE-Core rev: 49d25ab464e0e02bb910a75791077b1393d22b6e) Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>