summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2012-11-14sstate: Be consistent about sstate-inputdirs/outputdirs ending with '/'Richard Purdie1
The manifest file can become corrupted if sstate-inputdirs and sstate-outputdirs don't have matching endings. This patch ensures that even if set incorrectly, the code functions as intended, thereby handling manifest corruption safely. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-14libc-common: Ensure sysconfdir exists before installing files to itRichard Purdie1
Depending on the eglibc configuaration, the directory may or may not exist. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-12insane: detect and warn about relocations in .textPhil Blundell1
Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-12populate_sdk_base.bbclass: use SDK_ARCH instead of SDKMACHINELaurentiu Palcu1
If SDKMACHINE is not set, the toolchain will be built but the tarball installer will not run. A better choice is to use SDK_ARCH because, even if SDKMACHINE is not set, SDK_ARCH is set, by default, to BUILD_HOST. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-12autotools: set _FOR_BUILD variables hereRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-02gnomebase: depend on gnome-common-nativeRoss Burton1
gnome-common is a build-only dependency so we should depend on the native variant. This also resolves an (incorrect) GPLv3 license issue in gnome-common at build-time. This will also remove the pointless gnome-common-dev RRECOMMENDS in any -dev package that uses gnomebase. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-11-02populate_sdk_base.bbclass: check installation machine before installing SDKLaurentiu Palcu1
Do not allow installer to continue if the installation machine architecture does not match the intended SDK machine architecture. [YOCTO: #3269] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-11-02classes: replace virtclass-native(sdk) with class-native(sdk)Robert Yang5
The overrides virtclass-native and virtclass-nativesdk are deprecated, which should be replaced by class-native and class-nativesdk. [YOCTO #3297] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-11-02terminal: Ensure existing environment exports are preserved in devshellRichard Purdie1
After recent changes to terminal.bbclass, variables like PATH were no longer preserved within the devshell. This change ensures they are inherited into the environment of devshell and PATH for example has the correct values. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-01terminal.bbclass: Ensure parent environment is setRichard Purdie1
If this isn't done, various terminals fail to launch correctly with "No such file or directory" errors. This adds back the environment manipulation removed in the addition of "custom" terminal command support but shouldn't regress that additional functionality Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-27populate_sdk_base: allow SDK path of various levelFabien Proriol1
In the previous version, tar extraction use the --strip-component option with "4" hard coded value. If we set another SDKPATH, with a different depth, the sdk installation fails. This patch computes the level from the SDKPATH value. Signed-off-by: Fabien Proriol <fabien.proriol@jdsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-27sstate: add manifest info for shared file matchesSaul Wold1
Present the manifest file that contains the matches for files being installed to a location that already contains that file. This will help to determine which is the correct recipe to fix when this occurs. [YOCTO #3191] Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-27insane.bbclass and friends: Fix sanity checks and multlib headers for n32Peter Seebach3
The n32 architecture is odd, in that it's a mips64 ABI which happens to be 32-bit. To handle this, we need something in the environment which can be used to distinguish it. The obvious place to stash this is the ABI suffix, so we use "n32" as an ABI suffix. This allows a couple of improved checks: 1. In insane.bbclass, we can use "linux-gnun32" to discern that it's okay for a mips64 binary to be a 32-bit binary in some cases. 2. In multilib_header, we can check for the n32 ABI, and use a distinct value. 3. In siteinfo, add linux-gnun32 as a synonym for linux, similar to what's done for linux-gnux32, and tell the mips*-linux-gnun32 variants to pick up the corresponding mips-linux site configs. Note that the multilib header wrapper already has n32 hooks in it, there was just nothing creating -n32 header variants. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-26populate_sdk_base: Ensure that the multilib cross-canadian tools are usedMark Hatle1
Update the host toolchain list, for cross-canadian toolchains, to ensure that all of the supported multilibs are built and installed. This dynamically generates the dependnecy set based on the current multilib configuration. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-26populate_sdk_base: Update extraction script for multilibsMark Hatle1
When multilibs are enabled, there will be more then one environment file created. We need to be sure to process each environment file. The next function can simply use the last environment file processed to get the magic value(s) that it requires. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-26multilib - crosssdk: Stop building multilib for crosssdk packagesMark Hatle2
Crosssdk packages are not actually multilib packages, so treat them the same as other nativesdk packages in the multilib, base, and classextend components. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-26multilib: Add support for cross-canadian multilib packagesMark Hatle2
Add support for the generation of cross-canadian packages. Each cross-canadian package has: PN = "pkg-cross-canadian-${TRANSLATED_TARGET_ARCH}" in order for that to be evaluated properly with multilibs enabled, it was necessary to detect both the presence of the cross-canadian packages and then update the vars using the OVERRIDE for the multilib. Additional checks were made to ensure that any dependency that sais "cross-canadian" did not get prefixed with the MLPREFIX. Also, make sure that even when building multilib cross-canadian packages, we only use the single SDK PACKAGE_ARCH, we don't want or need variants. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-24rootfs_rpm.bbclass: maybe no rpm postinst scriptRobert Yang1
There maybe no rpm postinst script (e.g., core-image-minimal), then the "*" is not expanded, and there would be error: head: cannot open `rpm-postinsts/*' for reading: No such file or directory Check whether it exists or not will fix the problem. [YOCTO #3172] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-24terminal: Add support for running custom terminals.Morten Minde Neergaard1
Example config: OE_TERMINAL = "custom" OE_TERMINAL_CUSTOMCMD = "mysuperterm" Signed-off-by: Morten Minde Neergaard <mneergaa@cisco.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-24gtk-immodules-cache: Add initial class to update gtk inputmethod module cacheSamuel Stirtzel1
This is used by: openembedded-core/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb meta-openembedded/meta-oe/recipes-support/maliit/maliit-framework_git.bb Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-24qemugl: Remove since support for it was removed from qemuRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-23rootfs_ipk.bbclass: Some extra spaces / tabs were removed / formatedAndrei Gherzan1
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-23rootfs_ipk.bbclass: Don't duplicate remove_packaging_data_files codeAndrei Gherzan1
While removing packaging data files in rootfs_ipk_do_rootfs use the remove_packaging_data_files function. By using this function we ensure that /var/lib/opkg directory is created. opkg needs this directory to create lock files. Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-23insane: add a check for Xorg driver ABI dependenciesRoss Burton1
Now that xserver provides driver ABI names, all drivers should depend on the ABI version that they have been built against. All drivers that include xorg-driver-input.inc or xorg-driver-video.inc will get these automatically, so this should only impact binary drivers. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-23cpan-base: Add more debug paths to FILESPhil Blundell1
We seem to be mostly installing modules into vendor_perl nowadays. Make sure that the .debug data from there is captured appropriately. Also, expand ${PERLLIBDIRS} at the point of assignment so we don't call the python again and again. [RP: Fixup to whitespace] Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-23package: Hardlink debug source to improve performanceRichard Purdie1
When copying the source files needed for the -dbg package, use hardlinks where possible. This saves some disk space and hence helps performance of the builds. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22kernel.bbclass: Do not chdir to /boot before running update-alternativesHolger Hans Peter Freyther1
The symlink from uImage-3... to uImage is not created at image creation time and not properly update on kernel upgrades. This is fixed by removing the chdir. The other users of update-alternative do not change the directory before calling it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22package.bbclass: Exclude the PKGTRIPLETS variableRichard Purdie1
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 Purdie1
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 Purdie1
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 Purdie3
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 Purdie1
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 Jansa1
* 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 Jansa1
* 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 Ashfield1
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 Purdie1
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 Burton1
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 Blundell1
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 Blundell1
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 Blundell1
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 Salvador1
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 Purdie1
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 Purdie1
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 Marinescu1
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 Purdie1
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 Wold1
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 Kristensen1
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 Blundell1
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 Juszkiewicz1
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 Juszkiewicz1
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>