summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
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>
2012-05-24package_rpm.bbclass: Fix incremental rpm image generationRobert Yang1
Fix the incremental rpm image generation, it didn't work since the code has been changed. The btmanifest should have a ".manifest" suffix, so that it can be moved to ${T} by rootfs_rpm.bbclass: mv ${IMAGE_ROOTFS}/install/*.manifest ${T}/ Note: The locale pkgs would always be re-installed. [YOCTO #2440] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-05-24classes/base: add checksum file list at parse timePaul Eggleton1
Connect the new fetcher file checksum code so that we get a list of the files to be checksummed at parse time. The file-checksums flag will not be read unless we are using a version of BitBake that supports the function we call within it, so it is safe to include this change even when the metadata will still be used with older versions of BitBake. Implements [YOCTO #2044]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-05-20libc-package: Add sh4 and mips64 to arch optionsKhem Raj1
needed for new architecture support Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-05-20kernel-arch.bbclass: Map mips64{el} to mips KARCHKhem Raj1
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-05-20insane.bbclass: Add mips64{el} to known machinesKhem Raj1
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-05-18sstate.bbclass: Make sure we don't have an empty fixmepath fileMark Hatle1
Jason Wessel noticed that a package without any fixmepath entries would generate a sed warning about no input files. This patch resolves that by ensuring that an empty fixmepath file never gets written into the sstate archive. Also we avoid a second message by only doing xargs if we got input. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18multilib.bbclass: Added multilib specific package QA.Lianhao Lu1
Added a new PACKAGEFUNCS function to check the multilib packages' dependency. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18(libc-)package.bbclass: Added MLPREFIX to locale packages.Lianhao Lu2
Added multilib prefix to the locale related package names/dependencies. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17sanity.bbclass: check user can read and write to SSTATE_DIRJoshua Lock1
The user needs read and write permissions to SSTATE_DIR, check whether they have sufficient permissions and if not recommend use of SSTATE_MIRRORS. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-17archiver.bbclass: Add two default set for avoiding error when missing assignmentXiaofeng Yan1
Add two default set(SOURCE_ARCHIVE_LOG_WITH_SCRIPTS, \ SOURCE_ARCHIVE_PACKAGE_TYPE) to archiver.bbclass for avoiding \ building error when forgetting to assign to them. Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2012-05-17meta/classes/sstate.bbclass: ensure sstate files have group R/WJoshua Lock1
In order to make sharing sstate files easier chmod them with 0664 permissions so that they are readable and writable by the user and any other members of their group. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-17kernel.bbclass: add deploy link to KERNEL_IMAGETYPEChristopher Larson1
It's common to provide a non-machine-suffixed link in DEPLOY_DIR_IMAGE, so let's be consistent and do so here as well. Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2012-05-16classes/mirrors.bbclass: Point snapshot.debian.org mirror to working locationKhem Raj1
If you point to snapshot.debian.net/archive/pool then it will fetch you a html page which will end up in corrupt download. The locations have changed for archives and here we point the mirror to right location. Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-05-15sstate.bbclass: Optimize the generation and install path fixupsMark Hatle1
The fixmepath file that is generated contains a list of all of the files that need their paths fixed. In the previous version the fixmepath was generated to include all of the files that sed may have changed. In the new version, we first grep the files to see if they contain a path that needs to be changed, only then do we perform the sed operation on those files. This results in a modest performance increate in the creation of the sstate file. The following numbers include the do_package and do_populate_sysroot tasks on the perl recipe. Before the change: real 4m23.018s user 1m57.067s sys 1m33.327s After the change: real 4m13.083s user 1m54.062s sys 1m26.064s However, a more significnt performance gain is felt during the extraction/install of sstate cache files, as the fixmepaths file now has a significantly smaller list of files to modify. Before the change: real 0m39.798s user 0m11.158s sys 0m12.642s After the change: real 0m25.511s user 0m8.408s sys 0m5.077s (All numbers above were recorded with a cold filesystem cache on a machine with 12 GB of ram.) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-13classes/rootfs_*: fix splitting package dependency stringsPaul Eggleton2
If a + character appears in a version specification within the list of package dependencies, the version will not be removed from the list in list_package_depends/recommends leading to garbage appearing in the dependency graphs generated by buildhistory. To avoid any future problems due to unusual characters appearing in versions, change the regex to match almost any character. Fixes [YOCTO #2451]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-12package.bbclass: Drop dubious use of packages[0] from do_split_packages and ↵Richard Purdie1
do_split_locales As the comment says, using packages[0] is rather broken and can be incorrect, as demonstrated by the recent gdk-pixbuf change. Replacing it with PN is a bit more correct and more likely to do what was originally intended by this function. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11kernel-yocto: export GUILT_BASE to devshellBruce Ashfield1
One of the patch backends to linux-yocto is guilt, which normally tracks patches under .git. But .git isn't something that can be checked into a SCM and repeated. So it has been moved under meta/patches and committed to the meta branch. If devshell is used, GUILT_BASE isn't set, so patch manipulations will fail. We export GUILT_BASE and point it at the meta directory when devshell is invoked for linux-yocto. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-05-11package.bbclass: Drop EXPORT_FUNCTIONS use against mapping_rename_hookRichard Purdie4
The usage of this function renaming and it being called using bb.build.exec_func() causes needless indirection loops, confusing log files and seems generally pointless. This simplification makes the process much simpler and faster. I can't come up with a good reason why the export_functions functionality is needed for this function. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11sstate.bbclass: Improve sstate_installpkg performanceMark Hatle1
In a pathological case, lots of files to process, the sstate_installpkg performance was very poor. It interated over each file and ran 3 individual sed commands per file. Changing this to keep iterating but running only a single command took about 1/3 time time. However, when looking at the corresponding sstate_hardcode_path function, it was clear we could optimize this further. Using the same encoding logic to specify only the minimumal sed operation necessary, and using xargs to avoid the os.system call the install step was able to be performed in 13% of the original time. Example timing numbers for perl: 3m7s original code 1m20s single sed, but interating 0m26s using xargs and limited sed Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11typecheck.bbclass: update per current variable typing codeChristopher Larson1
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
2012-05-11sanity.bbclass: Detect empty $PATH components tooPeter Seebach1
Empty components in $PATH have the same effect as a . in $PATH, and are a common side-effect of inserting a misspelled or unset shell variable in $PATH. Signed-off-by: Peter Seebach <peter.seebach@windriver.com>