summaryrefslogtreecommitdiffstats
path: root/meta/files/toolchain-shar-extract.sh
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* 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>
* 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>
* 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>
* toolchain-shar-extract.sh: allow TERM through into SDK installer envPaul Eggleton2016-07-081-0/+1
| | | | | | | | | | | | | | | | 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]. (From OE-Core rev: a8f11bc5ce07114b9ec7da7ad48da62e2026cd74) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/toolchain-shar-extract: Use en_US.UTF-8 as localeRichard Purdie2016-05-211-0/+1
| | | | | | | | | | | | | | | | | | Under python 3, if we spawn python processes, we need to have a UTF-8 locale, else python's file access methods will use ascii. You can't change that mode once the interpreter is started so we have to ensure a locale is set. Ideally we'd use C.UTF-8 since OE already forces the C locale but not all distros support that and we need to set something so en_US.UTF-8 seems as standard we we can get. This matches the change in bitbake revision 8902c29638411d312e6fc4a197707e5742652e15 Also set this into the environment used when installing SDKs since python can be run and we need to ensure we use a standardised locale which is available from things like buildtools-tarball. (From OE-Core rev: 833d4c0fe804a1f7524b3d4b75cbcdd65c31ddac) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: ensure all_proxy is allowed throughPaul Eggleton2016-03-311-1/+1
| | | | | | | | | | | all_proxy is referred to by oe-git-proxy so ensure it is allowed through into the installer environment in case the extensible SDK install process needs to query a remote git repository. (From OE-Core rev: 65efec4cca9926b217b07c429a130088a9b8e2f6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-publish-sdk: exclude sstate-cache if publishing minimal SDKPaul Eggleton2016-03-311-2/+9
| | | | | | | | | | | | | | | | | | | | | | | If SDK_EXT_TYPE is set to "minimal" then the SDK won't contain many sstate artifacts, and you're required to set up an sstate mirror in this case anyway so there's no point publishing the "stub" sstate-cache directory from within the SDK since it won't be useful for update purposes and may be confused with the real sstate-cache. There is however a possibility that people might publish the real sstate-cache directory under the same output directory provided to oe-publish-sdk, thus deleting it after extracting (as we were doing with other files we wanted to clean up at the end) would be problematic, besides which extracting it and then deleting it is wasteful. Thus, introduce a "-p" command line option to the SDK installer that we can use to tell tar not to extract the items we don't want when publishing. This has the added benefit of mostly keeping references to these in the place they belong i.e. in populate_sdk_ext.bbclass. (From OE-Core rev: 774b85d42db1d81936d4e4af4f6fb2c57cb51d2c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: check the length for target_sdk_dirWenlin Kang2016-03-281-0/+6
| | | | | | | | | | Check the length for target_sdk_dir to ensure the relocation behaviour in relocate_sdk.py is correct. (From OE-Core rev: 2145bd0d188158c2db85b583b4d7f3ad4612593b) Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: Add proxy variable to new env.Aníbal Limón2016-02-101-1/+3
| | | | | | | | | | | Extensible SDK needs to do network operations so add proxies to environment. (From OE-Core rev: 6d65712660a314916ebee5abc9990404216dbe00) Signed-off-by: Aníbal Limón <anibal.limon@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: improve behaviour when xz is not installedPaul Eggleton2016-01-241-1/+6
| | | | | | | | | | | | Currently if xz isn't installed when installing the SDK you get an error from tar and then the SDK installation continues, cascading into a load of other failures since files are missing. Add a check to see if xz can be run and error out if it can't, and also exit if tar fails. (From OE-Core rev: 176e2bddb45b417b0bfbcdcd95bd5e81505e1e5b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk: Switch from bzip2 to xzRichard Purdie2016-01-111-1/+1
| | | | | | | | | | | | | | | xz gives *much* faster decompression times for the SDK which in itself is a good reason to use it. It also gives better compression. One downside is its slower but we care about the end user case first, build performance secondary. It also assumes the SDK user has a tar capable of understanding a xz compressed file but that should be common enough now. (From OE-Core rev: 193086137b899a0a4e774ffc337ed0da9947fd4f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: fix ~ not working in pathPaul Eggleton2015-12-111-1/+1
| | | | | | | | | | | | | Fix a second regression in the extensible SDK installation caused by OE-Core revision 6d2074d477596971dc52027dd87b02af7f39138d - the HOME environment variable was being cleared, thus using ~/ in the install path (which is in the default path for the extensible SDK) resulted in a directory named '~' being created in the current directory. (From OE-Core rev: 18dcf8acc9a918d00c3525e9af5f64d237f74bdb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: ensure cleaned environment will work for ext SDKPaul Eggleton2015-12-081-0/+2
| | | | | | | | | | | | | | | | | In OE-Core revision 6d2074d477596971dc52027dd87b02af7f39138d we added a line which re-executes the script with a cleaned environment using env -i; unfortunately that caused a regression in the extensible SDK on Ubuntu 14.04 - strangely, there it seems that the value you get for PATH under env -i contains '.' which triggers a sanity check failure when preparing the build system. Do a belt-and-braces fix - source /etc/environment if it exists (so you get a more complete PATH value) and then filter any nastiness out of PATH for good measure. (Ubuntu 15.04 doesn't seem to suffer from the same problem.) (From OE-Core rev: 5175d9a6955c1783fc35ab6832b6be4cbb9fc01b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: proper fix for additional env setup scriptsPaul Eggleton2015-12-081-0/+11
| | | | | | | | | | | | | buildtools-tarball uses a custom env setup script, which isn't named the same as the default; thus unfortunately OE-Core revision a36469c97c9cb335de1e95dea5141038f337df95 broke installation of buildtools-tarball. Revert that and implement a more robust mechanism. (From OE-Core rev: 00e081b81ba8118959b724269ba9d18d42aba8a4) 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: Ensure it's ran in clean environmentGeorge Nita2015-12-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | Fixes [YOCTO #8698] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=8698 If prior to running the toolchain installation script a toolchain environment script is sourced then the toolchain installation will fail. This because the environment is now set for the sourced toolchain and doesn't suit the installation. In particular PATH points to the toolchain executables. The fix makes the script recursively call itself a second time with a clean environment. Tested by sourcing a previous successfully installed environment, erasing the previous installation directory and then reinstalling in the same directory. (From OE-Core rev: 6d2074d477596971dc52027dd87b02af7f39138d) Signed-off-by: George Nita <george.nita@enea.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: do not allow $ in paths for ext SDKPaul Eggleton2015-12-011-2/+2
| | | | | | | | | | | | | If you put an $ character in the path, SDK installation fails during the preparation stage, so add this to the disallowed characters. Fixes [YOCTO #8625]. (From OE-Core rev: 654f4785f719552f4e78e14a5a901c07d00ce68d) 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: print full-length title underlinePaul Eggleton2015-10-201-2/+3
| | | | | | | | | Print a line that's the full length of the title that it's underneath. (From OE-Core rev: 83729437c584fc74577a2b15dbb2ae094788339d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: provide proper path for env_setup_scriptMaxin B. John2015-10-191-1/+1
| | | | | | | | | | | | | | | | | | The toolchain install script suggest the user to source env_setup_script from wrong path now. eg: " Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /opt/poky/2.0//opt/poky/2.0/environment-setup-armv5e-poky-linux-gnueabi " fix it. (From OE-Core rev: b388468deda8d81df80d1509226196a5390183a8) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract: Correct environment-setup script names for multilibRichard Purdie2015-10-011-1/+3
| | | | | | | | | | | | | Currently a lib32-core-image-* SDK prints an incorrect environment-setup-* file name when installing the SDK. Instead of printing the wrong thing, list the environment setup files present in the SDK. As it happens this fixes the message printed with buildtools-tarball too which someone reported to me about the same time as I finished this patch! (From OE-Core rev: c2fa59f46bbc86985e6c8e4d5d514a07a9ade884) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: remove checkbashismRobert Yang2015-09-241-2/+2
| | | | | | | | | | | | | | | | | | Fixed when sh is bash: $ sh ./tmp/deploy/sdk/poky-glibc-x86_64-core-image-minimal-core2-64-toolchain-1.8+snapshot.sh Poky (Yocto Project Reference Distro) SDK installer version 1.8+snapshot =========================================================== ./tmp/deploy/sdk/poky-glibc-x86_64-core-image-minimal-core2-64-toolchain-1.8+snapshot.sh: 77: read: Illegal option -e You are about to install the SDK to "/opt/poky/1.8+snapshot". Proceed[Y/n]? ../SDK2 Installation aborted! There is ony one bashism "read -e" in toolchain-shar-extract.sh, but '-e' is useless here, so remove it and use /bin/sh. (From OE-Core rev: e951e20c4ef6a3f003f84e8f1bea568d1b7ef541) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: show progress when extracting SDKPaul Eggleton2015-09-231-1/+1
| | | | | | | | | | | | | Tar has supported a --checkpoint option since version 1.15.91, so it should be safe to use here to print dots showing that it's still doing something (technically it's not really progress unless you know how many dots it's going to print, which even it doesn't know at the start, but it's better than nothing). (From OE-Core rev: ee4aadd179be8141536f2fae16482683855a9a37) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Extensible SDK: allow for installation without preparing build systemQi.Chen@windriver.com2015-09-091-1/+6
| | | | | | | | | | | | | | When publishing SDK, what we want is basically its metadata and sstate cache objects. We don't want the SDK to be prepared with running bitbake as it takes time which reproduces meaningless output for the published SDK. So this patch adds an option to allow for SDK to be extracted without preparing the build system. (From OE-Core rev: 7511862faad1c28804e2410ff42747c8706c5207) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: explain why we cannot use sudo in extensible SDKBrendan Le Foll2015-09-091-1/+2
| | | | | | | (From OE-Core rev: 0129a12dd3bdb0e9966643c3a355d5eec846da8b) Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: better default install path for extensible SDKBrendan Le Foll2015-09-091-4/+12
| | | | | | | | | | | | Extensible SDK cannot be installed as root so by default offer to install it in user's home directory under distro/distro_version replacing the normal SDK version '+' char with a '_' as that's a restricted character for bitbake (From OE-Core rev: 5486e76cd8abb946b81cff78719d67cfb87cddc6) Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: ensure extensible SDK install path obeys restrictionsBrendan Le Foll2015-09-091-3/+12
| | | | | | | | | | | There are some characters that cannot appear in the installation path, so we need to check for these (From OE-Core rev: 5aa9314c342004797e96c87868c5491ad70c13f9) Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-extract.sh: add a space in the endRobert Yang2015-08-191-2/+2
| | | | | | | | | | | | For a clear look when input. [YOCTO #8089] (From OE-Core rev: 973a169a35caa4e603fe5abf9ad661f5206a7f07) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* extensible sdk: Error when trying to install as root.Randy Witt2015-07-201-0/+7
| | | | | | | | | | | | | | | | | | | Since the extensible sdk uses bitbake, which can't run as root, the sdk shouldn't be installed as root. Previously it would error out late into setup when bitbake errored saying not to run bitbake as root. Now the script errors with a message saying the extensible sdk can't be installed as root. [Yocto #7545] (From OE-Core rev: 309e8f4e536148056223f50637ed291c48d148ca) Signed-off-by: Randy Witt <randy.e.witt@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: mention how to set up the SDK environmentPaul Eggleton2015-04-241-0/+2
| | | | | | | | | | Tell the user how to set up the SDK environment each time they want to use it. (From OE-Core rev: 617225af7a7cc9cb038fb1e6466af03867482032) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_base: Show title in SDK installerPaul Eggleton2015-04-241-0/+3
| | | | | | | | | | | | Show a friendly title when running the SDK installer, so the user knows what SDK they are installing. The title is controlled by the SDK_INSTALLER_TITLE variable and includes the distro name and SDK version by default. (From OE-Core rev: 0af913887f4c0a79c6b950bd5d57c06333520a14) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-shar-template.sh: Make relocation optional.Randy Witt2015-02-241-0/+154
If the buildsystem is copied into the sdk and its toolchain is to be used, then the relocation provided in toolchain-shar-template.sh isn't needed and will actually fail. So break the relocation aspect out and essentially make it another SDK_POST_INSTALL_COMMAND script. (From OE-Core rev: 9721378688a05cd8d8443c6ee4be823e5c0688f6) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>