summaryrefslogtreecommitdiff
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* binconfig: improve handling of empty prefixesPhil Blundell2011-06-011-2/+2
| | | | | | | | | | | This is a backport of 952e5e2b7a5c1deefc939594d40b81a71fb16a54 from oe master. Without this the script mangling goes very wrong if ${prefix}="". There isn't really any way to fix this in the completely general case, but this patch does work with the two cases I tested (freetype and gpg-error) which were unusable previously. Signed-off-by: Phil Blundell <philb@gnu.org>
* allarch.bbclass: A "all" TARGET_ARCH is dangerous as an OVERRIDERichard Purdie2011-06-011-1/+1
| | | | | | | | | Having a generic word like "all" as an override is dangerous as this is an override and can cause issues for function names like "sysroot_stage_all". This patch changes it to "allarch" to help avoid this kind of problem. The field is only used in the name of directories anyway. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Improve handling of 'all' architecture recipes and their interaction with sstateRichard Purdie2011-05-312-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing PACKAGE_ARCH = "all" mechanism of sharing packages is problematic with sstate since there are a variety of variables which have target specific values and the sstate package therefore correctly changes signature depending on the MACHINE setting. This patch creates a new "allarch" class which sets: PACKAGE_ARCH = "all" (as per the existing convention) INHIBIT_DEFAULT_DEPS = "1" (since its not target specific and therefore can't depend on the cross compiler or target libc) TARGET_ARCH = "all" TARGET_OS = "linux" TARGET_CC_ARCH = "none" (since these variables shouldn't change between the different packages and target compiler flags shouldn't be getting used) PACKAGE_EXTRA_ARCHS = "" (since we shouldn't be depending on any architecture specific package architectures) Not all PACKAGE_ARCH = "all" recipes can use this class since some run configure checks on the compiler. This means they have target specific components and therefore the "all" classification is incorrect. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass,prserv.bbclass: Compare USE_PR_SERV with "1" or "0"Khem Raj2011-05-292-2/+2
| | | | | | | | | Value of USE_PR_SERV is either "1" or "0" looking at settings in bitbake.conf USE_PR_SERV = "${@[1,0][(bb.data.getVar('PRSERV_HOST',d,1) is None) or (bb.data.getVar('PRSERV_PORT',d,1) is None)]}" So we compare the strings Signed-off-by: Khem Raj <raj.khem@gmail.com>
* license.bbclass: Infinite recursion of or nodesBeth Flanagan2011-05-291-7/+8
| | | | | | | | | | This fixes two bugs. When populate_lic was hitting | it was going into an infinite recursion of the node. Also, some LICENSE fields may start with "(". We want to avoid invalid python syntax here, so we strip out the whitespace. Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
* license.bbclass: Sane Parsing of licensesBeth Flanagan2011-05-271-38/+114
| | | | | | | | | | | | | | | | | | | | | This is a first pass at sane license parsing, using python abstract syntax trees. A few notes on this since ast is not generally used. I massage the LICENSE field to be more pythonesque and then create an ast. I then dump the ast and using a LicenseVisitor class, recurse through the tree, looking for licenses. I then copy and link. It's cleaner, allows for easier addition of logic and while it takes slightly more CPU, it's also slightly faster in initial small scale tests. It doesn't recognize the '+' or '*' modifiers to the licenses yet nor does it know what to do with bitors (|), since I'm not even sure what to do with them. Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
* classes/package_xxx.class: Use PKGE/PKGV/PKGR.Lianhao Lu2011-05-274-17/+17
| | | | | | Use PKGE/PKGV/PKGR to build various package feed in tasks of pacakge_write_xxx. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* classes/package(prserv).bbclass: Get PRAUTO and use PKGV/PKGR.Lianhao Lu2011-05-272-15/+65
| | | | | | | | | | | 1. Added package_get_auto_pr to PACKAGEFUNCS to get the auto incremented value(PRAUTO) from remote PR service. 2. use PKGV/PKGR for pkgdata which will be used by package_write_xxx. 3. Added supporting functions in prserv.bbclass. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* utils.bbclass: make FILESEXTRAPATHS colon delimitedDarren Hart2011-05-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes [YOCTO 1102] Path variables are typically : delimited. White space is allowed in paths, so is not a good choice for separating paths. Currently utils.bbclass performs the following: extrapaths = (bb.data.getVar("FILESEXTRAPATHS", d, True) or "").split() This splits FILESEXTRAPATHS on whitespace. It later splits overrides on : and reassembles them all together as : delimited. There is only one user of FILESEXTRAPATHS in oe-core (qt4-tools-native, which uses : anyway) and none in oe. Change the split() in utils.bbclass to split on : instead of whitespace. When splitting on a defined string (":") we must be careful to handle the empty string case which returns [''] instead of []. Tested building qt4-tools-native and core-image-minimal for surgarbay from meta-intel with a couple extra layers with FILESEXTRAPATHS modifications added. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: keep all sigdata files in stamps dirMartin Jansa2011-05-271-0/+4
| | | | | | | * this makes fix for [YOCTO #1074] in bitbake 139b8a625818225c358a1b8363518d7ed6913188 much more usefull for people using rm_work Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* rootfs_ipk: issue a diagnostic if rootfs is declared read-only and not all ↵Phil Blundell2011-05-251-0/+10
| | | | | | maintainer scripts could be applied offline Signed-off-by: Phil Blundell <philb@gnu.org>
* image_types: add IMAGE_ROOTFS_EXTRA_SPACESaul Wold2011-05-251-1/+1
| | | | | | | | | | | | | [YOCTO #886] This address 2 needs after the IMAGE_ROOTFS_SIZE is cleaned up, by removing the _ext2/3 overrides it allows for a cleaner override using IMAGE_ROOTFS_SIZE to create a large rootfs, or by setting the IMAGE_ROOTFS_EXTRA_SPACE, will allow for extra space allocated in Kilobytes above the base size (determined by du of the rootfs * IMAGE_OVERHEAD_FACTOR, default of 1.3). Signed-off-by: Saul Wold <sgw@linux.intel.com>
* IMAGE_ROOTFS_SIZE CleanupSaul Wold2011-05-251-2/+5
| | | | | | | | | | | | | | This basic cleanup removes the _ext2/3 overrides from places they no longer belong since they did not allow further overrides. In doing this the core-image-minimal* recipes can now set a reasonably small rootfs so that it's a realistic size for minimal. The new default for minimal is 8M and will be adujsted upward by the IMAGE_OVERHEAD_FACTOR (default of 1.3). This also fixes the ROOTFS_SIZE usage in the IMAGE_CMD_<fstype> code Signed-off-by: Saul Wold <sgw@linux.intel.com>
* Move packagedata code into oe.packagedata (sync from OE)Chris Larson2011-05-203-66/+9
| | | | Signed-off-by: Chris Larson <chris_larson@mentor.com>
* oe.packagegroup: add code for package groups (sync from OE)Chris Larson2011-05-201-1/+1
| | | | | | | | | | | | | 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>
* base.bbclass: use oe.data for OE_IMPORTSChris Larson2011-05-201-1/+3
| | | | Signed-off-by: Chris Larson <chris_larson@mentor.com>
* Shift oe import logic out of the event handlerChris Larson2011-05-201-15/+18
| | | | | | | 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>
* base.bbclass: switch to current OE's imports handlingChris Larson2011-05-201-13/+9
| | | | | | | 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>
* Implement variable typing (sync from OE)Chris Larson2011-05-202-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kernel.bbclass: pass KERNEL_VERSION through legitimize_package_nameAndreas Oberritter2011-05-201-2/+2
| | | | | | | | | - KERNEL_VERSION may contain characters unsuitable for package names, e.g. underscores. Use legitimize_package_name to replace those characters. Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package-index.bb: add support for deb and rpm.Dexuan Cui2011-05-203-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #1024] Currently package-index.bb only supports ipk. This commit adds the support for rpm and deb, too. ------------------------------ How to generate and use repos: 1) run "bitbake package-index" after building some target, e.g., core-image-sato-sdk; 2) export ${DEPLOY_DIR_RPM}, ${DEPLOY_DIR_IPK} and ${DEPLOY_DIR_DEB} by a webserver on the host, assuming the host IP is 192.168.7.1, at http://192.168.7.1/rpm http://192.168.7.1/ipk http://192.168.7.1/deb 3) inside the target, according to the packaging system (rpm, ipk or deb) used when we generate the target image, we can use different ways to manage packages: 3.1) RPM run "zypper addrepo http://192.168.7.1/rpm main; zypper refresh" to retrieve info about the repo; next, we can use "zypper install/remove" to manage packages. 3.2) IPK add the repo info into opkg config file, i.e., in /etc/opkg/arch.conf, we can add something like "src i586 http://192.168.7.1/ipk/i586", and next, we run "opkg update" to make opkg update the list of available packages. And later, we can use "opkg install/remove" to manage packages. 3.3) DEB Currently in target, some important config files, like /var/lib/dpkg/status and /etc/apt/sources.list, for deb/apt are missing. So we can't install/remove package in target at present. Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
* utils.bbclass: modify create_wrapper to correctly follow symlinksSaul Wold2011-05-191-1/+2
| | | | | | This ensures you look up the symbolic link to get the full path Signed-off-by: Saul Wold <sgw@linux.intel.com>
* utils.bbclass: modify create_wrapper to correctly follow symlinksSaul Wold2011-05-191-1/+2
| | | | | | This ensures you look up the symbolic link to get the full path Signed-off-by: Saul Wold <sgw@linux.intel.com>
* Couple minor fixes for the OECORE renameJessica Zhang2011-05-181-3/+3
| | | | Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
* yaffs2: Remove yaffs2 from oe-coreSaul Wold2011-05-181-3/+0
| | | | | | | Move to meta-extras Also remove yaffs2 from image_types.bbclass Signed-off-by: Saul Wold <sgw@linux.intel.com>
* sanity.bbclass: Disable the is DISTRO set check since we can now run distro-lessRichard Purdie2011-05-181-2/+2
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-prelink: remove hardcoded path assumptions, don't generate cache filePhil Blundell2011-05-171-8/+5
| | | | | | | | | Pass -N option to prelink so that no cache file is generated (obviates need for deleting it afterwards). Use symbolic names, ${sysconfdir} et al., rather than hardcoded paths. Pass explicit -c option to prelink in case ${sysconfdir} and ${sysconfdir_native} are different. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* backport USE_LDCONFIG and PACKAGE_SNAP_LIB_SYMLINKS from oe masterPhil Blundell2011-05-171-7/+27
| | | | | | | This is a backport of the corresponding package.bbclass functionality (which is needed by micro) from the openembedded tree. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* task-core-nfs/image.bbclass: Fix some libc overridesRichard Purdie2011-05-171-2/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: use soft assignment for LDCONFIGDEPENDPhil Blundell2011-05-171-1/+1
| | | | | | | This allows distros that don't want ldconfig to turn it off. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license bbclass: put licenses in DEPLOY_DIR/licenses to avoid sstate ↵Koen Kooi2011-05-171-1/+1
| | | | | | | | | problems when MACHINE is part of DEPLOY_DIR_IMAGE See http://lists.linuxtogo.org/pipermail/openembedded-core/2011-May/002535.html for more info. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> 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 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Add a new task checklicense and fix some bugs in distro_check.pyMei Lei2011-05-171-76/+101
| | | | | | | | | | | distro_check.py: Create a new function called create_log_file to reduce a lot of repeat code in distrodata.bbclass. We needn't to create log file in function save_distro_check_result, because the log file has been generated in check_eventhandler. Another bug is that we maybe access the /tmp/Meego-1.0 before we create this file. Add a judge statement to decide whether we need to create this file firstly. distrodata.bbclass: Add a new task checklicense to collect missing text license information. This can help package-report system to know how many recipes are missing license text. Signed-off-by: Mei Lei <lei.mei@intel.com>
* linux-yocto: detect and avoid branch revision checking for AUTOREVBruce Ashfield2011-05-171-0/+7
| | | | | | | | | | | | When a BSP or layer specifies an AUTOREV for SRCREV, the logic that matches expected vs real branch heads doesn't apply. We always want the latest. To solve the issues with invalid git revs causing validation failures, we detect the AUTOINC value and do a early return, skipping validation. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* qmake_base.bbclass: add generate_qt_config_file taskOtavio Salvador2011-05-111-0/+14
| | | | | | | | | This writes a qt.conf inside WORKDIR to properly configure projects based on CMake. This is required since qmake variables (returned by -query command) are fixed into the binary and can only be changed using a qt.conf file. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* cmake.bbclass: fix qmake and rpath issuesOtavio Salvador2011-05-112-2/+16
| | | | | | | | Sync with OE at 3b7d83362027fde4f6850533ab83277d95dda961 however without changing the way of generating the toolchain file and making it branding agnostic. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* siteinfo.bbclass: Add powerpc-linux-gnuspe.Leon Woestenberg2011-05-111-0/+1
| | | | | | | | | Re-add powerpc-linux-gnuspe, from OpenEmbedded. Also adds support to poky.conf so that minimal-core-image builds with DISTRO=poky, [RP: Synced with recent diso file reoorg] Signed-off-by: Leon Woestenberg <leon@sidebranch.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* metadata_scm.bbclass: Use COREBASE to grok for SCM operationsKhem Raj2011-05-111-4/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* insane.bbclass: skip license checksum if LICENSE is "CLOSED"Otavio Salvador2011-05-101-0/+4
| | | | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* linux-yocto: error if meta data not presentBruce Ashfield2011-05-101-1/+4
| | | | | | | | | | | | | | | | | There are valid reasons to build repositories without meta data present and there are times when this is an error. This change adds sanity tests to the build process to detect missing meta data and throw an informative error message. Sanity checking is only triggered from recipes (linux-yocto) that always require meta data to be present. Other recipes are not impacted and can auto-generate meta data as required. Without this change the build process suceeds, but incorrect meta data will be used (with no user knowledge), which is not the desired behaviour. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* package_rpm: use target vendor informationAdrian Alonso2011-05-101-1/+2
| | | | | | | | * Instead of hardcoding target vendor string "-poky" use TARGET_VENDOR information in case of using external toolchains Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
* image-mklibs: add microblaze arch supportAdrian Alonso2011-05-101-1/+1
| | | | | | | | * In function mklibs_optimize_image_doit * Add microblaze arch case for setting the dynamic_loader used by "mklibs" call Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
* siteinfo: add microblaze target infoAdrian Alonso2011-05-101-0/+1
| | | | | | | | | * Add microblaze target info * Microblaze soft CPU can be configured as big-endian/little-endian * Currently target info support for microblaze big endian, using prebuilt toolchains. Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
* kernel-arch: add microblaze to valid archsAdrian Alonso2011-05-101-1/+2
| | | | | | * Add Microblaze target to valid arch list definition Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
* insane: add micrblaze target infoAdrian Alonso2011-05-101-1/+3
| | | | | | | | | * package_qa_get_machine_dict * Add microblaze dic entry for QA * Prebuilt toolchain triplet microblaze-unknown-linux-gnu- * TARGET_OS is linux-gnu for this toolchain Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
* gettext.bbclass, bitbake.conf: Append nls options to EXTRA_OECONF instead of +=Khem Raj2011-05-081-3/+3
| | | | | | | | | | | | | | | | | | | Some recipes do not defined EXTRA_OECONF in such cases += drops the --enable|--disable-nls options. In another case where recipe defines EXTRA_OECONF instead of adding/appending to it then --enable|--disable-nls options are lost from EXTRA_OECONF We define EXTRA_OECONF = "" in bitbake.conf so the variable exists always. We use _append instead of += so the option is added at very end and not lost. We only return empty gettext dependencies if its a target recipe in case when USE_NLS is not set because the native/cross/nativesdk recipes still need the gettext dependencies Signed-off-by: Khem Raj <raj.khem@gmail.com>
* package.bbclass: convert unpackaged file message from 'info' to 'warn' so ↵Koen Kooi2011-05-081-2/+2
| | | | | | that it shows up on the console Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
* sanity.bbclass: Add cpio to list of required utilities tested forRichard Purdie2011-05-071-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* boot-directdisk: fix bzImage source locationTom Zanussi2011-05-051-1/+1
| | | | | | | | | Fixes yocto [BUGID #876] boot-directdisk.class looks in the wrong location for the bzImage to install. Make it look in the right place. Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
* linux-yocto: safely process unbranched repositoriesBruce Ashfield2011-05-051-2/+5
| | | | | | | | | | | The BSP bootstrap and -dev use cases can be applied against unbranched or repos without meta data. To allow the proper and safe processing of those repositories, slight modifications to the tools are required to pass the branch on the command line (rather than detecting it always) and to only checkout branches that exist. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>