summaryrefslogtreecommitdiff
path: root/meta/classes/base.bbclass
AgeCommit message (Collapse)AuthorFiles
2011-10-06base.bbclass: Implement PACKAGECONFIGRichard Purdie1
These enabled options to be specified in the form: PACKAGECONFIG ?? = "<default options>" PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends" So that DEPENDS, RDEPENDS_${PN} and EXTRA_OECONF can be automatically built from specific options. Those options can easily be customised by the distro config or the user. Based on some ideas from Chris Elston <celston@katalix.com> but with an improved easier to use one line interface. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06base.bbclass: Minor cleanupRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-30base.bbclass: Drop unneeded dependencyRichard Purdie1
patch depends on unpack configure depends on patch We simply don't need a configure dependency on unpack. This simplifies the dependencies of every recipe slightly and should make bitbake slightly faster at resovling dependency graphs. It also makes the .dot dependency graphs slightly more readable by removing noise. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26base.bbclass: Drop legacy code that is no longer useful/usedRichard Purdie1
The code displaying console events has been handled by the bitbake UI since 1.8 so the legacy code path can be removed. If a log event is wanted, there are much better (and more complete) ways to do this so remove the EVENTLOG code too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16base.bbclass: add crosssdk items to INCOMPATIBLE_LICENSE exclude listSaul Wold1
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-09-13base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipeDongxiao Xu1
With Richard's commit f9c36392, we only build one kernel for a system, thus we shouldn't extend PREFERRED_PROVIDER for virtual/kernel. [YOCTO #1471] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-08base.bbclass: fix substring matching in COMMERCIAL_LICENSEPaul Eggleton1
Previously, if for example you had a package called "mx", and a second package called "libomxil" listed in COMMERCIAL_LICENSE (without mx being listed there), it would match mx as being commercially licensed because mx is a substring of libomxil. Fix the search to ensure it only matches the listed package name exactly. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23base.bbclass: clarify COMMERCIAL_LICENSE skip reasonPaul Eggleton1
Change to a proper sentence and add a reference to the COMMERCIAL_LICENSE variable so that the user knows where this can be controlled. Addresses remainder of [YOCTO #846] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-08-09base.bbclass: Add MULTI_PROVIDER_WHITELIST manipulation for multilibRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09base.bbclass: Ensure PREFERRED_PROVIDER and PREFERRED_VERSION values are set ↵Richard Purdie1
for multilibs Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27base bbclass: add TUNE_FEATURES to the default bannerKoen Kooi1
This makes debugging the new tune code easier since it doesn't involve staring at 'bitbake -e' output anymore. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27base.bbclass: Fix PACKAGE_ARCH typoRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27base.bbclass: Add compatibility package name mapping handlerRichard Purdie1
This means if PKGARCHCOMPAT_ARMV7A is set, "armv7a-vfp-neon" is renamed to be "armv7a". Other compatibility mappings can be added as needed. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-19Fixed concurrency problem for ZIP packed recipes.Ihar Hrachyshka1
The problem occured when unzip-native is not yet staged, and ZIP archive unpacking already started resulting in failed do_unpack task. (oe.dev has a NEED_UNZIP_FOR_UNPACK variable we did not bring over) [RP: Use srcuri from already existing variable] Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com> Signed-off-by: Koen Kooi <koen@openembedded.org> Signed-off-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-19sanity, base: remove gcc3 check since qemu doesn't need it any morePhil Blundell1
Recent versions of qemu seem to be happy enough building with gcc 4.x, and indeed most modern distributions aren't shipping gcc3 any more, so there is no point checking for its presence as part of sanity. Also remove the check_gcc3 function from base since nothing else uses it. Signed-off-by: Phil Blundell <philb@gnu.org>
2011-07-05base.bbclass: show layer's branches/revisions in the banner infoDexuan Cui1
The patch removes METADATA_BRANCH and METADATA_REVISION, and treats the meta/ in the same way as other layers. In the case some layers belonging to the same repo, the branch and revision are only printed once, but all the layer names are still printed. An example output can be: OE Build Configuration: BB_VERSION = "1.13.1" TARGET_ARCH = "i586" TARGET_OS = "linux" MACHINE = "emenlow" DISTRO = "poky" DISTRO_VERSION = "1.0+snapshot-20110702" TARGET_FPU = "" meta meta-yocto = "dcui/banner_v3:4b712dba68a98c827b8f3d0242da9153c4f65473" meta-emenlow meta-sugarbay meta-n450 = "dcui/test1:76d1178ba1a43cf6457c89717134aeb9f1275fae" Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-06-30ccache: Set CCACHE on a per recipe basisWenzong Fan1
Set 'CCACHE_DIR' in 'bitbake.conf' and create the dirs for every package before task 'do_configure' started. [RP: Merge dirs variables into one] Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-30Add umask task controlMark Hatle1
Bitbake now allows the umask to be specified per task. The following tasks will have a umask of 022 set by default: do_configure do_compile do_install do_package do_populate_sysroot do_rootfs do_configure and do_compile need a umask of 022 set because -many- recipes directly copy generated files out of recipe's build directory. Instead of fixing each existing and future recipe, it was shown to be much easier to just set the umask. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-06-28base.bbclass: Back off the fatal error to a warning for now and try and recoverRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28base/glib-2.0: Simplify USE_NLS handling for glib-2.0Richard Purdie1
Currently the only way to get anything to build is to set USE_NLS="yes" for glib-2.0. We might as well do this in the recipe by default for now and simpllify the code. The magic handling of USE_NLS_<recipename> is also removed since this can be done in the form USE_NLS_pn-<recipename> using overrides these days. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28classes/conf: Drop MULTIMACH_ARCH variable, it adds unused complexity and ↵Richard Purdie1
serves no useful purpose Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28base.bbclass: Since we require python 2.6 which always contains hashlib we ↵Richard Purdie1
can drop this fallback code Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28base.bbclass: Drop old style SRCDATE handling, we have pn- overrides nowRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-09native/nativesdk: Clean up the depends ordering after bitbake override ↵Richard Purdie1
handling updates This massively cleans up the dependency handling in the two classes when interacting with BBCLASSEXTEND. This change has a dependency on the bitbake override handling change and also the existence of the RecipePreFinalise event. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-06base.bbclass: add cleansstate task between clean and cleanallMartin Jansa1
* sometimes it's usefull to remove only sstate cache and keep downloaded sources for rebuild Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2011-05-20oe.packagegroup: add code for package groups (sync from OE)Chris Larson1
This includes some utility functions for dealing with groups of packages defined in the metadata. Metadata syntax: PACKAGE_GROUP_<group> = "<list of packages>" If the packages in the group are optional: PACKAGE_GROUP_<group>[optional] = "1" Signed-off-by: Chris Larson <chris_larson@mentor.com>
2011-05-20base.bbclass: use oe.data for OE_IMPORTSChris Larson1
Signed-off-by: Chris Larson <chris_larson@mentor.com>
2011-05-20Shift oe import logic out of the event handlerChris Larson1
This can be useful if we need the imports from another config parsed event handler, and can't rely upon the base one running before that one. Signed-off-by: Chris Larson <chris_larson@mentor.com>
2011-05-20base.bbclass: switch to current OE's imports handlingChris Larson1
The current mechanism makes it easier for classes to add new oe modules to be automatically imported, and thereby made available to python snippets (${@}). Signed-off-by: Chris Larson <chris_larson@mentor.com>
2011-05-20Implement variable typing (sync from OE)Chris Larson1
This implementation consists of two components: - Type creation python modules, whose job it is to construct objects of the defined type for a given variable in the metadata - typecheck.bbclass, which iterates over all configuration variables with a type defined and uses oe.types to check the validity of the values This gives us a few benefits: - Automatic sanity checking of all configuration variables with a defined type - Avoid duplicating the "how do I make use of the value of this variable" logic between its users. For variables like PATH, this is simply a split(), for boolean variables, the duplication can result in confusing, or even mismatched semantics (is this 0/1, empty/nonempty, what?) - Make it easier to create a configuration UI, as the type information could be used to provide a better interface than a text edit box (e.g checkbox for 'boolean', dropdown for 'choice') This functionality is entirely opt-in right now. To enable the configuration variable type checking, simply INHERIT += "typecheck". Example of a failing type check: BAZ = "foo" BAZ[type] = "boolean" $ bitbake -p FATAL: BAZ: Invalid boolean value 'foo' $ Examples of leveraging oe.types in a python snippet: PACKAGES[type] = "list" python () { import oe.data for pkg in oe.data.typed_value("PACKAGES", d): bb.note("package: %s" % pkg) } LIBTOOL_HAS_SYSROOT = "yes" LIBTOOL_HAS_SYSROOT[type] = "boolean" python () { import oe.data assert(oe.data.typed_value("LIBTOOL_HAS_SYSROOT", d) == True) } Signed-off-by: Chris Larson <chris_larson@mentor.com>
2011-05-17base.bbclass: Fix PR increment bug when PR number is a single digitKhem Raj1
PRINC which should add to base PR value has a problem when the PR is single digit e.g. r0 - r9. Current algorithm needed atleasts 2 digits to successfully populate end and begin markers. We reimplement the incrementing algorithm using regular expressions which addressed the above mentioned problem and simplifies the logic a bit and gets rid of loops and conditionals Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-05-04logging: delete the oe(note|warn|fatal|debug) functionsDarren Hart1
The new logging.bbclass replaces the oe* logging functions with bb* equivalents. There are no longer any users of the oe* API within oe-core. Remove the oe* functions. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-05-04logging: update existing oe* logging users to the bb* interfaceDarren Hart1
The new bash logging class provides bbnote, bbwarn, bbfatal, and bbdebug replacements (as well as bbplain and bberror) for the oe* equivalents. Use the new bb* API in preparation to delete the oe* logging API. This patch was automatically generated by a sed script. The result has been visually inspected and used to build core-image-sato for qemux86. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-05-04base.bbclass: Create a BASEDEPENDS variable other classes can use to add to ↵Richard Purdie1
the base dependencies, avoiding native/nativesdk issues Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-28logging: add bb* logging mechanisms for bash recipe functionsDarren Hart1
The following logging mechanisms are to be used in bash functions of recipes. They are intended to map one to one in intention and output format with the python recipe logging functions of a similar naming convention: bb.plain(), bb.note(), etc. For the time being, all of these print only to the task logs. Future enhancements may integrate these calls with the bitbake logging infrastructure, allowing for printing to the console as appropriate. The interface and intention statements reflect that future goal. Once it is in place, no changes will be necessary to recipes using these logging mechanisms. I opted to write new functions instead of modifying the oe* logging functions from base.bbclass (and utils.bbclass in oe) for a couple reasons. First, one of my goals was to generate a uniform logging API between bash and python in recipes. Second, there are no users of oe* logging in meta (oe-core) or meta-yocto, while several oe recipes do use them. I wanted to make a clean start with the freedom to change behavior without forcing the oe recipes to change or experience unexpected logging changes. Eventually, the oe recipes can be migrated to the new bb* logging routines and the existing oe* routines can be retired (deleted). Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Chris Larson <clarson@kergoth.com>
2011-04-28logging: fix oedebug loglevel testDarren Hart1
When the existing test for loglevel fails, the syntax used results in the recipe exiting with a silent failure. Performing any bash command after the test block resolves the problem, such as "shift" or "echo ''". Rewriting with 'if []; then' blocks provides a cleaner syntax and also resolves the failure. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-03-29base/kernel/image.bbclass: Clean up do_deploy ordering to ensure it just ↵Richard Purdie1
happens before a build completes Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-01base.bbclass: add support for SOC_FAMILY in COMPATIBLE_MACHINESKoen Kooi1
* Add support for using SOC_FAMILY in the COMPATIBLE_MACHINES setting for a recipe. * This will allow recipes to work for entire families of devices without having to maintain/update the compatible devices as new devices are added into a family Based on 07076390358f211bd96779bec2d6eb5eaa0ad699 by Chase Maupin <chase.maupin@ti.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-03-01base/utility-tasks.bbclass: Drop do_setscene and do_rebuildRichard Purdie1
The do_setscene task only exists for rebuild support now as all its other functionality has been superceeded. The rebuild task currently crashes due to removal of the working directory and therefore isn't working for anyone. It also interacts extremely badly with the newer sstate technology to the point of being dangerous. Summary, if we want rebuild support it needs a reimplementation so remove this version and all its remnants and hacks. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-15Buildstats commit: buildstats.bbclassBeth Flanagan1
Used to track some basic build metrics by build and task/event level. Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
2011-02-10fetch2: Correct the clean() mechanism for the fetcher2 codeSaul Wold1
This create a clean() method in each of the fetcher modules and correctly cleans the .done stamp file and lock files Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-07meta/classes: Update classes to use new fetcher APIRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07base.bbclass: Update after fetcher changesRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25base/sstate.bbclass: Rename fetcher "go" method to "download" when using ↵Yu Ke1
fetch v2 Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-25base.bbclass: use bb.fetch2 unpack APIYu Ke1
Signed-off-by: Yu Ke <ke.yu@intel.com>
2011-01-20base.bbclass: fix parse error on recipes with '++' in their namePaul Eggleton1
Fixes "multiple repeat" or "nothing to repeat" errors when parsing recipes with '++' in the file name. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-01-06base.bbclass: Use the new stampfile function in bitbake to determine the ↵Richard Purdie1
path to the stampfile Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-04base.bbclass: add lock file for do_unpack taskYu Ke1
This patch intend to fix the random unpack failure of linux-libc-headers-yocto and linux-yocto. The root cause of the unpack failure is that: these two recpies has the same URL, thus has the same dest file during the fetch and unpack phase: do_fetch : create tar ball ${DL_DIR}/git_git.pokylinux.org.linux-yocto-2.6.37.tar.gz do_unpack : extract tar ball ${DL_DIR}/git_git.pokylinux.org.linux-yocto-2.6.37.tar.gz fetch phase is protected by lockfile, so it works fine. but unpack phase is not lock protected, thus there is race condition like: when linux-yocto do_unpack is extracting the tar ball, linux-libc-headers-yocto do_fetch starts to create tar ball thus overwrite linux-yocto's tar ball and cause linux-yocto do_unpack failure To fix this issue, do_unpack also need to be protected by lock Signed-off-by: Yu Ke <ke.yu@intel.com>
2010-12-31base.bbclass: Add error message for base_do_unpack failuresRichard Purdie1
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-31base.bbclass: Correct bb.debug parametersRichard Purdie1
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>