summaryrefslogtreecommitdiffstats
path: root/meta/files/toolchain-shar-extract.sh
AgeCommit message (Collapse)Author
2021-01-19toolchain-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> (cherry picked from commit 0453acbbd45604537090ec7a3295b34309e6eecb) Signed-off-by: Steve Sakoman <steve@sakoman.com>
2020-10-19toolchain-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> (cherry picked from commit 289a58ddbbd8bb3f5ae0d3421cfe8e75b60b0fbe) Signed-off-by: Steve Sakoman <steve@sakoman.com>
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-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-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>
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-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>
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-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>
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-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-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>
2016-05-21bitbake.conf/toolchain-shar-extract: Use en_US.UTF-8 as localeRichard Purdie
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-31toolchain-shar-extract.sh: ensure all_proxy is allowed throughPaul Eggleton
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-31oe-publish-sdk: exclude sstate-cache if publishing minimal SDKPaul Eggleton
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-28toolchain-shar-extract.sh: check the length for target_sdk_dirWenlin Kang
Check the length for target_sdk_dir to ensure the relocation behaviour in relocate_sdk.py is correct. Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-10toolchain-shar-extract.sh: Add proxy variable to new env.Aníbal Limón
Extensible SDK needs to do network operations so add proxies to environment. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-22toolchain-shar-extract.sh: improve behaviour when xz is not installedPaul Eggleton
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11populate_sdk: Switch from bzip2 to xzRichard Purdie
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-11toolchain-shar-extract.sh: fix ~ not working in pathPaul Eggleton
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08toolchain-shar-extract.sh: ensure cleaned environment will work for ext SDKPaul Eggleton
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.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08toolchain-shar-extract.sh: proper fix for additional env setup scriptsPaul Eggleton
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01toolchain-shar-extract.sh: Ensure it's ran in clean environmentGeorge Nita
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. Signed-off-by: George Nita <george.nita@enea.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01toolchain-shar-extract.sh: do not allow $ in paths for ext SDKPaul Eggleton
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]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-20toolchain-shar-extract.sh: print full-length title underlinePaul Eggleton
Print a line that's the full length of the title that it's underneath. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-19toolchain-shar-extract.sh: provide proper path for env_setup_scriptMaxin B. John
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. Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-29toolchain-shar-extract: Correct environment-setup script names for multilibRichard Purdie
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! Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-24toolchain-shar-extract.sh: remove checkbashismRobert Yang
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. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-22toolchain-shar-extract.sh: show progress when extracting SDKPaul Eggleton
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). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-07Extensible SDK: allow for installation without preparing build systemQi.Chen@windriver.com
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. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-07toolchain-shar-extract.sh: explain why we cannot use sudo in extensible SDKBrendan Le Foll
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-07toolchain-shar-extract.sh: better default install path for extensible SDKBrendan Le Foll
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 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>
2015-09-07toolchain-shar-extract.sh: ensure extensible SDK install path obeys restrictionsBrendan Le Foll
There are some characters that cannot appear in the installation path, so we need to check for these 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>
2015-08-19toolchain-shar-extract.sh: add a space in the endRobert Yang
For a clear look when input. [YOCTO #8089] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-07-20extensible sdk: Error when trying to install as root.Randy Witt
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] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-04-24toolchain-shar-extract.sh: mention how to set up the SDK environmentPaul Eggleton
Tell the user how to set up the SDK environment each time they want to use it. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24classes/populate_sdk_base: Show title in SDK installerPaul Eggleton
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23toolchain-shar-template.sh: Make relocation optional.Randy Witt
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. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>