summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* populate_sdk_rpm: Only remove trailing whitespace, not all whitespaceRichard Purdie2013-09-121-2/+2
| | | | | | (From OE-Core rev: 06cb4deba6e4df4ffe3015602d5997b26d28778b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_rpm: Ensure empty strings aren't passed to attemponly rpm codeRichard Purdie2013-09-111-2/+2
| | | | | | | | | If empty strings are passed to the rpm attemptonly code, it breaks. This ensures we don't do that. (From OE-Core rev: 6a0d5a3158608364f6baa11fe9ab7fa1f8e251ab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package_rpm: remove unsed outdir variableStefan Stanacar2013-09-111-2/+1
| | | | | | | | | Not only outdir had the wrong value, it wasn't used actually used in that function. (From OE-Core rev: 5db4b53e5d969a6da314904fa2335462947c97ea) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-smartpm: Add an attempt install modeMark Hatle2013-09-111-5/+2
| | | | | | | | | | | | | | [ YOCTO #3723 ] Add a mode to smart that will allow an installation to continue, instead of failure in the case that one or more items is uninstallable. Uninstallable packages are simply ignored, and no error is generated. (From OE-Core rev: bdf07b1698d228dc7ff555199a269b1ff8ceca19) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image/populate_sdk: Ensure symlinks in target sysroot are relativeRichard Purdie2013-09-111-1/+6
| | | | | | | | | | | | In the target sysroot of an SDK we can have target system absolute links which don't make sense. This adds a script which fixes them up to become relative paths instead. [YOCTO #5020] (From OE-Core rev: 57d6bdcad55c119e9ab8089d23d462436a0e4440) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd.bbclass: get the correct /lib directorySaul Wold2013-09-101-3/+3
| | | | | | | | | | | By using os.path.dirname(systemd_unitdir) we get the correct /lib directory instead of dealing with possibly multilib directories. This address a QA Error for shipped/not installed /lib with multilib and x32. (From OE-Core rev: 5b451a46550ba62e2fbfe5dbe50723b34a4fd527) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: Remove base_libdir if installed only for systemd_unitdirMuhammad Shakeel2013-09-101-0/+3
| | | | | | | | | | | | | | | | | | | If a recipe installs systemd_unitdir and it is a non-systemd build than systemd.bbclass deletes systemd_unitdir (/lib/systemd/) but not base_libdir (/lib). In this case if base_libdir is empty than following QA Issue is reported. ERROR: QA Issue: openssh: Files/directories were installed but not shipped /lib If base_libdir was installed due to systemd_unitdir installation than for non-systemd build it should also be removed. (From OE-Core rev: c700cb21c189e23a78f0efaaf763259c8cfefa4d) Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake.bbclass: ensure CMAKE_SYSTEM_NAME is correctSaul Wold2013-09-101-1/+1
| | | | | | | | | | | | Using TARGET_OS can add the ABIEXTENSION so ensure that is is removed for the Linux TARGET_OS, we might have other TARGET_OSes so don't hard code CMAKE_SYSTEM_NAME [YOCTO #5145] (From OE-Core rev: 7d8b700242b1b32c6b6d0735b497701800f54fc4) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base.bbclass: select the proper cross-canadian packageLaurentiu Palcu2013-09-101-1/+1
| | | | | | | | | | | | Since packagegroup-cross-canadian package name has MACHINE in it, make the necessary changes here. [YOCTO #4783] (From OE-Core rev: 23531590d40acde2775b7c3b90682edc501d68f4) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest.bbclass: add cleandirs flag to do_install_ptest_baseChen Qi2013-09-101-0/+2
| | | | | | | | | | | | | | | | | The do_install_ptest_base task should have cleandirs flag, just like the do_install task. The ${D}${PTEST_PATH} directory should be cleaned, Otherwise, there would be similar errors like below if the do_install_ptest_base task is rerun. ln: failed to create symbolic link `xxx': File exists [YOCTO #5129] (From OE-Core rev: 25885d3b4f679c33a514d858bc20b0e21aa63721) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest.bbclass: fix error on ubuntu hostChen Qi2013-09-101-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | The do_install_ptest_base function uses 'type -t' command to check whether do_install_ptest is a function and acts correspondingly. However, the 'type' command is a shell builtin and its behavior is not all the same across Linux distros. On ubuntu, if we use #!/bin/sh as the interpreter for the scripts, as in the case of our intermediate scripts, the '-t' option for the 'type' command is not supported. So the check always fails and the do_install_ptest function, even if defined, is not run. The same problem also applies to the do_configure_ptest_base and the do_compile_ptest_base functions. This patch fixes this problem by avoiding using the 'type' builtin command. [YOCTO #5128] (From OE-Core rev: d5a4f031b460437e9501e4e65194ce94d3641130) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: set system name correctlyRichard Purdie2013-09-081-1/+1
| | | | | | | | | | | | For unknown reasons, the cmake class is using SDK_OS as the target system OS. This makes no sense but only shows up as a problem when you try a different SDK OS. Fix it to use TARGET_OS which is the correct thing to do. For the vast majority of users this will make no difference. (From OE-Core rev: 57be84259f0885865c85d7bac350979430b956b5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: skip already-stripped QA test if asked forKhem Raj2013-09-061-2/+5
| | | | | | | | | | | | | | | | | | | | | | | Some packages like grub have already stripped binaries e.g. ERROR: QA Issue: File '/boot/grub/kernel.img' from grub was already stripped, this will prevent future debugging! ERROR: QA run found fatal errors. Please consider fixing them. We would like to have a possibility to skip it using something like INSANE_SKIP_${PN} = "already-stripped" This adds the logic to do so it acts at PN level and not at package level. so something like INSANE_SKIP_${PN}-misc = "already-stripped" wont work. (From OE-Core rev: 765982f4c050d9cd3eb608d630312da482c737c7) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-config.bbclass: Allow choose of U-Boot config for machineOtavio Salvador2013-09-061-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some machines provide several possible configurations and until now there was no easy way for user to override the default setting. This class provides a system similar to PACKAGECONFIG but for U-Boot. The format is: UBOOT_CONFIG ??= <default> UBOOT_CONFIG[foo] = "config,images" There are two possible parameters: - config: it is used to set UBOOT_MACHINE - images: it is used to append onto IMAGE_FSTYPES Below there's an usage example: ,----[ i.MX6Q SABRE AUTO based example ] | UBOOT_CONFIG ??= "sd" | UBOOT_CONFIG[sd] = "mx6qsabreauto_config,sdcard" | UBOOT_CONFIG[eimnor] = "mx6qsabreauto_eimnor_config" | UBOOT_CONFIG[nand] = "mx6qsabreauto_nand_config,ubifs" | UBOOT_CONFIG[spinor] = "mx6qsabreauto_spinor_config" `---- User can, from local.conf or environment, use UBOOT_CONFIG=nand and override the default setting, as: ,----[ Override example from command line ] | MACHINE=imx6qsabreauto UBOOT_CONFIG=nand bitbake core-image-base `---- (From OE-Core rev: 5dba521611d644357cf0a98d2e30dcf41777c6ef) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: improve error checking on non-git reposBruce Ashfield2013-09-061-1/+12
| | | | | | | | | | | | | | | | | | While non-git kernel repos are not the preferred format for a kernel upstream, they are supported. Depending on the creator of the archive the expanded source directory name varies. If the recipe for the kernel doesn't properly set S to the right value, a cryptic git error message is produced. We can detect the situation and offer some advice on how to fix the issue. A second check is also added in this commit for archive based kernel repos which won't have a SRCREV to validate. If we have no SRCREV or SRCREV is INVALID, we can exit the branch validation step immediately. This saves yet another cryptic git error message and simplifies a custom tgz based recipe. (From OE-Core rev: 0ebf67e8b4f7aaf259d7abac4af645070d846ec8) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devshell: Don't corrupt the fakeroot variablesRichard Purdie2013-09-061-6/+12
| | | | | | | | | | | | | | | | | The devshell anonymous python fragment overwrites variables in the datastore with their expanded versions. If this runs before the code in allarch.bbclass which changes TARGET_OS, we can end up with different directories in the fakeroot environment variables, some expanded with the original TARGET_OS value. The devshell code only needs to run before the task itself so we change to trigger it to run at task execution time only using a flag. [YOCTO #4795] (From OE-Core rev: 56baf177cdf074929a090cc66a8b89d346a5d79c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm.bbclass: Fix no_recommendations and package_excludeMark Hatle2013-09-061-2/+2
| | | | | | | | | | | | When the code was refactored to address review comments, the wrong version was sent to the community. Replace the $1 with ${target_rootfs} Fix identified by: Yue Tao <yue.tao@windriver.com> (From OE-Core rev: a04f4fe8db425f0ea87a67b5c72d61816b8d53e2) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd: Handle users from a package being used in othersThomas Fitzsimmons2013-09-061-1/+2
| | | | | | | | | | | | | | | If there is a package A (TUNE_PKGARCH) which is depended upon by B which is MACHINE_ARCH and you build B for machine X, then Y, the user isn't present in the sysroot for machine Y since the useradd code is never triggered. The change ensures the code does get triggered and the user is present. [YOCTO 4739] (From OE-Core rev: 5871337da49f8cd1eaf53f7cd0aacc026dc7bcdb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and ↵Jason Wessel2013-09-062-12/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bundling This patch aims to fix the following two cases for the INITRAMFS generation. 1) Allow an image recipe to specify a paired INITRAMFS recipe such as core-image-minimal-initramfs. This allows building a base image which always generates the needed initramfs image in one step 2) Allow building a single binary which contains a kernel and the initramfs. A key requirement of the initramfs is to be able to add kernel modules. The current implementation of the INITRAMFS_IMAGE variable has a circular dependency when using kernel modules in the initramfs image.bb file that is caused by kernel.bbclass trying to build the initramfs before the kernel's do_install rule. The solution for this problem is to have the kernel's do_bundle_initramfs_image task depend on the do_rootfs from the INITRAMFS_IMAGE and not some intermediate point. The image.bbclass will also sets up dependencies to make the initramfs creation task run last. The code to bundle the kernel and initramfs together has been added. At a high level, all it is doing is invoking a second compilation of the kernel but changing the value of CONFIG_INITRAMFS_SOURCE to point to the generated initramfs from the image recipe. [YOCTO #4072] (From OE-Core rev: 609d5a9ab9e58bb1c2bcc2145399fbc8b701b85a) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* waf.bbclass: add waf build system classRoss Burton2013-09-061-0/+13
| | | | | | | | | Add a new build system class for waf. (From OE-Core rev: 2b148b9e73f05af33ed1437358fa5322cf364651) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix darwin shlib handlingRichard Purdie2013-09-041-1/+1
| | | | | | | | | | shlibs dependency calculations on darwin we not functioning correctly, we need to process the filename without the complete path. If we don't, "." characters in the path cause problems. (From OE-Core rev: 07e697d651178a84007123181fca38e4d98ae0e9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: Don't make assumptions about cwdRichard Purdie2013-09-011-2/+3
| | | | | | | | | | | When using the recently fixed out of build directory bitbake invocations, I was puzzled why bitbake seemed to be pausing. The reason was due to running the sanity tests each and every time. This was due to current working directory assumptions within the sanity test code. Fix this to use TOPDIR. (From OE-Core rev: 1cdc1b37b840bda961258cf2bfb2f75331bdb310) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Don't use deprecated bitbake APIRichard Purdie2013-09-0118-46/+46
| | | | | | | | | | These have been deprecated for a long time, convert the remaining references to the correct modules and prepare for removal of the compatibility support from bitbake. (From OE-Core rev: 6a39835af2b2b3c7797fe05479341d71a3f3aaf6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib.bbclass: Expand the WHITELISTs with multilib prefixJackie Huang2013-08-301-0/+7
| | | | | | | | | | | | fix the following failures: ERROR: Nothing PROVIDES 'virtual/lib32-i586-pokymllib32-linux-compilerlibs' ERROR: Nothing RPROVIDES 'lib32-update-alternatives-cworth' (From OE-Core rev: a27d5b08d438861309827aecb731c29218679730) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: use mkfs.cramfs instead of makecramfsAndrea Adami2013-08-301-2/+2
| | | | | | | | | | | | The former is provided by util-linux and the latter is now to be removed for meta-filesystems. This allows to generate cramfs images whithout extra layers. (From OE-Core rev: 451546a9d2f675ac331f72f4e66317685d931aba) Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* remove the unnecessary protocol parametersJackie Huang2013-08-301-1/+1
| | | | | | | | | | | It's not necessary to specify the protocol parameter when it's the default protocol for the fetcher, e.g. the default protocol for git fetcher it git, "protocol=git" isn't needed. (From OE-Core rev: a2bab241c64428d5109c3c5ac5de4463fbad70c5) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/testimage: add support for finding tests in other layers1.5_M4.rc1Stefan Stanacar2013-08-281-12/+43
| | | | | | | | | | | | | A layer can add tests in lib/oeqa/runtime (provided it extends BBPATH as normal) and enable them with TEST_SUITES_append = " testname". Test module names shouldn't collide though. (From OE-Core rev: e1e347a2d509303e1c566450b0f2b485d3d6629f) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/testimage: increase default boot timeoutStefan Stanacar2013-08-281-1/+1
| | | | | | | | | | | | While I can't reproduce on local builds, sometimes images fail to boot on AB (which runs many builds at once). Assuming there isn't something weird going on, let's just give it more time. (From OE-Core rev: db38e10701cd2392a57e559573b715fd6daf6e2a) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* vala.bbclass: add class from meta-oeMihai Prica2013-08-281-0/+18
| | | | | | | | | | | This can be used by packages written in vala. It is required by the Midori web-browser. (From OE-Core rev: 807285c751862aaa775db5a13293007bfb3c29df) Signed-off-by: Mihai Prica <mihai.prica@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* SPDX:real-time license scanning and SPDX output.liangcao2013-08-261-0/+321
| | | | | | | | | | | | | | | SPDX integrates real-time license scanning, generates SPDX standard output and license verification information during the OE-Core build process. The existing module includes scanning patched packages and creating package and file level SPDX documents. (From OE-Core rev: 7a37cc81fb95d56b5ac5e5ca22a1900e45717911) Signed-off-by: liangcao <liangcao@unomaha.edu> Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classess/testimage: change default test suitesStefan Stanacar2013-08-261-2/+2
| | | | | | | | | | | | | | Some new tests were added, safe to have them in the defaults for sato-sdk and sato. Not all of the new tests are here though, either because they aren't applicable to default images or take too long. (like build iptables/cvs/sudoky ones, they can be enabled in local.conf and a special target on AB setups.). Also reorder them a bit. (From OE-Core rev: caa18a99ec002e4e87e32cae8a2d28bb0e32c5a6) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: replace genext2fs with populate-extfs.shRobert Yang2013-08-261-28/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The benefits: - Really support ext4 - Support the sparse file (we lost the sparse file in the image in the past, the sparse file became into the common file) - Fix the error reported by fsck: (ext2/ext3) Inode 1025, i_size is 16384, should be 17408. - Have a uniform code for ext2/3/4 generation * Comments from Darren Hart: Basically, genext2fs doesn't support creating ext4 filesystems. It creates, as I understand it, an ext2 filesystem, then adds a journal, and sets some bits. It can't support the newer features like extents. So what we end up with is a bit of a hack for a filesystem. The ext tools (e2fsprogs) unfortunately don't provide an integrated solution for generating prepopulated filesystem images as many other mkfs* tools do. One thing missing was symlink support in libext2fs. I added that support and demonstrated a script which uses the e2fsprogs debugfs tool that can populate the newly formatted filesystem from a directory and without root privileges. [YOCTO #3848] (From OE-Core rev: 40c3e18f43b2f074cec97d21aeb8d21f26dd5048) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: Remove references to _remove in function names since this may ↵Richard Purdie2013-08-266-15/+15
| | | | | | | | | | | | | | become a bitbake keyword There is a good chance we might want to support a bitbake operator "_remove" which works in a similar way to _append and _prepend. As such, we can't use those keywords in function or variable names. (From OE-Core rev: 491fde8cd3fd493f9fec2fd434fe1be547f66148) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: usability, bug fixes and no guiltBruce Ashfield2013-08-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the kern-tools SRCREV to pick up the following fixes: 60a894e kgit-s2q: add proper commit ID handling for mixed am/apply usage 3b08257 kgit-s2q: delete pruning of path support. c5868b4 kgit-s2q: Restore implicit exit status to "git apply" section 1bd00b9 kgit-scc: mask warnings from cleanup phase 5 bb75299 kgit-s2q: fix commit warp when running "git am --abort" ef9571b kgit-scc: cleanup git rebase-apply dir fdb7d21 kgit-scc: ensure treegen stops if a meta series fails 008987b config: add kconfig cleaning options 69ff569 kgit-s2q: strip blank lines and comments e7b4540 kgit-init: disable garbage collection on a new tree 417eaed kgit-s2q: delete old LTSI patch dir finding code 21f2200 kgit-scc: better error checking on resume ad5084c kern-tools: use .meta as meta data container 1deb5d8 kgit-meta: don't push patches without a series file eb431a1 kgit-s2q: aid patch reject resolution via helper scripts f859c40 kgit-s2q: only use patch annotations when explicitly asked 333ae18 kgit: speed patch application by batching patches bf6991d kgit: teach tools about non-default meta dirs bcfc712 kgit-s2q: usability improvements cb28803 kgit-s2q: fix patch prefix stripping. 37f40e1 kgit-s2q: warn/exit with error if patch not in series f4704d2 kgit-s2q: consistent rm usage e11819c kgit-s2q: standardize on use of git mailinfo 36a5eda kgit: remove guilt dependency c461a4f spp/scc: export mark commands to meta-series 5311162 updateme: ensure that generated features are only used once 4f7a263 kgit-checkpoint: clear .gitignore for meta branch 21ee6f2 updateme: enforce a matching machine b08749d kgit-scc: remove -meta files after consruction These are bug fixes, usability changes as well as the removal of the guilt dependency. During the uprev of the guilt package, the amount of circumvention of the typical guilt workflow and checks meant that using it as a series -> branch manager was no longer appropriate. As a result a new tools kgit-s2q (series 2 queue) was created based on git-quiltimport, git am, and the LTSI tree generation scripts. The result is better series to branch validation, faster application and a simpler management model. This tool is backwards compatible with any tree previously constructed with guilt. We are now "guilt free" (From OE-Core rev: 983bff587b60fdd0244ad00f238df5ed50cc1e1a) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: Fix the relative symlink replacement codeRichard Purdie2013-08-231-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | ant reported on irc that the sstate absolute to relative symlink creation code wasn't working in klibc. He was correct although the level of breakage is rather surprising since it only worked for one level of symlink (usr/include) with everything else being broken. The reason is probably that nothing really uses absolute paths, we use relative paths where at all possible already. Nothing in the target sysroot should use absolute paths for a start. In this regard, the klibc-dev package is broken and needs fixing. It will currently break when building for one machine, then switching to another of the same TUNE_PKGARCH and installing from sstate but that is a separate issue. This patch fixes the symlink creation code by firstly passing in the correct value we need (where the symlink will end up) and seccondly, actually using it. I've also tweaked the debug message to contain appropriate information and got right of the double "//" value the existing code created in favour of the form './..' which looks neater. (From OE-Core rev: 9b05c65450526522d7358d0c0901b594de546748) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* chrpath: Add support for relocating darwin binariesRichard Purdie2013-08-231-50/+88
| | | | | | | | | | On darwin, install_name_tool can be used to relocate binaries/libraries. This adds support for adjusting them with relative paths rather than hardcoded ones. The Linux code is factored out into a function but is otherwise unchanged. (From OE-Core rev: ed5ace3437eb0f751172e6b93399639c94b89e59) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/classes/gcc: Don't hardcode -nativesdkRichard Purdie2013-08-233-10/+10
| | | | | | | | | | | | | Hardcoding -nativesdk as the sdk package architecture is inflexible. We may have multiple different target OS and we need a way to be able to separate them. Turning this into a configurable value allows the flexibility we need to build different SDKMACHINEs with different OS targets. The commit should have no behaviour change, just makes things more configurable. (From OE-Core rev: a2110e86b98d646e136de9ec6b8e668079b0d4f4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "nativesdk: inherit relocatable"Richard Purdie2013-08-231-2/+0
| | | | | | | | | | | | This reverts commit f93ddea31fcf18833c9bc6e93d93ad223c62eded. We never run nativesdk binaries so it doesn't make sense to use the relocatable class. The chrpath calls at packaging time will ensure the binaries are relocated in the final packages. The binaries in the sysroot are never used. (From OE-Core rev: 9f19d1b90c4fa04439b6267bda0484fd0b350373) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gettext: Improve USE_NLS handling for nativesdk/crosssdk/cross-canadianRichard Purdie2013-08-236-5/+13
| | | | | | | | | | | | | | | | The gettext handling of USE_NLS has become a bit tricky to understand, or alter from the SDK context. This patch introduces a SDKUSE_NLS which can be set to configure a given SDK/ADT to use NLS or not. This is independent of the target system NLS usage. The code in gettext.bbclass is therefore simplified and the classes themselves now set USE_NLS to appropriate values. No NLS is used for native, cross and crosssdk since it is never used there and would just increase build time. (From OE-Core rev: fe634d47449899f7424adb77ff5bc7ddf8a07a47) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_base: Allow sdk tar options to be overriddenRichard Purdie2013-08-231-1/+3
| | | | | | | | | It can be useful to override or append options to the SDK tarball creation command so add a variable to allow this. (From OE-Core rev: ae86a46c1b255e7c2833eb6d48ed46eba440e95a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* crosssdk: Construct target_exec_prefix from prefix_nativesdkRichard Purdie2013-08-231-1/+1
| | | | | | | | | ${exec_prefix_nativesdk} doesn't exist so use prefix_nativesdk instead. This resolves issues for code which attepts to use target_exec_prefix. (From OE-Core rev: cd1ac8257ed2701cbe3802870183e8e1cd3b0418) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix handling of symlinks in debug packagesRichard Purdie2013-08-231-0/+6
| | | | | | | | | | | | | | | | | | When copying the sources for the debug source package we use cpio -Ll which means to copy files as hardlinks and to dereference symlinks. It appears there is a bug in cpio since -Ll will copy symlinks and not dereference them. We therefore do a second pass over copied symlinks resolving them into files. Ideally we would copy these as hardlinks as well however it doesn't seem worth the extra code and effort for what amounts to a corner case for a minor space improvement. This means that the -dbg packages no longer contain broken symlinks. [YOCTO #5020] (From OE-Core rev: 2ca2c4747f645a0d478c2171fff4c65752188285) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distro_features_check.bbclass: Allow checking of required/conflicting featuresOtavio Salvador2013-08-221-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | This add support to list required/confliting distro features for a recipe; this avoids user mistake when building recipes/images which would not work depending on DISTRO_FEATURES option set. Adding: ,----[ Use example ] | inherit distro_features_check | | REQUIRED_DISTRO_FEATURES = "x11" | CONFLICT_DISTRO_FEATURES_mx6 = "wayland" `---- In the image recipe allow us to make clear to user that this image needs X11 and /cannot/ be build with Wayland support in i.MX6 platforms, for example. (From OE-Core rev: a7519be6a23869ebafbf712370dab86ab92f68a5) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk: Add support for PACKAGE_EXCLUDEMark Hatle2013-08-221-0/+1
| | | | | | | | | | | | | | | This uses the new --add-exclude arguments in opkg-cl, to list the excluded packages. If an excluded package is needed for the install to resolve, an error will be generated. Recommended packages will not generate an error. (From OE-Core rev: 6d7f5581bbfaf174edb77d92846e720e8057481c) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_ipk: Add support for NO_RECOMMENDATIONSMark Hatle2013-08-221-0/+1
| | | | | | | | | | Uses the opkg --no-install-recommends option. (From OE-Core rev: e36c9947c82be034133a27db6e0f7a769daeb185) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_deb: Add support for NO_RECOMMENDATIONS and PACKAGE_EXCLUDEMark Hatle2013-08-222-5/+20
| | | | | | | | | | | | Add support for NO_RECOMMENDATIONS and PACKAGE_EXCLUDE. Also add a warning that ensures users know that BAD_RECOMMENDATIONS support is not implemented in the debian package/rootfs classes. (From OE-Core rev: 42b115b6d65c8205acb77b96db481f3e5172266b) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_deb.bbclass: Use the WORKDIR not SYSROOT for temp filesMark Hatle2013-08-221-7/+10
| | | | | | | | | | | | Previous debian APT configuration was using the sysroot directory. This not only polluted the sysroot, but violates the expectation that the sysroot is not modified by the rootfs installation. (From OE-Core rev: 2db14eaa0fcc080bc20fa9da985ffc05c3b21e2a) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm.bbclass: NO_RECOMMENDATIONS supportMark Hatle2013-08-221-0/+3
| | | | | | | | | | | | | | | | | | Add NO_RECOMMENDATIONS support. A way to disable all recommended packages from being installed. This will help shrink the size of the resulting filesystem. Add documentation on NO_RECOMMENDATIONS and BAD_RECOMMENDATIONS. Note, using NO_RECOMMENDATIONS has side effects such that kernel-modules may not have been installed. A user will need to manually add to their image any kernel-modules required to be on the image for functionality. (From OE-Core rev: 0341bfa886ea851f5a394051545b4e624d8003dd) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_rpm.bbclass: Add support for PACKAGE_EXCLUDE to RPM installsMark Hatle2013-08-221-0/+5
| | | | | | | | | | | Using the new smart exclude mechanism an error will be generated in the excluded package is required for the image to be generated. (From OE-Core rev: 238c46c03d0d9c35523c78b94bfebb57904bac5a) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: Add basic support for PACKAGE_EXCLUDEMark Hatle2013-08-221-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the foundation for the PACKAGE_EXCLUDE support. As part of this work, it was noticed that the PACKAGE_INSTALL and PACKAGE_INSTALL_ATTEMPTONLY were still using he 'normal' version for dependencies. This should no longer be necessary as of the change in the way the complementary package groups (dev, dbg, ptest and others) are defined. By making this change the dependency tree is more correct than before, and gives the ability for manipulating PACKAGE_INSTALL and PACKAGE_INSTALL_ATTEMPTONLY, while adjusting the dependencies at the same time. Warning messages will be generated if the user is trying to exclude a package that was previously in the PACKAGE_INSTALL or PACKAGE_INSTALL_ATTEMPTONLY variables. (See additional commits for package manager specific support.) Add documentation on PACKAGE_EXCLUDE and related variables. (From OE-Core rev: 208d4d5ef7c5ead35dc27b7808f92ed377377aa4) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>