summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2013-02-11multilib.bbclass: save multilib variables before executing the ↵Constantin Musca1
gcc-cross-canadian statements Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11systemd.bbclass: use PACKAGESPLITFUNCS instead of populate_packages_prependRoss Burton1
This is cleaner and leads to more accurate profiles. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11package.bbclass: support dangling path componentsEnrico Scholz1
Commit ec2aab09769f4b6817d74d2175afa2b7c7598750 introduced a regression on packages which contain symlinks with unresolvable path components (e.g. lsof-dbg). While assigning a variable, an exception was raised and the exception handler accessed this variable. Patch deals both with the dangling path components by assuming them as valid directories and by avoiding the broken assignment. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11package.bbclass: use oe.path.realpath()Enrico Scholz1
oe.path.realpath() provides are common and more correct implementation for resolving symlinks within sysroot. Use it. Old implementation suffered from lot of problems; e.g. * redundant code * calls 'os.stat()' which references files on host; this can give wrong results about existing/non-existing and can cause EPERM (instead of the catched ENONENT) exceptions * does not deal with special cases like '..' leaving the sysroot. Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11update-alternatives.bblcass: use oe.path.realpath()Enrico Scholz1
oe.path.realpath() provides are common and more correct implementation for resolving symlinks within sysroot. Use it. Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11update-rc.d: don't do anything if systemd.bbclass is inheritedRoss Burton1
We need the update-rc.d class to work when systemd is being used so that packages that only have SysV init scripts still work. However if a recipe supports both we don't want to install SysV and systemd files under systemd. To solve this, before doing real work in update-rc.d check if the systemd class has been inherited and don't do anything if it has. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11systemd.bbclass: helper class for recipes with systemd unitsRoss Burton1
This class adds postinst/prerm scripts to start/stop/enable/disable the services as relevant, and some magic to ensure the service files are installed. Based on (but not the same as) the systemd.bbclass in meta-systemd, so thanks to the following for their work there: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Khem Raj <raj.khem@gmail.com> Martin Jansa <Martin.Jansa@gmail.com> Andreas Müller <schnitzeltony@googlemail.com> Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11buildhistory: record more R* variablesPaul Eggleton1
Add RPROVIDES, RREPLACES, RCONFLICTS and RSUGGESTS to the list of tracked variables. Of these, RPROVIDES is always output, whereas the others are only output if they have a value (since it is more common that they don't). Implements [YOCTO #3391]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-08populate_sdk_base.bbclass: add execution permission for self-extracting archiveJackie Huang1
[ 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>
2013-02-08Revert: update-rc.d: disable update-rc.d.bbclass when systemd enabledSaul Wold2
This was just wrong - when systemd is being used there'll still be packages that use SysV-style init scripts, which systemd supports fine. This reverts commit b94227f7290796f6ebbe5c5ff1680b9b689022b1. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-08base.bbclass: remove redundant setting of MAKEBernhard Reutner-Fischer1
oe_runmake() tried to set MAKE a second time, remove it since this is (nowadays?) redundant WRT the normal export MAKE= in the generated scripts. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-08base.bbclass: Commentary typo fixBernhard Reutner-Fischer1
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-07qemu.bbclass: fix segfaults when running through pseudoLaurentiu Palcu1
qemu user binaries sometimes segfault when running them through pseudo. So, set PSEUDO_UNLOAD to 1 before running any qemu binary. [YOCTO #3788] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-07qemu.bbclass: Use the correct qemu binary in multilib casesRichard Purdie1
For example with a lib32 multilib, we need to still use the 64 bit qemu binary in case we do encounter a 64 bit binary. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-07image.bbclass: Add MLPREFIX to DEPENDSRichard Purdie1
Add MLPREFIX to DEPENDS to ensure the correct qemuwrapper is dependended upon. Its searched for in PATH so we need to do this to ensure the correct version is present. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-07sanity.bbclass: Check for DISPLAY for qemutests in BB_ORIGENV nowRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06imagetest-qemu: Adapt to bitbake environment changesRichard Purdie1
Load environment variables like DISPLAY from BB_ORIGENV after recent bitbake changes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06terminal.bbclass: Use BB_ORIGENV to restore user environmental variablesRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Replace undefined 'src' with valid variableKhem Raj1
After rewrite of split_and_strip_files src var is no longer available here where it is used so we should replace it with a valid value Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Ensure package_get_auto_pr is run at the correct pointRichard Purdie1
This needs to run before PKGR and other variables using PRAUTO are used, including the expansion optimisations. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06insane.bbclass: Add missing R* variables to pkgvarcheckMartin Jansa1
* check also RSUGGESTS, RCONFLICTS, RPROVIDES, RREPLACES Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: return list of packages created in do_split_packagesMartin Jansa1
* sometimes it's useful to do something with packages created by do_split_packages later in do_package_prepend, e.g. in: http://lists.linuxtogo.org/pipermail/openembedded-devel/2013-February/043824.html I have .bbclass which adds some postinst, postrm and RDEPENDS, but ttf-mplus is using do_split_packages to create those packages Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Pre-expand some variables to save timeRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Better document the different phases of operationRichard Purdie1
Add headers to document the different phases of do_package and make the steps clearer. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Add PACKAGESPLITFUNCS variableRichard Purdie4
Prepending to populate_packages is rather ugly and means its hard to trace errors and also profiling informaiton is summed together in one function. This patch starts to split out the prepends to become separate functions to avoid these issues. This is generally a neater way to write functions than prepending to where there can sometimes be variable scope issues and we've been bitten by whitespace issues in the past. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Simplify empty directory removalRichard Purdie1
Rather than an exec() per directory, we might as well exec one command and be done with it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Various minor performance tweaksRichard Purdie1
* Call getVar outside the loop * Drop unneeded PATH export (bitbake does this already) * Drop unused variable * Simplify if statement nesting * Simplify variable expandion to a getVar call (expand would just call getVar) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Make use of cleandirs and dirs function flagsRichard Purdie1
We can use the cleandirs and dirs flags for the fuctions to handle directory cleaning and creation at the bitbake level rather than using these calls within the functions Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06kernel.bbclass: Improve populate_packages_prependRichard Purdie1
Small performance tweaks for populate_packages_prepend: * Compile the regexps once at the start * Don't keep importing a module which is already imported * No need to check PKG is set, we'd have failed long before now if it wasn't * Don't export PATH, bitbake takes care of this at the task level Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Rewrite split_and_strip_filesRichard Purdie1
The split_and_strip_files funciton was hard to follow and its usage of prefixes to strings was unusual. This rewrites it to use a list of hardlinks, symlinks and elffiles where each list is iterated over at the correct point. This means we can avoid creating dandling symlinks for example so we can simply delete the cleanup code for this. The isfile() check is also removed which gives a significant improvement in speed. Its uneeded since os.walk will have already checked things in files are files. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Fix up bb.mkdirhier/bb.copyfile usageRichard Purdie1
These are in bb.utils so lets the correct function and avoid the overhead of the fixup/warning for the deprecated usage. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06update-rc.d: Drop OVERRIDES codeRichard Purdie1
The data store copy and overrides is overkill given the small number of accesses that are being made. This simplifies the code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06staging.bbclass: Drop unused/legacy functionRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06staging/insane.bbclass: Move legacy do_stage check iinto insane.bbclassRichard Purdie2
We might as well put all the sanity checks in one place. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06insane.bbclass: Add documentation headers for logical code blocksRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06insane.bbclass: Add pkgvarcheck to check for suboptimal usages of variablesRichard Purdie1
Check through the variables: 'RDEPENDS', 'RRECOMMENDS', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm' and if there is a variable set which isn't package specific, inform the user of this. Using these variables without a package suffix is bad practise and complicates dependencies of packages unnecessarily as well as complicates the code. Lets convert the remaining issues and then we can take the small performance gain. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: use the multiprocess pool from bitbakeRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package: Process package stripping in parallelRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package: Don't export PATHRichard Purdie1
PATH is already exported, we don't need to do this each time we run something, its just noise and overhead. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package.bbclass: Multithread per file dependency generation codeRichard Purdie3
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06sstate.bbclass: Ensure build directory is cleaned to start withRichard Purdie1
This directory is cleaned upon completion however if a previous build crashes, it can lead to corrpution, hence ensure its clean at the start too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06sstate/path.py: Add copyhardlinktree() function and use for performance ↵Richard Purdie1
optimisation Add a function which copys a tree as a set of hardlinks to the original files, then use this in sstate to reduce some of the overhead of sstate package creation since the file isn't actually copied. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06package_ipk, rootfs_ipk: remove the "set -x"Laurentiu Palcu2
Comment the "set -x" lines since these will add a lot of extra, not always necessary, debug messages in the log.do_rootfs. [YOCTO #2599] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-06image.bbclass: add a proper error message if hook script failsLaurentiu Palcu1
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-06qemu.bbclass: return qemuwrapper instead of qemu-allarchLaurentiu Palcu1
When qemu bbclass is inherited from a recipe that is not architecture dependent, qemu_run_binary will return "qemu-allarch". However this binary does not exist. Instead, return "qemuwrapper" which will, in turn, execute the right binary for the target the image was built for. [YOCTO #2599] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-06add fontcache.bbclassLaurentiu Palcu1
All font packages should inherit this class in order to generate the proper postinst/postrm scriptlets. The scriptlets will actually create a host intercept hook that will be executed at the end, at do_rootfs time, after all packages have been installed. This is good when there are many font packages. [YOCTO #2923] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-02-06ipk: use OPKGLIBDIR in all placesMartin Jansa2
* it's not recommended to change this value, because it breaks upgrade path on target (all old u-a alternatives are forgot in old OPKGLIBDIR value * but make it consistent, so if someone really want to change that, then setting OPKGLIBDIR_distro in distro.conf would be enough * without this there were at least 4 places to change: rootfs_ipk: opkglibdir variable (notice that I've removed /opkg from it to correspond with EXTRA_OECONF option used in opkg recipes package_ipk: ${target_rootfs}${localstatedir}/lib/opkg/ hardcoded in package_install_internal_ipk opkg-collateral: value in lists file opkg: EXTRA_OECONF for all 3 classes, FILES_libopkg, do_install * validated with buildhistory that without OPKGLIBDIR explicitly set the output is the same and that after setting OPKGLIBDIR_forcevariable := "${libdir}" everything including empty directory from package_ipk is moved to libdir Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-02-04sip.bbclass: improve RDEPENDS to add python-sip only for PNMartin Jansa1
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-04cpan-base.bbclass: Improve RDEPENDS to be package specificRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-04package.bbclass: Allow per-package SKIP_FILEDEPSPeter Seebach1
The existing check for SKIP_FILEDEPS can be overridden per recipe using SKIP_FILEDEPS_pn-${PN}. However, there's no mechanism for letting a single package within a recipe use SKIP_FILEDEPS. This patch adds SKIP_FILEDEPS_<pkg>, by analogy to FILES_<pkg>. Note that it only works one way; if the recipe has SKIP_FILEDEPS = 1, the checks for individual packages will never be reached. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>