summaryrefslogtreecommitdiffstats
path: root/meta/classes/base.bbclass
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement variable typing (sync from OE)Chris Larson2011-05-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) } (From OE-Core rev: a04ce490e933fc7534db33f635b025c25329c564) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Fix PR increment bug when PR number is a single digitKhem Raj2011-05-171-13/+6
| | | | | | | | | | | | | | | | 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 (From OE-Core rev: 9aeaae7b786a42d213ad4224743dfd49e2324077) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logging: delete the oe(note|warn|fatal|debug) functionsDarren Hart2011-05-041-26/+1
| | | | | | | | | | | 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. (From OE-Core rev: 168d94be0e28fcbefda9df07d6d1b0cfd96e75fc) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logging: update existing oe* logging users to the bb* interfaceDarren Hart2011-05-041-2/+2
| | | | | | | | | | | | | | 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. (From OE-Core rev: a1f09fce5caba389d0484b169f0cde85d64514fa) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Create a BASEDEPENDS variable other classes can use to add to ↵Richard Purdie2011-05-041-3/+5
| | | | | | | | the base dependencies, avoiding native/nativesdk issues (From OE-Core rev: fe2f1e1708e34758c70db37ce480453e10fc4eb1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logging: add bb* logging mechanisms for bash recipe functionsDarren Hart2011-04-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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). (From OE-Core rev: 7cb3f0206619b725e404282fa7a3ac50b4609f1e) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Chris Larson <clarson@kergoth.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logging: fix oedebug loglevel testDarren Hart2011-04-281-4/+4
| | | | | | | | | | | | 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. (From OE-Core rev: 5857516404411040598b69c85d184ccdfc0af2e0) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/kernel/image.bbclass: Clean up do_deploy ordering to ensure it just ↵Richard Purdie2011-03-291-0/+1
| | | | | | | | happens before a build completes (From OE-Core rev: a3b80688465ba5ba7e6d514f9a40ee224a9d3a28) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/utility-tasks.bbclass: Drop do_setscene and do_rebuildRichard Purdie2011-03-011-30/+1
| | | | | | | | | | | | | 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>
* Buildstats commit: buildstats.bbclassBeth Flanagan2011-02-151-0/+1
| | | | | | Used to track some basic build metrics by build and task/event level. Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
* fetch2: Correct the clean() mechanism for the fetcher2 codeSaul Wold2011-02-101-15/+9
| | | | | | | 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>
* meta/classes: Update classes to use new fetcher APIRichard Purdie2011-02-071-151/+25
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: Update after fetcher changesRichard Purdie2011-02-071-3/+7
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/sstate.bbclass: Rename fetcher "go" method to "download" when using ↵Yu Ke2011-01-251-1/+4
| | | | | | fetch v2 Signed-off-by: Yu Ke <ke.yu@intel.com>
* base.bbclass: use bb.fetch2 unpack APIYu Ke2011-01-251-1/+7
| | | | Signed-off-by: Yu Ke <ke.yu@intel.com>
* base.bbclass: fix parse error on recipes with '++' in their namePaul Eggleton2011-01-201-1/+2
| | | | | | | | 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>
* base.bbclass: Use the new stampfile function in bitbake to determine the ↵Richard Purdie2011-01-061-1/+1
| | | | | | path to the stampfile Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: add lock file for do_unpack taskYu Ke2011-01-041-0/+4
| | | | | | | | | | | | | | | | | | 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>
* base.bbclass: Add error message for base_do_unpack failuresRichard Purdie2010-12-311-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Correct bb.debug parametersRichard Purdie2010-12-311-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base/utils.bbclass: Drop former checksum code now bitbake is handling this ↵Richard Purdie2010-12-201-41/+0
| | | | | | for us Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass/poky.conf: Fix INCOMPATIBLE_LICENSE Whitelist checkingSaul Wold2010-11-141-4/+5
| | | | Signed-off-by: Saul Wold <Saul.Wold@intel.com>
* meta/classes: Mark do_package_write and do_build as noexec tasksRichard Purdie2010-11-061-0/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base/utils.bbclass: Sync up overlapping functionsRichard Purdie2010-11-021-19/+0
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* classes: Only enable fakeroot on setscene tasks with packagingRichard Purdie2010-10-221-0/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* pseudo/fakeroot: Move the pseudo directory creation into bitbakeRichard Purdie2010-10-221-1/+0
| | | | | | | | | | | | | | If sstate was used to accelerate a build, the pseudo directory might not have been created leading to subsequent task failures. Also, sstate packages were not being installed under pseudo context meaning file permissions could have been lost. Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures exists before running tasks and running the appropriate setscene tasks under fakeroot context. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Ensure an empty do_build tasks exists to silence a warningRichard Purdie2010-10-221-0/+3
| | | | | | | The message "WARNING: Function do_build doesn't exist" doesn't look professional, so fix the underlying problem even if this warning is harmless. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base/sstate: Add cleanall task to remove downloads and sstate cached filesRichard Purdie2010-10-221-0/+28
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Fix spelling mistakes and change log levelRichard Purdie2010-10-091-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: add support for commercial license checkSaul Wold2010-10-081-0/+6
| | | | | | | | | This addresses [BUGID #410], require implict action by someone to enable functionality that may have license implications. By default this diables mp3 and mpeg decoding Signed-off-by: Saul Wold <Saul.Wold@intel.com>
* base.bbclass: Implement PRINC, a way to increment the PR variable in ↵Richard Purdie2010-10-051-1/+20
| | | | | | .bbappend files Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Improve FILESPATH usage in .bbappend recipesRichard Purdie2010-10-051-0/+5
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Make invalid LICENSE fields fatalRichard Purdie2010-09-301-0/+4
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* meta/classes: Fix whitespace mismatch and broken functionsRichard Purdie2010-08-311-5/+5
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Add xz-native as depends when finding *.xz in SRCURIZhai Edwin2010-08-271-0/+7
| | | | | | | Just adding xz-native as DEPENDS in one bb file could not make its unpack run after xz-native build done. Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
* base.bbclass: Initial work to add GPLv2 Only Build with Whitelist for GPLv3 ↵Saul Wold2010-08-201-1/+13
| | | | | | | | | Native tools [tweaks from Richard Purdie] Signed-off-by: Saul Wold <Saul.Wold@intel.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Revert "base.bbclass: Temporarily disable fakeroot for install/package until ↵Richard Purdie2010-08-191-4/+1
| | | | | | | other fixes get merged" This reverts commit 2225e1214285f0e9a3c0ee2962b3d678c5c05292 and reenables the functionality now its safe to do so.
* Remove packaged-staging.bbclassRichard Purdie2010-08-191-18/+0
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Temporarily disable fakeroot for install/package until other ↵Richard Purdie2010-08-171-1/+4
| | | | | | fixes get merged Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base: Allow unpack to handle localpath=NoneRichard Purdie2010-08-131-0/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* pseudo: Change pseudo integration to better support local DBsMark Hatle2010-08-041-1/+1
| | | | | | | | | Change the pseudo integration: * Uprev to latest open source version * Restructure the patches to allow for many local DBs, as well as pseudo specific lib dirs. Signed-off-by: Mark Hatle <mhatle@windriver.com>
* base.bbclass: Enable fakeroot (pseudo) usage during install and packagingMark Hatle2010-08-041-0/+11
| | | | | | | | Use the virtual fakeroot program when installing a package and also during packaging. This is important as it allows us to track full permissions, owners, groups and special files generated by packages. Signed-off-by: Mark Hatle <mhatle@windriver.com>
* pseudo: EnhancementsJoshua Lock2010-07-241-0/+1
| | | | | | | | | | | | | Enable changing the data directory on the fly from the environment and then use this feature within poky to confine pseudo usage to each WORKDIR. This fixes issues that could be seen under heavy inode reusage e.g. with rm_work. Work based mainly off a patch from Joshua Lock but finished by Richard Purdie. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Fix after bb.decodeurl was fixedRichard Purdie2010-06-071-2/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Update classes to use lib/oeJoshua Lock2010-05-061-0/+26
| | | | | | | Adapt modifications from upstream to make Poky classes use lib/oe for the common Python functionality. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* base.bbclass: Sync minor layout changes with OE.devRichard Purdie2010-05-061-77/+68
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* classes/conf: Update to handle gcc-runtimeRichard Purdie2010-03-291-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Split up as per the patch in OE.dev by Chris Larson making ↵Richard Purdie2010-03-191-722/+7
| | | | | | code more readable and modularised Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Really drop siteinfo by defaultRichard Purdie2010-03-191-4/+0
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* base.bbclass: Fix missing argumentRichard Purdie2009-12-181-2/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>