summaryrefslogtreecommitdiffstats
path: root/meta/classes/buildhistory.bbclass
AgeCommit message (Collapse)Author
2016-04-05classes/buildhistory: fix filtering of depends-nokernel.dotPaul Eggleton
For images we produce a number of filtered dependency .dot files for readability, the first of which is depends-nokernel.dot which filters out just the kernel itself (not kernel modules). Unfortunately the filter specifications hadn't been updated for the dash-to-underscore removal or the 4.x kernel upgrade, thus the filtering wasn't actually doing anything. (From OE-Core rev: ec1077bed0c1538084bceeafb957abe725b13b76) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-05classes/buildhistory: optimise getting package size listPaul Eggleton
Invoking oe-pkgdata-util in turn for every package in the list was slow with a large image. Modify oe-pkgdata-util's read-value command to take an option to read the list of packages from a file, as well as prefix the value with the package name; we can then use this to get all of the package sizes at once. This reduces the time to gather this information from minutes to just a second or two. Fixes [YOCTO #7339]. (From OE-Core rev: 51c24904cc1bc823bccc3f179b8d7a192dace168) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-29buildhistory.bbclass: create image directory when neededPatrick Ohly
buildhistory_get_imageinfo() assumed that the buildhistory directory for the image had already been created earlier. That assumption is not true for special images (like the virtual swupd images from meta-swupd) where the entire traditional do_rootfs/do_image is skipped. Creating files-in-image.txt still makes sense for such images, so support them by creating the directory also in buildhistory_get_imageinfo(). (From OE-Core rev: 723328319ee53235969ec9cce7ff5d7729dcf8d7) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12classes/buildhistory: record a few more variables for extensible SDKPaul Eggleton
We've recently added SDK_EXT_TYPE and SDK_RECRDEP_TASKS and these will have an effect on the size and functionality of the SDK, so record them in sdk-info.txt. (From OE-Core rev: 1be0ae80f97bdee758232ec5397c09d73d57e1e0) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-15buildhistory.bbclass: remove out-dated information on requestPatrick Ohly
buildhistory.bbclass by design is incremental: each build adds or updates information. Information is never removed. Sometimes it can be useful to reduce the information only to those recipes that were build during a specific bitbake invocation, for example when the invocation does a full world build. This is now possible by setting BUILDHISTORY_RESET as explained in the modified class. The comment on the variable also mentions the caveats associated with using this mode. In this mode, buildhistory.bbclass first moves all existing information into a temporary directory called "old" inside the build history directory. There the information is used for the "version going backwards" QA check. Then when the build is complete and before (potentially) committing to git, the temporary directory gets deleted. Because information that has not changed during the build will be reconstructed during full world rebuilds, a git log will then only show real updates, additions and removals. (From OE-Core rev: 51f4eb5bfcd25f7160e50314f433cad126aa3e9a) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-15classes/buildhistory: fix for python function parsing changePaul Eggleton
Variable expressions are no longer expanded in python functions as of BitBake commit 8bf33a8e92c0e188fa392030025756196c96fcbb, so we've now got to do this explicitly here. (From OE-Core rev: 60fd4ff61a4ad240a89d48553002901c10e93178) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-14buildhistory: Fix regex to handle versions without spacesRichard Purdie
Its valid to have dependencies like XXX (=2.1) without spaces, as injected by debian.bbclass. The code was breaking these into separate components and destroying them so improve the regex to handle them. (From OE-Core rev: 613e96b06202f31870be411ca45b44237ae55b1c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30buildhistory: fix the check for existence of a git repoMarkus Lehtonen
Previously, in order to determine the existence of an already initialized Git repository we checked if a directory named '.git' was present in the buildhistory dir. However, e.g. in the case of git submodules '.git' may also be a regular file referencing some other location which was causing unwanted behavior. This patch changes buildhistory.bbclass to check for any file named '.git' which fixes these problems. [YOCTO #8911] (From OE-Core rev: a5e931e0b1d941cc938fe2f49625c54b07fab0ce) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-20lib/oe/rootfs: Use list_pkgs() instead of list()Mariano Lopez
This patch changes the use list_pkgs() instead of list() from class RpmPkgsList. The change is in two functions, image_list_installed_packages from rootfs.py and sdk_list_installed_packages from sdk.py. With this change the functions calling the functions listed above, must format the output as they required. The formatting can be done using format_pkg_list() from oe.utils. The classes calling the afected functions are changed too with this patch, to keep the same functionality using the new data structure. [YOCTO #7427] (From OE-Core rev: 983ea373362514e5888bd1d7d9c4f136c94b00f2) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15classes/buildhistory: save auto.conf and bblayers.conf for extensible SDKPaul Eggleton
These form part of the configuration for the extensible SDK, we should really be recording what goes into them. (From OE-Core rev: bd1557bfd726e44c23ab6220867119c57ac6b596) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07classes/buildhistory: actually use KiB in extensible SDK sizes filesPaul Eggleton
I was using bytes here for the sizes and writing out KiB as the suffix. Change it to actually write out size values in KiB. (From OE-Core rev: e6b1840ee9aeb933f86fd2a92a90b94c1bc9db7c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28buildhistory: improve support for extensible SDKPaul Eggleton
* Ensure extensible SDK and standard SDK go into their own directories * Record extra extensible SDK variables * Write sstate-package-sizes.txt and sstate-task-sizes.txt files so you can analyse the size of the contents * Add BUILDHISTORY_SDK_FILES (similar to BUILDHISTORY_IMAGE_FILES) and default it to pick up config files installed in the extensible SDK (From OE-Core rev: 5f87ff116d9ccd5e95e638dfa84583169a3f99f3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-28buildhistory: fix not recording SDK informationPaul Eggleton
After OE-Core revision baa4e43a29e45df17eaa3456acc179b08d571db6 we lost recording SDK the contents in buildhistory. This was due to the SDK_POSTPROCESS_COMMAND variable being set with = in populate_sdk_base.bbclass which overwrote any value set with += in buildhistory.bbclass; to fix it, use _append in buildhistory.bbclass instead. Fixes [YOCTO #8839]. (From OE-Core rev: 11d1aa82ef4a00051e0a50a87a1efed1c50c73b5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01buildhistory.bbclass: support extending the content of the build historyPatrick Ohly
The idea behind the implementation of Yocto #8138 was that an additional class can write additional files in the recipe directories, for example by hooking into the functions of buildhistory.bbclass or by implementing its own SSTATEPOSTINSTFUNCS function. However, when these additional files get created before buildhistory_emit_pkghistory(), they get removed again by that function because it contains code which removes everything it does not know about. The reason for that is that these unknown items are probably obsolete. This logic is the reason why the additional "kconfig" file from buildhistory-extra.bbclass never showed up in the final build history. To fix this, the hard-coded list of known files in buildhistory_emit_pkghistory() must be turned into a variable which derived classes can extend. (From OE-Core rev: 97f77ea3313b0d79ae4a6090672a2a9344282262) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24bbclass: fix spelling mistakesMaxin B. John
Fix some spelling mistakes in bbclass files (From OE-Core rev: ed484c06f436eea62c5d0b1a2964f219f3e5cb61) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16classes/buildhistory: split package history values only oncePaul Eggleton
We don't actually use values we read in here that are likely to contain = characters but we might as well split the value properly in case we do in future. (From OE-Core rev: afe100436bdeefb024b924ee27ad68830f085ff4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30classes/buildhistory: add build result to commit messagePaul Eggleton
We have the command in the commit message, we might as well have the build result as well (succeeded/failed and whether or not it was interrupted by the user). The interrupted part relies upon a change to BitBake to extend the BuildCompleted event to include an attribute for that, but will not fail if the attribute is not present. (From OE-Core rev: 6ca7f5c0d0f024ae5d21368188e3428534cab2a4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30classes/buildhistory: include metadata revisions in commit messagePaul Eggleton
We do already commit these into the repository itself, but have them in the commit message as well as a reference. As part of this, refactor out running "git commit" into a separate function so we don't have to duplicate the code in the two places we call it. Implements [YOCTO #7966]. (From OE-Core rev: c77a068e534b274dee7fb8a2399ecafd33da0587) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30classes/buildhistory: handle additional files at recipe levelPaul Eggleton
Avoid an error when attempting to remove previous data if it's not a subdirectory - we were assuming that anything that wasn't named "latest" or "latest_srcrev" had to be a directory. This makes it possible to have a buildhistory_emit_pkghistory_append which writes additional files at the recipe level. (From OE-Core rev: b018a046a578e41b105cf72b9fdeed0220ae3046) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30classes/buildhistory: fix permissions in package file listingPaul Eggleton
If we want the correct file permissions to show up here as they would on the target, we need to run the command under pseudo. Normally we'd set the fakeroot varflag on the function and that would be enough, but it turns out that setting fakeroot on a non-task function that you execute using bb.build.exec_func() isn't working at the moment. Work around this by simply using FAKEROOTENV and FAKEROOTCMD. Unfortunately that means we have to duplicate the command for the two cases but I couldn't find a better means of doing that that actually works. (From OE-Core rev: 1380aa333ed90559f4a24d52aefc52cadb60646c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30classes/buildhistory: tweak buildhistory_list_pkg_filesPaul Eggleton
* Avoid using ${...} for shell variables (since they could be expanded as bitbake variables if present) * Use files-in-package.txt rather than files-in-<packagename>.txt; the file is already in a subdirectory named with the package name and this naming is consistent with that of files-in-image.txt. (From OE-Core rev: 6f3992728613c39403ef59bbcf1cb67d9e8c526b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30classes/buildhistory: indent recently added function consistentlyPaul Eggleton
Shell functions use tabs in this file. (From OE-Core rev: 14eba06baacca25213e35afa7bfd126fc1f5586a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30classes/buildhistory: exclude . in file listingsPaul Eggleton
We don't care about the permissions on the top-level directory in which the files are contained, just everything under it; this also avoids lists with just this entry in it for empty packages. Affects file listings for both images and packages. (From OE-Core rev: d503122646b1b148113a4be31b7e88723459dae6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-30classes/buildhistory: ensure we push when "no changes" commits are madePaul Eggleton
If there aren't any changes, we still make a commit to the buildhistory repo, but this wasn't being pushed if BUILDHISTORY_PUSH_REPO is set. Move the push to the end to make it unconditional. (From OE-Core rev: af2fc914975d06fdd75a65d4b00cf9f5c1610528) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-16buildhistory.bbclass: Check output folder is present before creating ↵Leonardo Sandoval
files-in-$pkg.txt This is just a safe check to make sure the output folder is present, before creating the files-in-$pkg.txt file. (From OE-Core rev: d48233cb1fd84f1061a8ba3c15bacc180e93934c) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-27buildhistory.bbclass: Create a files-in-<pkg>.txt containg recipe's pkg filesLeonardo Sandoval
A file similar (in format) to files-in-image.txt is created for each recipe's build package. This would allow to easily see what the recipe's package may install when including it into an image. These files reside on the specific buildhistory recipe package (i.e. buildhistory/packages/i586-poky-linux/busybox/busybox-dev/files-in-busybox-dev.txt for busybox-dev package) [YOCTO #5870] (From OE-Core rev: e013fe79cdf67429ff986d8ee6af510b34b31c9d) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-24classes/buildhistory: ensure that git user email and name are setPaul Eggleton
The git user.email and user.name settings must be set or the commit to the buildhistory repo (when BUILDHISTORY_COMMIT is set to "1") will fail. If the user hasn't set these, set some dummy values since the actual value is unlikely to be particularly useful and it's far worse for the commit not to be done leaving the repository in a partially set up state. Prompted by [YOCTO #6973]. (From OE-Core rev: f62255bfa6c5a322c867b7c4ea5686ea7bfab3fe) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14oe-pkgdata-util: improve command-line usagePaul Eggleton
* Use argparse instead of optparse for standardised help output, options and a much cleaner code structure * Look up pkgdata directory automatically so the user doesn't have to specify it * Use standard logging NOTE: this does mean a slight change in syntax - if you do want to specify the pkgdata directory (usually only necessary if you're calling it from within the build process) you need to use the parameter -p (or --pkgdata-dir) and specify this before the command, not after it. Examples: oe-pkgdata-util find-path /sbin/mke2fs oe-pkgdata-util lookup-recipe libelf1 oe-pkgdata-util read-value PKGSIZE libc6 oe-pkgdata-util -p /home/user/oe/build/tmp/sysroots/qemux86-64/pkgdata read-value PKGSIZE libc6 (From OE-Core rev: 04dc571ac7c26f0dcf1a1fcd466482e22519998d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03classes/image: ensure uninstalled packages do not appear in manifestsPaul Eggleton
Since the rewrite of the image construction code in python a few releases ago, we remove a couple of packages from the image as one of the final steps when constructing the image (notably update-rc.d and run-postinsts). However, because of the order of operations, these packages are still listed both in the buildhistory installed_package*.txt files and in the manifest file created next to the image, which is wrong. There were two possible solutions to this: (1) change the order such that the uninstallation occurs before calling ROOTFS_POSTPROCESS_COMMAND or (2) add another hook variable in such that we can have the package list collection code run at the right time. Because it's currently possible (but very much not recommended) to install additional packages within ROOTFS_POSTPROCESS_COMMAND, which may have postinstall scripts and thus require the packages we would otherwise uninstall if we were to take option 1, option 2 is really the least likely to cause problems. Therefore, add ROOTFS_POSTUNINSTALL_COMMAND and make the image and buildhistory classes use it. Fixes [YOCTO #6479]. (From OE-Core rev: b198a189228648057c3be7d068598f50841b3bf9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09image-buildinfo.bbclass: new class, writes build information to imageAlejandro Hernandez
Writes build information to target filesystem on /etc/build such as enabled layers, their current status and commit. squashspaces was moved to oe/utils.py to make it available to different classes and avoid code duplication. [YOCTO #6770] (From OE-Core rev: c9cc652e88ddedddf8a2f23fb9b8c024616526d7) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10classes/buildhistory: fix for sstate class changePaul Eggleton
SSTATEPOSTINSTFUNCS is now set with = in sstate.bbclass, and because the line here in buildhistory.bbclass ends up being parsed before that we now need to use _append or the value we are adding will be wiped out. This fixes buildhistory no longer recording package information since OE-Core revision 9d659c6f20fa4a141b491c62a3ef0dfb1f896d9c. (From OE-Core rev: b5c05b474554925524073023f3aac2532c87537f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-25buildhistory: Restore parsing time optimalizationMartin Jansa
* it was added in: http://git.openembedded.org/openembedded-core/commit/meta/classes/buildhistory.bbclass?id=540a2a30be21c3eca4323efbe91e7dcfc31a4c97 * then accidentally removed in: http://git.openembedded.org/openembedded-core/commit/meta/classes/buildhistory.bbclass?id=6db6c74f2876df7a183990426bb4262972966441 (From OE-Core rev: cbd868c34718e8fd2a41f5382da71ee959ea4e71) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-18buildhistory: rename build-id to build-id.txt and add more infoMartin Jansa
* use .txt extension like other reports (e.g. image-info.txt) it's also useful when looking at the file from web server which doesn't have text/plain as default content-type * include whole BUILDCFG_HEADER/BUILDCFG_FUNCS instead of just layer info * this makes it easier for distro to include more fields without the need to modify buildhistory.bbclass * currently it adds following fields: Build Configuration: BB_VERSION = "1.23.1" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Gentoo-2.2" TARGET_SYS = "x86_64-oe-linux" MACHINE = "qemux86-64" DISTRO = "shr" DISTRO_VERSION = "2013.07-next-20140725" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" (From OE-Core rev: 6db6c74f2876df7a183990426bb4262972966441) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08*.bbclass (shell): avoid pipe with sedMatthieu Crapet
Replace: cat <file> | sed -e xxx By: sed -e xxx <file> (From OE-Core rev: e2026f5d32ac05396615224ac9ec927439e7e6b4) Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25Globally replace 'base_contains' calls with 'bb.utils.contains'Otavio Salvador
The base_contains is kept as a compatibility method and we ought to not use it in OE-Core so we can remove it from base metadata in future. (From OE-Core rev: d83b16dbf0862be387f84228710cb165c6d2b03b) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21buildhistory.bbclass: create proper dependency files for SDKLaurentiu Palcu
The old functions were calling the list_installed_packages() wrapper function that only listed the packages in an image rootfs. Even for target/host SDK. Also, a python crash was possible if 'bitbake -c populate_sdk core-image-*' was called without calling 'bitbake core-image-*' first. That's because the wrapper was always looking into the image rootfs... This commit fixes the problem and calls the right wrapper for image/sdk. (From OE-Core rev: c1b1a6eb448aa1548e2ec669a9304b5a25bd8ba5) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-11buildhistory.bbclass: Fix dependency files creationLaurentiu Palcu
Call the new python routines. [YOCTO #5904] (From OE-Core rev: 570baf4921a5b34cc97834e670b143073d136dea) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07classes/buildhistory: fix task signatures changingPaul Eggleton
Fix task signatures for recipes that add to SSTATEPOSTINSTFUNCS changing when adding and removing INHERIT += "buildhistory" (really this time!) This relies on the BitBake vardepvalueexclude feature, however it will not fail without it - signatures will be changed in that case though. Part of the fix for [YOCTO #5897]. (From OE-Core rev: 27c8a9a282358b9a8a330252ee2104b250777b38) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20buildhistory.bbclass: fix creation of installed packages listLaurentiu Palcu
Call the new python routines to create the packages list. [YOCTO #5831] (From OE-Core rev: e8bd5b85f144a3260e30f67c3d231b324967be3f) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-13buildhistory.bbclass: create wrapper functions around ↵Laurentiu Palcu
buildhistory_get_sdk_installed bb.build.exec_func() does not allow passing arguments to the executed scripts. Use wrappers instead. (From OE-Core rev: c3dd44b751e351be52512e2aff885bf571c95fe5) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-11classes/buildhistory: avoid buildhistory triggering rebuilds (again)Paul Eggleton
Postfuncs are now incorporated into task signatures as of BitBake rev b84d010144de687667cf855ddcb41c9b863c236e, so we need to exclude the one we're adding to do_fetch. The change to the SSTATEPOSTINSTFUNCS variable value was also entering the signatures of do_populate_sysroot and probably other tasks, so we need to use a slightly hacky trick to avoid that as well. Apart from the final do_rootfs / do_populate_sysroot, this now means that adding and removing INHERIT += "buildhistory" will not cause tasks to be re-run. Also update the copyright date, properly this time. (From OE-Core rev: 953df67eb877a6d0fc68d122964440a9a47de3c3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-06classes/buildhistory: write out files in UTF-8 formatPaul Eggleton
If the package information contained unicode characters (for example, in the package file listing) then writing them out as ASCII would fail, so write them out using codecs.open() instead of open() using UTF-8. This fixes ca-certificates failing in do_packagedata when buildhistory is enabled. (From OE-Core rev: dcf228fe69bfee4e22baad477ad407248c0f9cdb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-03classes/buildhistory: fix expansion of escape sequencesPaul Eggleton
OE-Core commit 259b8718a31b886f8a158aeb5de164840c9a28b2 fixed UTF-8 errors but broke decoding of escape sequences in strings (e.g. pkg_postinst scripts had \n \t in them instead of newlines and tabs.) We need a second call to decode() here as specifying 'string_escape' as the second parameter won't do anything. (From OE-Core rev: 15e0cdff08b8b9b826bbb9f00192a27318a3ee65) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-28buildhistory.bbclass: Improve robustness in image file listingOtavio Salvador
The filenames sometimes may have strange names. With the 'awk' script it handled a limited number of spaces in the filename and a package installing a file named "test file with spaces" would have its name truncated. This patch uses the find's printf formating to simplify the code and properly handle this case. From a testing image, the only diff produced is: ,----[ files-in-image.txt diff ] | --rwxr-xr-x root root 0 ./usr/bin/test\ file\ with\ | +-rwxr-xr-x root root 0 ./usr/bin/test file with spaces `---- The options used are available since findutils 4.2.5, released in 19 Nov 2004, making it available in all supported host distributions. (From OE-Core rev: b09e24449c1c9ae335732dd070eacf66777556a1) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-18buildhistory: be quiet when garbage collecting the git repoRoss Burton
(From OE-Core rev: b117403423f700eb4cc6967b9fb8ff3e2858e279) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-10buildhistory.bbclass: Specify lang in decoding stringsKhem Raj
On systems where default locale is utf-8 we get errors like File: 'buildhistory.bbclass', lineno: 38, function: write_pkghistory 0034: if pkginfo.rconflicts: 0035: f.write("RCONFLICTS = %s\n" % pkginfo.rconflicts) 0036: f.write("PKGSIZE = %d\n" % pkginfo.size) 0037: f.write("FILES = %s\n" % pkginfo.files) *** 0038: f.write("FILELIST = %s\n" % pkginfo.filelist) 0039: 0040: for filevar in pkginfo.filevars: 0041: filevarpath = os.path.join(pkgpath, "latest.%s" % filevar) 0042: val = pkginfo.filevars[filevar] Exception: UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 337: ordinal not in range(128) This patch specifies decode to use utf-8 so ascii and utf-8 based locales both work (From OE-Core rev: 259b8718a31b886f8a158aeb5de164840c9a28b2) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-09buildhistory.bbclass/image.bbclass: remove obsolete codesRoy Li
After 1b8e4abd2d9c0 [bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory], oe-pkgdata-util does not use target_suffix parameter, so do not need to loop the vendor (From OE-Core rev: 03c5f39b4d7dd8c81e0a130b7d5884e5af039a24) Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-05classes/buildhistory: fix reading of package-specific values from pkgdataPaul Eggleton
When writing out variable values to pkgdata, if the value has been set in the datastore with an override for the package, we use the package name override in the pkgdata key as well; however the recently added code to read pkgdata in buildhistory.bbclass was just using the override where we normally expect to have it. However, if a recipe overrides one of the values that is normally set for the recipe on a per-package basis (e.g. the external-sourcery-toolchain recipe sets PKGV this way) then this led to KeyErrors. Re-write the pkgdata loading code to always strip off the package name override if it is present. (From OE-Core rev: e40e8e574b3688400a668d3ad76b6cef1920e3e0) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-03classes/buildhistory: do git garbage collection after committingPaul Eggleton
We don't normally perform any operations (such as "git pull") that trigger "git gc --auto", thus garbage collection never happens which means performance of accessing the repository degrades noticeably over time. Add an explicit "git gc --auto" to clean things up when needed. Thanks to Elijah Newren and Ross Burton for suggesting this. (From OE-Core rev: 4a45a999e0ad2e99581428a5a6d34f483c00544f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-03classes/buildhistory: reduce parsing timePaul Eggleton
Disable several python functions if not parsing within the worker context. This avoids executing expensive operations while parsing recipes (which is unnecessary). (Thanks to Richard Purdie for pointing out the issue and suggesting the workaround.) (From OE-Core rev: 540a2a30be21c3eca4323efbe91e7dcfc31a4c97) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>