summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2012-06-25distrodata: Fix missed VARIABLE name changeSaul Wold1
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-06-25cml1.bbclass: Only delay exit if the command failsDarren Hart1
Rather than pause for 5 seconds, test the return code of the command and require user input before exiting on failure. This avoids pausing after successful command execution as well as possibly not waiting long enough if the user happens to be doing something else for 5 seconds. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2012-06-21recipes-kernel: make perf a standalone packageLiang Li1
perf has been coupled to the kernel packages via kernel.bbclass. While maintaining the build of perf out of the kernel source tree is desired the package coupling has proved to be awkward in several situations such as: - when a kernel recipe doesn't want to build/provide perf - when licensing of dependencies would prohibit perf and hence the kernel from being built. To solve some of these problems, this recipe is the extraction of the linux-tools.inc provided perf compilation into a standalone perf recipe that builds out of the kernel source, but is otherwise independent. No new functionality is provided above what the linux-tools.inc variant provided, but the separate recipe provides baseline for adding new functionality. Signed-off-by: Liang Li <liang.li@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21kernel: save $kerndir/tools and $kerndir/lib from pruningBruce Ashfield1
The kernel source tree in the sysroot has all unecessary source code removed. The existing use case is to support module building out of the sysroot, but as more toolsa are moved into the kernel tree itself there are new use cases for the kernel sysroot source. To avoid putting dependencies on the kernel, and to be able to individually build and package these tools out of the source tree, we can save $kerndir/tools and $kernddir/lib from being removed. This enables tools like perf to be built our of the kernel source in the sysroot, without significantly increasing the amount of source in the sysroot. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21package_rpm.bbclass: fix incremental rpm generationRobert Yang1
Fixes: * Remove the "echo '# Remove manifest padding....' > remove.manifest, The remove.manifest would be used via "rpm -e `remove.manifest`", there would be error since there is no pkg called: Remove, manifest or padding * The incremental.manifest can't be null when used by rpm, so check it before use. * The rpm needs: --root "${target_rootfs}/install" when use: -D "_dbpath ${target_rootfs}/install" Otherwise it would use the ${target_rootfs} as the root, and use the ${target_rootfs}/var/lib/rpm as the dbpath, this is OK in a fresh installation, but there would be errors when increment rpm generation. [YOCTO #2617] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21classes/cml1: ensure -c menuconfig forces a rebuild next timePaul Eggleton1
Ensure the following results in the kernel being rebuilt, repackaged and re-deployed in the final step: bitbake virtual/kernel bitbake -c menuconfig virtual/kernel [ make changes to the kernel configuration and save ] bitbake virtual/kernel If there are no changes to the configuration saved, the rebuild will not be triggered. Note that this relies on a function recently added to BitBake and requires full hashing (i.e. BB_SIGNATURE_HANDLER must be set to a signature handler that inherits from BasicHash) - if this is not the case or the function is not available in the version of BitBake being used this change will do nothing. Fixes [YOCTO #2256]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-06-21kernel.bbclass: pass KERNEL_VERSION to depmod calls in postinstMartin Jansa1
* without this, kernel upgrades where KERNEL_VERSION is changed e.g. 3.4.2 -> 3.4.3 generate .dep for running 3.4.2 and after reboot user ends up without any module loaded to make it worse after reboot nothing is upgraded to trigger another kernel(-module) postinst to generate .dep for now running 3.4.3 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-06-19bitbake.conf: add PN-bin and cleanup lib_package.bbclassSaul Wold1
Since we now have PN as the end of the package list, we can almost get rid of lib_package, each recipe can just add PACKAGES =+ PN-bin instead of the inherit Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-06-19lib_package: remove the -dev listSaul Wold1
Since we have re-order the full PACKAGES list, we do not need to reset the -dev list, we still need this since the -bin package needs to be inserted. Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-06-19binconfig: add *-config files to the -dev packageSaul Wold1
This is part of the the package reorder, by having binconfig add -config will the files first due to the order being greedy. Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-06-18debian.bbclass: invoke target objdumpJames Limbouris1
Using the host objdump can lead to errors like: objdump: library.so.1.0.0: File format is ambiguous objdump: Matching formats: elf32-littlearm elf32-littlearm-symbian elf32-littlearm-vxworks with certain configurations of binutils. Signed-off-by: James Limbouris <james@digitalmatter.com.au> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-15distrodata: cleanup after moving distro_tracking_fieldsSaul Wold1
Remove some of the older fields that are not in the new list as we are able to better automagically generate this directly from the recipe files the extra files will go away. To use this, one will have to include the appropirate files, such as maintainers.inc, upstream_status.inc Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13sanity.bbclass: warn the user if BBPATH contains wrong entriesLaurentiu Palcu1
If BBPATH references the working directory, the user is warned and asked to fix the problem. [Yocto #1465] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12cmd1.bbclass: Ensure ncurses is built and used for menuconfig tasksRichard Purdie1
Currently, the task just exits if something goes wrong. This adds the ncurses-native dependency. It also adds a small delay before closing the window so any messages displayed there can be seen. Trying to get the kernel build system to correctly find and link with our copy of ncurses is some kind of nightmare. I ended up having to add it to HOST_LOADLIBES globally for this task which is rather nasty but I couldn't find any other way. [YOCTO #2513] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12package_rpm: Verify that the package manifests are not emptyMark Hatle1
An empty manifest will cause a failure condition. We ensure that any install actions occur only with a manifest larger then size 0. Also ensure that padding is added to the end of the manifest, instead of the beginning to enable this size check. (Padding is required for very small manifest files..) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12rootfs_rpm.bbclass: Update database configuration fileMark Hatle2
Move the creation of the database configuration files to just before we perform the install actions. This ensures they will exist even in SDK or other non-target filesystem images. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12package_rpm: Add capability to directly query packageoriginMark Hatle1
Add functionality to RPM to directly query the packageorigin (path) from the resolver database, instead of having to do this via an indirect method. This results in a minor performance improvement. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12rpm: Upgrade RPM to 5.4.8 (db to 5.3.15)Mark Hatle1
RPM 5.4.8 requires db 5.3.x, so both are upgraded together. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12gnomebase: add GNOME_COMPRESS_TYPE variableSaul Wold1
Upstream Gnome projects are starting to migrate to the .xz compress format, so we need to add this to allow recipes to override the default of .bz2 as the upstreams make the transition. [YOCTO #2241] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variablesKhem Raj1
In some cases we need to specify linker flags and right now we do not have a way to communicate that to cmake based systems. cmake defines CMAKE_C_LINK_FLAGS and CMAKE_CXX_LINK_FLAGS for these needs. This patch therefore defines two local variables namely OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS which can be altered by recipes to tweak linker flags Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-06-08rootfs_rpm.bbclass: save rpmlib rather than remove itRobert Yang2
The rpmlib was removed when images that add "remove_packaging_data_files" to ROOTFS_POSTPROCESS_COMMAND, which would make the increment rpm image generation doesn't work in the second build, since list_installed_packages would get incorrect value in the second build, move the rpmlib to ${T} rather than remove it, and move it back when INC_RPM_IMAGE_GEN =1. [YOCTO #2440] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08archiver.bbclass: Reduce some duplication for function get_licensesXiaofeng Yan1
The content to modify this bbclass is as follow: - Use the existing functions to get license as a directory instead of rewriting it for avoiding code duplication. - Use SPDXLICENSEMAP to map licenses [YOCTO #2473] Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08insane.bbclass: Make ldd exec_prefix error reporting easier to readMark Hatle1
Remove the long obtuse sysroot path from the ldd output. Make the error message significantly easier to read and understand. Old Style: WARNING: QA Issue: keyutils: /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/work/i586-oe-linux/keyutils-1.5.5-r1/packages-split/keyutils/sbin/request-key links to something under exec_prefix WARNING: QA Issue: ldd reports: libkeyutils.so.1 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/usr/lib/libkeyutils.so.1 (0xdead1000) libc.so.6 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/libc.so.6 (0xdead2000) /lib/ld-linux.so.2 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/ld-linux.so.2 (0xdead3000) New style: WARNING: QA Issue: keyutils: /sbin/request-key, installed in the base_prefix, requires a shared library under exec_prefix (/usr): libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0xdead1000) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05license.bbclass: optimize pkg runtime dataElizabeth Flanagan1
This fixes an ugly way I was trying to find pkg runtime data for package and license manifest creation. rootfs generation times for core-image-minimal: Prior to patch real 0m41.570s user 1m40.466s sys 0m6.768s With patch real 0m27.527s user 0m9.833s sys 0m3.496s Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Conflicts: meta/classes/license.bbclass
2012-06-05license.bbclass: Adding PV to package.manifestElizabeth Flanagan1
Per request, adding the package version to the package manifest file. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-06-05archiver.bbclass: Improve the usability for the archiver classesXiaofeng Yan1
The usability of the archiver classes can be improved, beyond the simple addition of default values for the variables. A user could well inherit just archiver rather than the individual useful classes, and not realize it will do nothing. [YOCTO #2472] Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2012-06-05cpan.bbclass: Fix config error while patches to Makefile.PLXin Ouyang1
If there is a patch to Makefile.PL, a Makefile.PL but no Makefile will be placed in ${B}/.pc/xxx.patch/ after do_patch. And no Makefile will be generated for *this* Makefile.PL. While do_configure, the original code tries to sed Makefiles matching with each Makefile.PL in {B}, so this would fail. Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
2012-05-30update-alternatives: Fix absolute symlink handlingRichard Purdie1
After the class changes, absolute symlinks are not being handled correctly by the class file. This adds handling for absolute symlinks to account for the pkgdest directory, removing dangling symlink messages from recipes like bzip2. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30package.bbclass: Add warning about FILES containing '//'Richard Purdie1
'//' in a FILES variable causes hard to track down issues with packaging. This adds a warning and attempts to auto-correct the issue to try and make the problem more user friendly. [YOCTO #2448] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30Revert "meta: replace os.popen with subprocess.Popen"Richard Purdie7
This reverts commit e83d8e58a6b107eea87df0ec233a1bc932b2c6e as the conversion is not correct. Its replacing readlines() calls which generate an array with what are effectively strings. There are split("\n") calls missing in many cases so this needs to be reverted until it gets fixed.
2012-05-30classes/sanity: fix a couple of grammatical errors in messagesPaul Eggleton1
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30ccache: Separate out into its own classRichard Purdie3
Currently, ccache is used if it is present. When building from scratch it gives no performance improvement and creates a ton of empty directories even when its not in use. This change moves ccache support to a bbclass file which the user can choose to enable. This should make builds more determinstic and make it easier/clearer to the end user when its being used and when it is not. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30scripts/cp-noerror: Add a special copy function to fix autotools issuesRichard Purdie1
Currently we copy the aclocal directory to the build so that autotools doesn't see .m4 files disappear when its processing them. This can happen if for example, package X is being rebuilt at the same time as Y and it gets uninstalled from sstate (assuming there are no dependencies between X and Y). This code making the copy was added to avoid races but introduces a race of its own, namely that the files can disappear during the copy. This patch adds a cp-noerror script which silently ignores such errors and gives the behaviour we need in this case. It hence fixes issues which crop up for users and the autobuilder occasionally. [YOCTO #2485] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30classes/sanity: send sanity check failure as a separate event for HobPaul Eggleton1
In order to show a friendlier error message within Hob that does not bury the actual sanity error in our typical preamble about disabling sanity checks, use a separate event to indicate that sanity checks failed. This change is intended to work together with the related change to BitBake, however it has a check to ensure that it does not fail with older versions that do not include that change. Fixes [YOCTO #2336]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30classes/sanity: remove broken TARGET_ARCH checkPaul Eggleton1
The variable name has been typo'd as TARGE_ARCH since it was introduced some time ago, so the check has never worked. Fixing the typo shows that the test is not quite functional, so let's just remove it: http://lists.linuxtogo.org/pipermail/openembedded-core/2011-October/010613.html Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30meta: replace os.popen with subprocess.PopenRobert Yang7
Replace os.popen with subprocess.Popen since the older function would fail (more or less) silently if the executed program cannot be found There are both bb.process.run() and bb.process.Popen() which wraps the subprocess module, use it for simplifying the code. Note: We don't need the "2>/dev/null" or "2>&1" since bb.process.run() can handle it, it will raise exception when error occurs, we should handle the exception ourselves if we want to ignore the error. More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2454] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30meta: replace os.system with subprocess.callRobert Yang11
Replace os.system with subprocess.call since the older function would fail (more or less) silently if the executed program cannot be found More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2454] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30update-alternatives.bbclass: Change from using PN to BPNMark Hatle1
In order to better support multilib processing, switch from PN to BPN. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-05-30update-alternatives.bbclass: Refactor the implementationMark Hatle3
Refactor in order to: * Deprecate the old interfaces, but keep them for compatibility * Provide a new, interface -- capable of working with split packages * Each update-alternative will now set proper "per-file" provides Note: this adds a warning message when the older deprecated behavior is used. The older behavior has been fully tested using oe-core. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-05-25image.bbclass: Ensure ${S} is cleaned at the start of rootfs generationRichard Purdie1
Some image classes such as bootimg save files into ${S} as part of rootfs generation. For correctness we should therefore clean this at the start of image generation to ensure reproducibility. I found this issue when some files I thought should disappear from my rootfs would not disappear. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25package.bbclass: Add additional debugging for dependenciesMark Hatle1
When trying to understand why a QA wanring such as: ERROR: QA Issue: foo rdepends on bar-dev it is very difficult to figure out where the bar-dev dependency comes from, since many of them are added dynamically. This adds a debug statement that says which dependency adds an rdepends to the system. Also, while doing this work, it was noted that the same dependencies were being scanned for over and over. Instead we shorten the list by only added to the dep list if the dependency was not already there. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-05-25utils.bbclass: remove the unused oe_systemRobert Yang1
The following functions in meta/classes/utils.bbclass were not used by anyone, and they didn't work when I tried to use them: def oe_popen_env(d): def oe_run(d, cmd, **kwargs): def oe_popen(d, cmd, **kwargs): def oe_system(d, cmd, **kwargs): There error was: AttributeError: type object 'str' has no attribute 'getVar' We have bitbake/lib/bb/process.py to instead, so remove them. [YOCTO #2489] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-05-24sanity.bbclass: check sanity at BuildStarted rather than ConfigParsedJoshua Lock1
This enables a user to use bitbake -e even when the sanity checks are failing. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-24sanity.bbclass: catch an extra exception in check_create_long_filenameJoshua Lock1
The call to bb.mkdirhier() in check_create_long_filename() can fail with an OSError, explicitly catch this and report something useful to the user. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-24sanity.bbclass: add extra information when SSTATE_CACHE unusableJoshua Lock1
If the user does not have write permissions to SSTATE_CACHE, detected by the check_create_long_filename() test failing with a "Permission denied" value in strerror, then suggest they might want to use the location as an entry in SSTATE_MIRRORS. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-24sanity.bbclass: add newline to check_create_long_filename failure messageJoshua Lock1
Each failure in the sanity message should be reported on a new line. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-24sanity.bbclass: data.getVar(VAR, obj, exp) -> obj.getVar(VAR, exp)Joshua Lock1
Replace calls to data.getVar(VARIABLE, data_object, expand) to direct calls to the getVar method the the data_object. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-24sanity.bbclass: copy the data store and finalise before running checksJoshua Lock1
At the ConfigParsed event the datastore has yet to be finalised and thus appends and overrides have not been set. To ensure the sanity check is being run against the configuration values the user has set call finalize() on a copy of the datastore and pass that for all sanity checks. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-24Revert "sanity.bbclass: check user can read and write to SSTATE_DIR"Joshua Lock1
This has caused problems for several users, including the Yocto Project autobuilder. Since the message was added in order to be more user friendly revert the change. This reverts commit 0c0c4efbf92bcf0f8942f17c18525a4b4ed1798c.
2012-05-24distutils.bbclass: don't delete .pyo filesAndreas Oberritter1
* Deleting .pyo files causes them to get compiled on the target. * First boot gets *really* slow for python based projects. * No space gets saved on the target. * The package manager doesn't know about the files and therefore fails to uninstall them, occupying space and causing uninstalled python scripts to remain executable. * It's inconsistent, because python itself and autotools based projects already ship .pyo files. * Probably .pyo files were deleted because .pyc files were available earlier, but this has changed and OE-Core's python now only generates optimized .pyo files. Deletion of .pyo was introduced in 2008, python/04-default-is-optimized.patch was introduced in 2009. Signed-off-by: Andreas Oberritter <obi@opendreambox.org>