aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/populate_sdk_base.bbclass
AgeCommit message (Collapse)Author
2013-04-23populate_sdk_base.bbclass:fix toolchain relocation issuesHongxu Jia
When run "autoreconf" in toolchain, there is an error if the host's perl's version is not the same as the one in the SDK, the error says that the executable perl mismatches the perl lib's version. This is because most of the autotools' scripts use the "#!/usr/bin/perl -w" which is host perl, but the gnu-configize uses "#! /usr/bin/env perl" which invokes the perl wrapper in the SDK, and the wrapper will set the PERL5LIB to the SDK which causes the mismatch. We can make all the perl scripts to use the host perl or the SDK perl to fix this problem. Cherry-pick commit aeb53bd78991af9fbb60d64176ec864cfc2ddbb9 [YOCTO #3984] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2013-04-23populate_sdk_base: tarball installer: SDK overwrite warningHongxu Jia
This patch contains two fixes: * if the user wants to install the SDK in a directory that already contains a SDK for the same architecture, a warning will be shown; * when the symbolic links are relocated use -n option. Otherwise, symbolic links to existing directories will be created in the directory itself; Cherry-pick commit b751ec137d0228b40a90e9e32b24f5cb5732225b [YOCTO #3401] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2013-04-23populate_sdk_base.bbclass: add execution permission for self-extracting archiveJackie Huang
[ CQID: WIND00392947 ] It is not good user experience that the self-extracting archive (.sh file) has no execution permission by default. Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-21SDK: allow toolchain installation from another directoryLaurentiu Palcu
This patch will allow one to run the installer from another directory than the one where it's actually located. Suppose the installer is in /home/user/test/my/sdk and the current directory is in a different place. With this patch, one can run the installer like this: $ sh ~/test/my/sdk/poky-eglibc-x86_64-arm-toolchain-gmae-1.2+snapshot-20120920.sh [YOCTO #3135] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-21SDK: relocate symlinks tooLaurentiu Palcu
The directory usr/libexec/ in the SDK sysroot contains the default symlinks to the toolchain binaries and these, too, need to point to the correct toolchain path. [YOCTO #3090] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-21SDK: remove references to Poky distro from tarball installerLaurentiu Palcu
The installer should be generic. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-21SDK: fix installation into symlinked directoriesLaurentiu Palcu
The SDK installation scripts should not canonicalize symlinked directories because the entire relocation would be done to the directory to which the symlink points. Instead, if the installation is a symlink, use that path to relocate the binaries. For example, if we have the following symlink: /opt/sdk -> ~/my/test/sdk the binaries will be relocated to /opt/sdk not ~/my/test/sdk as it is done now. [YOCTO #3102] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-20Replace "echo -e" with "printf" to have the same behavior in dash or bashAndrei Gherzan
oe-core removed the prerequisite to have sh as bash. POSIX doesn't define any options and furthermore allows 'echo -e' to be the default behavior. This means that in dash 'echo -e' will actually print '-e' and interpret backslashes by default. We use instead 'printf' builtin command with or without '\n' to simulate 'echo -e' or 'echo -n'. 'printf' needs format while 'echo' can be used without any arguments. So 'echo >' was replaced by 'printf "" >'. 'echo' without '-n' flag adds a new line by default so to keep the same behavior of two new lines while using 'echo "\n"', 'printf "\n\n"' is used. [YOCTO #3138] Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-03Rename task to packagegroupPaul Eggleton
"Package group" is a much more appropriate name for these than task, since we use the word task to describe units of work executed by BitBake. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-31nativesdk: Switch to using nativesdk as a prefix, not a suffixRichard Purdie
As discussed on the mailing lists, using a suffix to package names is hard and has lead to many recipes having to do PKGSUFFIX games. Its looking extremely hard to scale nativesdk much further without hacking many recipes. By comparison, using a prefix like multilib does works much better and doesn't involve "hacking" as many recipes. This change converts nativesdk to use a prefix using the existing multilib infrastructure. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17populate_sdk_base.bbclass: fix SDK relocation issuesLaurentiu Palcu
The problem appears if multiple setup environment scripts are found. In order to find only the script we're interested in, I removed globbing in matching pattern with ${REAL_MULTIMACH_TARGET_SYS} that will be expanded to the correct string. Also, fix a problem when changing the scripts/configs. The grep pattern matched also files that contained "text" in their name. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02populate_sdk_base.bbclass: create self-extracting archiveLaurentiu Palcu
In order for the SDK to be relocatable, the user would need to call a setup script to change the binaries acordingly. Having an auto-extracting archive has the advantage of being more user friendly and the user does not have to call the setup script separately after extracting the SDK. It is called automatically. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31classes/populate_sdk_base: don't break existing do_populate_sdk dependsPaul Eggleton
We set do_populate_sdk[depends] in populate_sdk_*.bbclass, but since these are inherited at the top of populate_sdk_base.bbclass, those values are wiped out by using = at the end of the latter class. Use += to avoid this. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19Convert tab indentation in python functions into four-spaceRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-03image.bbclass: Add support to build the SDK in parallel with the imageMark Hatle
When building an image recipe, you can now build a companion SDK by calling the populate_sdk task: bitbake -c populate_sdk core-image-minimal Note: there are still issues w/ the SDK not working completely with multilibs. A lock is required between rootfs and populate_sdk activities to prevent configuration file clashes and similar package management problems in ipk and deb based systems. (RPM already had a lock for a different reason.) Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-07-03populate_sdk: enable basic multilib supportMark Hatle
In order to enable basic multilib support for the export of an SDK image, a number of minor changes had to be made: The value of MULTIMACH_TARGET_SYS needs to be variable. This way we can define the value to the appropriate multilib. (Also in some cases the default PACKAGE_ARCH is set to MACHINE_ARCH which is incorrect for the SDK.) Add a companion REAL_MULTIMACH_TARGET_SYS, based on code from meta-environment, to allow for this. We have to convert the do_populate_sdk into a python call, and then break up the previous items into three parts. * Image construction * Setup of environment files * Generation of the tarball Then we can iterate over the multilibs to populate the environment files. Finally, matching changes were needed in the toolchain-scripts file. And what I presume is an optimization of immediate evaluation for TOOLCHAIN_CONFIGSITE_NOCACHE and ..._SYSROOTCACHE needed to be done at runtime, otherwise the wrong values may be used. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-07-03populate_sdk_base.bbclass: Change to using task specific dependsMark Hatle
If we combine the do_populate_sdk with the image generation, we want to avoid the dependency processing unless do_populate_sdk is run. This requires the bitbake change to implement task based rdepends. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-07-03populate_sdk: Allow for attempt only packages in the SDKMark Hatle
We want to be able to supply attempt only packages in the SDK in order to support more advanced SDK images that more closely match specific image recipes. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-07-03populate_sdk.bbclass: Split into two partsMark Hatle
populate_sdk was renamed to populate_sdk_base in order to allow for changes that may break existing SDK recipes. Any such changes need an analog in populate_sdk (new version) to restore previous desired behavior. In addition to the rename, one minor change was made. The _base version only had the do_populate_sdk as an added task, but no before or after defined. For compatibility, populate_sdk has do_populate_sdk defined as "after" do_install and before do_build, this is identical to the original behavior. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>