aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
AgeCommit message (Collapse)Author
2012-10-22package.bbclass: Exclude the PKGTRIPLETS variableRichard Purdie
Without this, we'd rerun packaging for every machine since this variable contains a machine specific component. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22multilib/clsextend: Improve handling of regexps in PACKAGES_DYNAMICRichard Purdie
Now that PACKAGES_DYNAMIC is more standardised, starting with ^ anchors, the variable manipulations performed by clsextend for multilib don't work. This patch at least improves it to hack around the problem and enable mulitlib builds to work again. If this code doesn't do the right thing, the recipe is free to override the variable with the correct multilib case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22sstate: Improve handling of machine specific manifestsRichard Purdie
Now do_package isn't machine specific, we're only left with do_populate_sysroot as a machine specific task. This change marks only the machine specific manifests as machine specific, defaulting to PACKAGE_ARCH for everything else. This means we do less work where there are multiple machines using the same core package architecture and we can start to clean up the sstate duplicate files whitelist. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22package.bbclass: Switch shlibs to pkgdata directory and make package ↵Richard Purdie
non-machine specific Currently, do_package is machine specific since the shlibs data is installed into each machine specific sysroot. This change moves the shlibs data to the pkgdata structure, at the expense of having to iterate over a set of shlibs directories instead of a single one. It turns out this isn't any particular hardship for the code and as a result, do_package stops being machine specific leading to optimisations for builds that use a common PACKAGE_ARCH. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22base.bbclass: Add PKGTRIPLETS and PKGMLTRIPLETS variablesRichard Purdie
These variables correspond to the PACKAGE_ARCH list combined with the TARGET_VENDOR and TARGET_OS values. These can be used to traverse the pkgdata structure. Setting these once in base.bbclass stops pkgdata needing to recalculate the values and is also useful for the reworked shlibs code in a patch that will follow this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-19kernel.bbclass: add kernel-modules to PACKAGESMartin Jansa
* kernel-modules is always added to PACKAGES later in python code and needed to be defined as PACKAGES_DYNAMIC * add it to PACKAGES directly and set ALLOW_EMPTY_kernel-modules FILES_kernel-modules DESCRIPTION_kernel-modules outside populate_packages_prepend like for other packages and set only RDEPENDS_kernel-modules from python code Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-19PACKAGES_DYNAMIC: use regexp not globMartin Jansa
* bitbake uses PACKAGES_DYNAMIC as regexp ^ could make matching faster (and it will be more clear that we're expecting regexp not glob) * made all those last '-' optional, use .* (or nothing) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-19kernel.bbclass: remove explicit version.h targetBruce Ashfield
The compilation routine for the kernel has an explicit call to build version.h, which works fine for most kernels, but the location of it has recently changes. commit d183e6f5 [UAPI: Move linux/version.h] commit 10b63956 [UAPI: Plumb the UAPI Kbuilds into the user header installation and checking] moves the file to include/generated/linux/version.h and then to include/generated/uapi/linux/version.h. As a result kernel builds of 3.7 or bisection builds of intermediate kernel commits will fail with: make[2]: *** No rule to make target `include/linux/version.h'. Stop. Making the explicit version.h build conditional on the version, or via a file test would fix the problem, but it introduces some complexity to the build. Even without an explicit call to build version.h, it is always produced by the kernel build, so it can simply be removed. This extra make line was originally so that the kernel version could be determined, so that then different instructions could be executed depending on whether it was a 2.4 or 2.6 kernel. Since we no longer support 2.4, this code is no longer needed. [YOCTO: #3293] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-19autotools: Use STAGING_DATADIR_NATIVE for config.rpathRichard Purdie
For builds that don't use gettext, config.rpath may not exist in the target datadir. This change uses the native directory where it will always be present due to gettext-minimal-native (which allows us to autoreconf recipes using gettext even if we don't have gettext built). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18sstate: when warnings about sysroot overwrites, say what the recipe wasRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18insane: Don't try to run objdump on symlinksPhil Blundell
If the link is absolute then we might end up reading from a host binary or a nonexistent path, neither of which will produce useful results and may result in objdump failure and python backtrace spew. If the link does point to a binary within the installation root then we will scan the pointed-to file at some point anyway so there is no need to do it again. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18insane: Rationalise phdrs-based QA checksPhil Blundell
Various different QA checks are based on essentially the same data from the ELF program headers. Calling objdump to extract it repeatedly is inefficient, particularly if the shell is involved. Instead, let's cache the output from objdump inside the qa.elf object and allow it to be reused by multiple tests. Also, using objdump instead of scanelf to check for bad RPATHs (in the same way that the useless-rpaths check was doing already) allows the dependency on pax-utils-native to be dropped. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18gtk-doc.bbclass: Run gtkdocize in ${S} not ${B}Phil Blundell
Otherwise it will fail if these two directories are not the same. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18buildhistory.bbclass: Fix hostname print for 'No changes' caseOtavio Salvador
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>
2012-10-18autotools.bbclass: Fix gettext macro versions issuesRichard Purdie
gettext m4 macros don't use the usual versioning/serial mechanism used by aclocal. It therefore won't update them over and above any local version of the macro. Equally, we don't run gettextize due to it doing slightly crazy things to the build. When we put the aclocal directory as a -I option to aclocal, if this was found first compared to any recipe provided macros, the correct version of the gettext macro would still "win". With the switch so correctly override the system directory, older recipe provided macros may get used. This patch manually removes the problematic m4 macros in the case we're using gettext and need to use the correct m4 macros. This patch also always ensures the gettext manipulations happen, even in the -native case since missing or stale gettext files could cause build failures. (From OE-Core rev: e9645d2bbeabaa5251d49edd659ab320fd66d0ee) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18autotools: Fix race over aclocal macro directoryRichard Purdie
The previous steps taken to address races over the aclocal macro directory and the removal of files hasn't been sufficient since aclocal still looks at that directory as part of its default search path. This patch passes the aclocal-copy directory into aclocal as its system directory, removing any chance of it accessing the original aclocal directory. Hopefully this should therefore fix the race issues once and for all. In order to do this, cp-noerror needs to not error if the directory already exists. Its also been noticed that aclocal defaults to using STAGING_DATADIR_NATIVE even when building for the target. Only using the target directory would cause errors such as missing pkgconfig macros (since we only depend on pkgconfig-native, not pkgconfig). This patch processes both sets of macros maintaining existing behaviour. At a future date we could look into potentially optimsing this. [YOCTO #3216] (From OE-Core rev: ad29b331e0d61708e68ef772cdb19154956fa67e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18sanity.bbclass: trigger network tests explicitlyBogdan Marinescu
The network tests in sanity.bbclass can now be trigerred explicitly by firing the NetworkTest event. This is part of the fix for bug #3026. [YOCTO #3026] Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18sstate: Use -m option to tar when unpacking sstateRichard Purdie
We've noticed failures on the project autobuilders where a shared sstate directory is used across multiple builders and the clocks become skewed. Most of the time this causes harmless building but if this happens where an environment is changed (make install vs make in qt4-x11-free for example), the build can fail. This avoids modification times in the future and should make builds safer in shared environments sstate was designed for. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18insane.conf: add new libexec testSaul Wold
This tests for /usr/libexec as we are moving things to /lib/. the test is ignored if the distro defaults to /usr/libexec. Currently this test will be disabled by default since the current value of ${libexecdir} is "/usr/libexec". Also this tests needs to be enabled in the WARN_QA list. [YOCTO #2915] Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18populate_sdk_base.bbclass: Make it possible to override the create_shar ↵Thomas Kristensen
method of populate_sdk_base. If you wish to change the install/unpack method of the sdk, this can now be done by making your own create_shar method, and setting a SDK_PACKAGING_FUNC variable to your new create_shar function. Signed-off-by: Thomas Kristensen <thkriste@cisco.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18recipe_sanity: Don't bother checking LICENSEPhil Blundell
Since e3d7890cace71b0a57d2530bf615a58dcb46d96f or so, base.bbclass has considered invalid LICENSE settings to be a fatal error. This means we will never see them so there is no point checking for that. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18insane.bbclass: add AArch64 supportMarcin Juszkiewicz
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18kernel-arch.bblass: add AArch64 supportMarcin Juszkiewicz
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18siteinfo.bbclass: add AArch64 supportMarcin Juszkiewicz
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18module.bbclass: Move do_make_scripts() to module-basePhil Blundell
It's sometimes useful to have this function available to recipes which don't wish to use module.bbclass for whatever reason. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-18kernel.bbclass, module.bbclass: Make update-modules optionalPhil Blundell
The update-modules mechanism is something of a historical relic and it isn't entirely clear that it has a great deal of value nowadays. Also, it causes a problem when building a read-only rootfs since update-modules itself refuses to configure offline. Allow DISTROs to circumvent this whole thing by declaring (via DISTRO_FEATURES) that they don't wish to use update-modules. This is backfilled for existing distributions and will have to be marked as CONSIDERED by those who actually don't want it. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-17cpan_build: Unify directory layout for native and target buildsPhil Blundell
There seems to be no benefit in having them be different and this appears to cause a certain amount of confusion about paths for the native modules. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-17pkgconfig: Drop automatic pkgconfig RDEPENDSRichard Purdie
Just because a recipe uses pkgconfig, it doesn't mean that it's -dev package should RDEPENDS on pkgconfig. I can understand the thinking that lead to this but it makes sense to be able to install the package when pkgconfig hasn't been built. Currently you can also get failures where pkgconfig wasn't built yet a -dev package is included that depends on it leading to rootfs failures. I considered making this a RRECOMMENDS but it should probably be an RSUGGESTS at best given the tenuous pkgconfig requirement any given -dev package has. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-17package: Recommend virtual-locale-*, don't depend on itRichard Purdie
The virtual-locale-* packages are provided by libc which may or may not have a matching locale for any given recipes's provided locales. Certainly, we shouldn't get a failure if the locale package isn't available. This patch therefore makes the dependency optional rather than required, allowing the locale packages in question to install. This resolves errors like: virtual-locale-eo is needed by bash-locale-eo-4.2-r5.i586 virtual-locale-en+boldquot is needed by bash-locale-en+boldquot-4.2-r5.i586 virtual-locale-en+quot is needed by bash-locale-en+quot-4.2-r5.i586 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-17libc-package: Drop bogus replacement operationRichard Purdie
The names used to generate the binary-localdata packages need to match the location the dependencies are added. In one case the dash replacement is made, in the other it is not leading to packages which cannot be installed: eglibc-binary-localedata-af-za.iso88591 is needed by locale-base-af-za.iso-8859-1-2.16-r22.i586 eglibc-binary-localedata-cs-cz.iso88592 is needed by locale-base-cs-cz.iso-8859-2-2.16-r22.i586 eglibc-binary-localedata-ru-ru.koi8r is needed by locale-base-ru-ru.koi8-r-2.16-r22.i586 eglibc-binary-localedata-pl-pl.iso88592 is needed by locale-base-pl-pl.iso-8859-2-2.16-r22.i586 eglibc-binary-localedata-hu-hu.iso88592 is needed by locale-base-hu-hu.iso-8859-2-2.16-r22.i586 eglibc-binary-localedata-de-at+euro.iso885915 is needed by locale-base-de-at+euro.iso-8859-15-2.16-r22.i586 eglibc-binary-localedata-sv-fi.iso88591 is needed by locale-base-sv-fi.iso-8859-1-2.16-r22.i586 This fixes things so the names are consistent. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-08sstate: Also add datadir/sgl to sstate whitelist to avoid openjade warningRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-07package_rpm.bbclass: Fix an issue where complementary installs failMark Hatle
Also ensure that we always cleanup the temporary install manifest files, some of them will cause problems if they exist in multiple install attempts. Finally verify that the lists remain uniquely sorted otherwise the complementary install may install the same files numerous times, triggering a failure. 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>
2012-10-05sstate: Add extra entries to the sstate duplicate files whitelistRichard Purdie
This avoids errors where gcc/binutils get installed to the native sysroot in the same location for multiple package architectures. Ultimately making these native recipes with ${PACKAGE_ARCH} appended to PN will resolve this but hide the warnings until this gets sorted out. Also hide the python and docbook catalog warnings since they're known about, nothing to worry about and we'll aim to clean them up properly in the 1.4 cycle. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-05sstate: Normalise paths before comparing with the whitelistRichard Purdie
Without this, path components like // could break comparisions with the whitelist leading to warnings being displayed to the user unintentionally. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-05toolchain-scripts.bbclass: Export M4Khem Raj
some packages use M4 variable from environment and sometimes its hardcoded to /usr/bin/m4 if not found in environment. Lets define it such that it is picked from path Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-05cross-canadian.bbclass: add native chrpath dependencyLaurentiu Palcu
In order for the RPATHs in 32bit toolchain binaries to be relocated properly, chrpath >=0.14 is needed. [YOCTO #3161] [YOCTO #3201] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03distrodata: Update distrocheck functionsSaul Wold
Fix the distro check functions for the change of nativesdk being a suffix to a prefix. Also added crosssdk as another case for converting to PN for matching in the distro_tracking Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03package.bbclass: Fix regression in -dbg packages introduced by ↵Richard Purdie
explode_dep_versions change We need to iterate over the dictionary pulling out the values, not take the top level keys. If we don't do this, we end up with dependencies on the values of PACKAGES, not library dependencies. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03qt4: Avoid circular dependencies with multilibRichard Purdie
Without this, circular dependencies are found when attempting to build multilib versions of qt4 (or bitbake world in a multilib enabled build). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02nativesdk.bbclass: Ensure we have chrpath >=0.14Richard Purdie
Versions earlier than 0.14 can't cope with 32 bit binaries on a 64 bit system and vice versa. This results in problems for certain SDKMACHINE combinations on certain hosts. By ensuring we build chrpath-replacement-native we avoid this problems and the binaries work correctly. [YOCTO #3161] [YOCTO #3201] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02opkg: Convert select-higher-version option to prefer-arch-to-versionRichard Purdie
This converts the option to maintain the existing behaviour unless the option is specified. We do specify the option during the builds themselves to ensure what the users expects is built. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02sanity.bbclass: Fix invalid test for network errorBogdan Marinescu
The test for network error in sanity.bbclass was negated. Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02classes: Update to use corrected bb.utils.explode_dep_versions2 APIRichard Purdie
The bb.utils.explode_dep_versions function has issues where dependency information can be lost. The API doesn't support maintaining the correct information so this changes to use a new function which correctly handles the data. This patch also fixes various points in the code to ensure that we do not have any duplicates in things that use explode_dep_versions. A new sanity test to test the contents of the R* variables is also added. [Some changes from Mark Hatle <mark.hatle@windriver.com>] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02insane.bbclass: Remove copy and paste confusion when using OVERRIDESRichard Purdie
People keep copying this code and its confusing and unnecessary. Remove the bad examples to try and stop this happening. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02package_deb/ipk: Remap < and > to << and >>Mark Hatle
In deb and ipk, < means <=, while > means >=... there is a different operator << and >> that means < and >, so we map them when constructing the packages. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02multilib: Move redefinition of STAGING_DIR_KERNELMark Hatle
If the STAGING_DIR_KERNEL is set in the multilib.conf, then it may be set incorrected. The evaluation happens before TMPDIR and LIBC are defined in other components. Moving the definition process to the multilib.bbclass ensures that everything has been loaded before it is set. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02Cleanup: fix PN == BPN casesMark Hatle
When building target packages, it used to be enought to check for PN == BPN, however with the multilib configurations, this can lead to subtle errors. Change instances of PN == BPN, to ${CLASSOVERRIDE} == 'class-target'. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28siteconfig: Clear cache before rebuildingRichard Purdie
This ensures consistent build results and avoids build failures when compiler flags change for example. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28sstate: Relax the duplicate file whitelist for nowRichard Purdie
do_package is a machine specific task at the moment due to packagedata. This means do_package tasks and their dependencies rerun between different machines with various duplicate file installations. There are plans to fix this but they're too invasive before release. This patch relaxes the whitelist for sstate duplicate file detection to account for this. Post-release, we re-enable stricter settings once do_package is not machine specific. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-28license.conf/bbclass: Move globals to license.confElizabeth Flanagan
This requires the changes to bitbake.conf that allow parsing of license.conf. As we should now be parsing license.conf, we can move some globals out of license.bblcass and into the conf file. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>