summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
* lib/oe/sstatesig.py: add signature data query functionPaul Eggleton2012-09-101-0/+81
| | | | | | | | | | | Add a function that can be used from BitBake code which will find signature data (sigdata/siginfo) files based on specified criteria, and hook it into BitBake as bb.siggen.find_siginfo. (From OE-Core rev: 9f0453c29891e32f8038c4bbc22ada28bfbf818a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: Switch to using nativesdk as a prefix, not a suffixRichard Purdie2012-09-021-1/+1
| | | | | | | | | | | | | | | As discussed on the mailing lists, using a suffix to package names is hard and has lead to many recipes having to do PKGSUFFIX games. Its looking extremely hard to scale nativesdk much further without hacking many recipes. By comparison, using a prefix like multilib does works much better and doesn't involve "hacking" as many recipes. This change converts nativesdk to use a prefix using the existing multilib infrastructure. (From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: Convert to use classextend.pyRichard Purdie2012-09-021-0/+4
| | | | | | | | | | | | This patch converts the nativesdk class itself from operating as a suffix to a prefix (see the proceeding patch for the related changes outside this class). The big benefit here is that we can reuse the generic class extension code. (From OE-Core rev: f01f0b8aed25af889f48fe1afff96feb3d9ed120) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: use unique ids for screen sessionsJason Wessel2012-08-251-1/+3
| | | | | | | | | | | | | | | | | | When running multiple sets of builds on the same system, it is hard to distinguish which build belongs to which screen session and you can end up resuming the wrong session. The simple solution is to just append the process id to the screen session invocation to make each unique. (From OE-Core rev: 1677b736bca5dc46db522da1874459d2de77209d) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* utils.py: Modify and rename distro_features_backfill python functionAndrei Gherzan2012-08-171-3/+6
| | | | | | | | | | | This function was written to be used with DISTRO_FEATURES. This behavior is usefull with MACHINE_FEATURES as well. (From OE-Core rev: 8ae08529e844c9e065c1d260535a777f85d8c6cc) Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: reduce the numeric delta to 10%Ross Burton2012-08-061-1/+1
| | | | | | | (From OE-Core rev: f6effbf62351761430438cfcce285c982271239c) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: correctly handle reductions of numeric fieldsRoss Burton2012-08-061-1/+1
| | | | | | | (From OE-Core rev: 94fffb92e6a7a8021fb1acb06b9c4218703e23b2) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: ignore removal of self-dependenciesPaul Eggleton2012-08-061-1/+5
| | | | | | | | | | | The recent removal of self-dependencies for dbg/dev packages produced a fair amount of noise, so filter it out since we know this is a reasonable change. (From OE-Core rev: 3ec608462e4cb1eb77b6addbae1bda84fd76e4d2) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: tidy up duplicate split_version functionPaul Eggleton2012-08-061-19/+1
| | | | | | | | | | This function is now provided by bb.utils and since we have now bumped the minimum bitbake version, we can switch to that one instead. (From OE-Core rev: 67a4d15f0a8032190e92026677150162a492a053) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: record PKG/PKGE/PKGV/PKGRPaul Eggleton2012-08-061-1/+21
| | | | | | | | | | | | | | | | | | | | Save PKG (the actual output package name, which is often different due to debian renaming), and PKGE/PKGV/PKGR (which may be manipulated in certain special cases e.g. gitpkgv.bbclass in meta-oe, the external-sourcery-toolchain recipe, etc.) Note that these are only written when they are different from the normal package name in the case of PKG, or PE/PV/PR for the other variables. Also, use PKGE/PKGV/PKGR instead of PE/PV/PR when comparing package versions since these actually represent the version that the package manager sees. Implements [YOCTO #2787]. (From OE-Core rev: 65d7e9b2d4d8115ac9fd513c04f39a2df9556a5a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: save preinst/postinst/prerm/postrmPaul Eggleton2012-08-061-1/+49
| | | | | | | | | | | | | Write the value of these package script variables into the packageinfo so that any changes to them can be tracked (in separate files since they are multi-line). Inspired by an earlier patch from Andreas Müller <schnitzeltony@googlemail.com> (From OE-Core rev: 988a417c857c01c87de6ba9602968059cf8d830f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/lsb.py: Map unknown distributions to 'Unknown'Richard Purdie2012-07-311-2/+8
| | | | | | (From OE-Core rev: e12df2ca5c71ad672ebbfefbc47cabbac3333d61) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/lsb: Add basic LSB functionsRichard Purdie2012-07-281-0/+28
| | | | | | | | | | | | | This code was written by Christopher Larson <chris_larson@mentor.com> and allows generation of the LSB release data based upon the lsb_release command. It also includes a helper function to generate a string representing a given distribution. (From OE-Core rev: 458bdfe1cc4872e901ea3c38f497bfea6cf4c8cb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib: remove test.pyPaul Eggleton2012-07-261-3/+0
| | | | | | | | | | | This looks like it was added by accident in OE-Core revision 7903433898b4683a1c09cc9a6a379421bc9bbd58. (From OE-Core rev: eb4d9b7348215a68b7933308d905e839d852a1d6) 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>
* Remove a number of unneeded import os/bb callsRichard Purdie2012-07-198-12/+0
| | | | | | | | | | The bb and os modules are always imported so having these extra import calls are a waste of space/execution time. They also set a bad example for people copy and pasting code so clean them up. (From OE-Core rev: 7d674820958be3a7051ea619effe1a6061d9cbe2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: Fix Xfce on ubuntu/debian; some cleanupJeffrey C Honig2012-07-181-19/+18
| | | | | | | | | | | | | | * Xfce class was setting and passing wrong variable for ubuntu/debian. * Xfce class was using -e instead of -x for passing command. The former creates a shell escape nightmare * Clean up local and instance/class variables with same name but different usage. * Remove side-effect and directly return formatted command for clarity. (From OE-Core rev: b2ee5c5e34cdc3d65ca7b5da3486360a74d6c500) Signed-off-by: Jeffrey C Honig <jeffrey.honig@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig.py: Exclude git-native from sstate checksumKhem Raj2012-07-171-4/+2
| | | | | | | | | | | | | | | | | | | gcc exposed this issue where cross gcc recipes were not having same task checksums as libgcc or gcc-runtime the target recipes which use same shared workdir and it was triggering the unpack fetch and patch tasks to reexecute and hence the trouble Now that we have more than 1 package to consider lets combine the check Thanks RP for help and this is on the line of patch 793ce6cd9aa632e0f13789c8293770a86085d28d (From OE-Core rev: 72cc3df204c4b838cc0358a7ac989adfdd5c1760) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagedata.py: Fix get_subpkgedata_fn for multilibMatthew McClintock2012-07-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | This happens when tryng to add libgcc-dev to as a multilib package (e.g. IMAGE_INSTALL_append = " lib32-libgcc-dev") | Processing task-core-boot... | Processing fman-ucode... | Processing dosfstools... | Processing lib32-libgcc-dev... | Unable to find package lib32-libgcc-dev (libgcc-dev)! NOTE: package fsl-image-full-1.0-r1.1.3.6: task do_rootfs: Failed RPM (or bitbake?) is looking in the tmp/pkgdata, however some of these file paths are mungned for the multilib scenario: $ find tmp/pkgdata/ | grep libgcc-dev$ tmp/pkgdata/ppce5500-fsl-linux/runtime/lib32-libgcc-dev tmp/pkgdata/ppc64e5500-fsl-linux/runtime/libgcc-dev This patch fixes where we look for these files so they can be found and properly installed for the multilib root file system (From OE-Core rev: 4e65ddda5d351bd9f2172e77e656903f61a52f34) Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig.py: Exclude subversion-native from sstate checksumsRichard Purdie2012-07-051-0/+4
| | | | | | | | | | | If we don't do this, target and cross recipes end up with different sstate checksums for shared work directory tasks which is bad in the case of gcc. It leads to multiple fetch/unpack tasks against the shared directory which ends up with build failures/races. (From OE-Core rev: 793ce6cd9aa632e0f13789c8293770a86085d28d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: fix error when version specifier missingPaul Eggleton2012-05-301-1/+1
| | | | | | | | | | Passing None to split_versions() will raise an exception, so check that the version is specified before passing it in. (From OE-Core rev: 90caa605bd24279e4a9204e279492754119a8a55) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: replace os.system with subprocess.callRobert Yang2012-05-301-1/+2
| | | | | | | | | | | | | | | 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] (From OE-Core rev: a07d03cc6f67c88feb9813ae7deb6e4a93552dfe) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe/process.py: remove it since it is unused and duplicatedRobert Yang2012-05-251-74/+0
| | | | | | | | | | | | | The meta/lib/oe/process.py is only used by oe_run and oe_popen in meta/classes/utils.bbclass, and they will be removed, we have a better one: bitbake/lib/bb/process.py, which can replace of it. [YOCTO #2489] (From OE-Core rev: d56062cbf92ef206bf06c767befacb66927a9a36) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.types: give the regex type more sane semanticsChristopher Larson2012-05-171-0/+31
| | | | | | | | | | | | | | | | | | | | | | | Currently, if a variable is unset or has an empty value, the regex type will return a match object which always matches. Not all variable types will necessarily have the same behavior for handling defaults. I believe that returning a match object which matches nothing when a variable is unset is superior to returning one which matches anything, and the user can always explicitly request anything via '.*', if that's what they want. This constructs a null pattern object which will never match, and uses it when encountering an unset or empty variable (currently, these two things are one and the same, as maketype is handling the default. we may well want to shift that logic into the individual types, giving them more control over default behavior, but currently the behavior is at least relatively consistent -- no difference between unset and empty variables). (From OE-Core rev: dc7e4a79d9a1884b4c5705ef3173613958204b50) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.py: fix behaviour of copyleft_complianceEric Bénard2012-04-041-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | actually if a package has a license in its LICENSE variable which is not in the whitelist nor in the blacklist and even if an other license in this variable is in the whitelist, the package gets excluded and is not taken in account in the copyleft_compliance. This patch solves this by excluding a recipe _only_ if the LICENSE variable includes a pattern from the blacklist and including a recipe only if it includes a variable from the whitelist _and_ none from the blacklist. Example in busybox which has LICENSE="GPLv2 & BSD-4-Clause", with the actual behaviour (where he blacklist contains only CLOSED Proprietary) we get : DEBUG: copyleft: busybox-1.19.4 is excluded: recipe has excluded licenses: BSD-4-Clause which is not sane because busybox is covered by a copyleft license which is GPLv2 and should match the default whitelist which is GPL* LGPL*. (From OE-Core rev: 987d06447d2eacf2e01f08e29469c00fbb0ef1db) Signed-off-by: Eric Bénard <eric@eukrea.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: avoid printing PE/PV/PR more than oncePaul Eggleton2012-03-211-3/+5
| | | | | | | | | | Don't print PE/PV/PR changes as related field changes of related field changes (i.e. only print them once at the top level). (From OE-Core rev: 33046605549501bed9ceff102614d86ba54a5891) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: report if all items removed from a listPaul Eggleton2012-03-211-1/+4
| | | | | | | | | If all items have been removed from a list then state that explicitly. (From OE-Core rev: 2434a751e9684058786d4595cef3678d397f3c39) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: skip FILELIST changes for dbg packagesPaul Eggleton2012-03-211-0/+2
| | | | | | | | | | Don't report when files are added or removed from dbg packages unless it results in the package being empty. (From OE-Core rev: ee57a989188519dd40310cb5576cbff4b247ad95) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: hide version number increases in dependenciesPaul Eggleton2012-03-211-4/+47
| | | | | | | | | | | If an item in RDEPENDS or RRECOMMENDS only increases in its version number then don't report it as a change, since we don't care about it. This significantly reduces the noise after upgrades. (From OE-Core rev: f72b2a1bda35a99292063c1cc6ff563b397e190d) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: use bb.utils.explode_dep_versionsPaul Eggleton2012-03-211-2/+9
| | | | | | | | | | | | Previously this had its own implementation of splitting a list of packages with optional version e.g. "libncurses-dev (>= 5.9)"; switch to using the already existing bitbake function which does this as it is much better tested. (From OE-Core rev: de21a483063d9803c4ce1d62b03913ccad2931bd) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: fix duplicate PE/PV/PR in related fieldsPaul Eggleton2012-03-191-1/+1
| | | | | | | | | | | | Since PE, PV and PR appear in both the recipe history and package history files these were showing up twice when they were added as related fields to monitored changes. Only add them when the path is exactly the same. (From OE-Core rev: 406d025a15ff15a2edf39f00e0ea4e6b821b224a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* path.py: add make_relative_symlink methodScott Garman2012-03-131-0/+27
| | | | | | | | | | This method allows you to convert an absolute symlink into a relative one. (From OE-Core rev: 71062c1e0fb45a4b4e58ea5d217706aa2b402d88) Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* prservice: Added sanity check for prservice connection.Lianhao Lu2012-03-081-1/+17
| | | | | | | | | | Fixed bug [YOCTO #2052]. Added sanity check for variables of PRSERV_HOST and PRSERV_PORT, also for the connection availabity of prservice. (From OE-Core rev: 7588a4f2e2728da0ff7a773b18527f3711b138f2) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)Richard Purdie2012-03-052-7/+7
| | | | | | | | sed \ -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data.expand *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie2012-03-052-3/+3
| | | | | | | | | | | | Using "1" with getVar is bad coding style and "True" is preferred. This patch is a sed over the meta directory of the form: sed \ -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \ -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \ -i `grep -ril getVar *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/patch.py: Fix and improve PatchTree() resolver logicRichard Purdie2012-03-021-12/+53
| | | | | | | | | | | | | | | | | | | | | | | | Currently, if PATCHRESOLVE is user and and PatchTree() is being used, you can get backtraces if patch application fails. This is because even in the failure case, self._current is incremented, meaning second time around, there are array range issues. This patch changes the code so _current is only incremented upon successful patch application, thereby resolving this failure. Secondly, if you bitbake -c patch -f a recipe using PatchTree(), the clean method was unimplemented leading to patch failures. The other part of this patch changes the logic so a series file and set of applied patches are maintained in a quilt like fashion. This means a the Clean method can be implemented correctly and rerunning the patch task of an existing patches source now works reliably. [YOCTO #2043 partially] (From OE-Core rev: f0fc47aea37793a62c43f10eea27ca014c420924) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: add SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS option to exclude well ↵Martin Jansa2012-02-261-0/+6
| | | | | | | | | defined recipe->dependency (From OE-Core rev: d73c139fd73ee268d29837db6ccc69c412022d6e) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distro_check: fix the fedora URL for rleases as they seem to have movedSaul Wold2012-02-241-3/+3
| | | | | | | (From OE-Core rev: eb2d70e02d299ab651aebda49d2006aef16b4ae0) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* conf/bitbake.conf: add DISTRO_FEATURES_BACKFILLPaul Eggleton2012-02-241-0/+20
| | | | | | | | | | | | | | | | | | | When introducing new items to DISTRO_FEATURES that control functionality that is already enabled, in order to leave existing distro configuration unchanged we need a way to "backfill" these new feature items onto the existing DISTRO_FEATURES value. This introduces a DISTRO_FEATURES_BACKFILL variable whose items will be added to the end of DISTRO_FEATURES, unless they also appear in DISTRO_FEATURES_BACKFILL_CONSIDERED which distros can use in their configuration to prevent specific items from being added. Fixes [YOCTO #1946]. (From OE-Core rev: 738658d9d5ddef026d2929188744aa225324bf26) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig.py: Move package exclusion list to the layer configRichard Purdie2012-02-231-4/+6
| | | | | | | | | | | | | its desireable for other layers to be able to append to the list of packages with 'safe ABI's which are excluded from the sstate signatures. I can't emphasise enough how careful you need to be with this list, anything excluded here needs to be things which don't change interface and are consistent between different machines. (From OE-Core rev: 5adef35691a956c3071c0a1ed1caf6b58d1ec5a1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig.py: Add handling for machine specific module dependenciesRichard Purdie2012-02-231-6/+20
| | | | | | | | | | | | | | | | | | Adding dependencies on machine specific recipes from generic packages causes a rebuild of the generic package per machine if using signatures for the stamp files which is unacceptable. We need to declare that RRECOMMENDS on kernel-module-* are safe and that we shouldn't care about these machine specific dependencies from a stamp perspective. This change adds code which does this. It depends on a change in bitbake to expose the dataCache object which can be used to make the calculations we need to allow this to work correctly. (From OE-Core rev: 91fc672756d45086cdf4e9c6de8e920dcd8cd14e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/utils.py: use bb.utils.vercmp_stringAndreas Oberritter2012-02-231-1/+1
| | | | | | | | | | | | Fixes the following warning: | WARNING: .../meta/lib/oe/utils.py:31: DeprecationWarning: Call to deprecated function bb.vercmp_string: Please use bb.utils.vercmp_string instead. | result = bb.vercmp(d.getVar(variable,True), checkvalue) (From OE-Core rev: 925a9729afaa9cd498661f7f363112c974b023a2) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: correctly split RDEPENDS/RRECOMMENDSPaul Eggleton2012-02-211-2/+12
| | | | | | | | | | Split RDEPENDS and RRECOMMENDS correctly (which may contain version number specifications after each item). (From OE-Core rev: d974ed4330f33c4f8dfd635a83c61a0d44e688b6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: avoid noise due to reorderingPaul Eggleton2012-02-211-3/+14
| | | | | | | | | | | | | Avoid noise in the output due to reordering of list variables (except for PACKAGES where we just report that the order changed). Recent changes to the buildhistory class itself will avoid this reordering from occurring but this allows us to examine the results before and after those changes. (From OE-Core rev: e23c5b01766602c9c86b0a7ba170fb3b1aceb658) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig.py: Exclude common machine specific dependencies from task ↵Richard Purdie2012-01-251-0/+4
| | | | | | | | | | | | | | signatures Where we have machine specific recipes with well defined behaviour, it makes no sense to rebuild recipes with these as dependencies whenever the machine changes. This patch lists those well behaved recipes and excludes them from the task signatures so we can change MACHINE without invalidating existing PACKAGE_ARCH binaries. (From OE-Core rev: 07e34778fc74126af1380bf249fd34a5e3df12c2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe: Add sstatesig, OE specific signature generator classesRichard Purdie2012-01-231-0/+48
| | | | | | | | | | | | | | | This patch adds SignatureGenerator classes specific to OE. For now, these emulate the previous behaviour with the exception that dependencies on quilt-native are now ignored for checksum purposes. The intent is to allow easier experimentation and customisation of this code in future as a result of these changes. Note that these changes require pending bitbake patches. (From OE-Core rev: cb73cf4299a192e6065d567fae700987c3f937aa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: include related fields in outputPaul Eggleton2012-01-191-25/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, when a value changes in the buildhistory it is useful to know when a related (but not necessarily itself monitored) value changes as it can help explain the change. For example, when the list of installed packages for an image changes it could be caused by a change to one of the image-related variables. Related field changes are recorded as sub-items of each change. Currently the only way to visualise these is via the buildhistory-diff tool, so an example would be: Changes to images/qemux86/eglibc/core-image-minimal (installed-package-names.txt): locale-base-de-de was added procps was added * IMAGE_LINGUAS: added "de-de" * IMAGE_INSTALL: added "procps" Here we see that two additional packages have been added to the image, and looking at the related changes to the two variables IMAGE_INSTALL and IMAGE_LINGUAS we have the explanation as to why. (From OE-Core rev: 2c5b90c6d1b1091779602ebe03e84674eb63ea83) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/patch: avoid backtrace when patch does not applyPaul Eggleton2012-01-191-5/+5
| | | | | | | | | | | | | | We don't need to see a Python stack backtrace when a patch does not apply, just the error output from patch, so trap these kinds of errors and ensure that we display the message and fail the task and nothing else. Fixes [YOCTO #1143] (From OE-Core rev: ce6c80a1e68c2af0b4b5fa27582ad9c9f119e5c1) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: improve field handling robustnessPaul Eggleton2012-01-191-10/+19
| | | | | | | | | | | | | | | | | Avoid errors when comparing changes for KEY = value files (package info files and image-info.txt): * Handle keys appearing and disappearing - this will help to handle PE in package info files (which is only written when it is not blank) and when we add additional fields in future. * Handle when old value is 0 for numeric field (avoid division by zero) * Report when numeric field was empty or missing rather than 0 (but still treat it as 0 for comparison purposes) (From OE-Core rev: 255d4bbf4d1e430d45f5fafb7d1c77d9ea67e174) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory_analysis: correctly handle whitespace when splitting listsPaul Eggleton2012-01-191-2/+2
| | | | | | | | | | | | Don't specify any argument to the split() function when handling changes to list type variables (e.g. PACKAGES) so that the values are split by any whitespace and only split once for a block of multiple whitespace characters. (From OE-Core rev: 15ad5d2c0e92fefdbb7c0cf064134b1cabfd84ac) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: record additional image infoPaul Eggleton2012-01-191-22/+29
| | | | | | | | | | | | | | | | | Record some additional information about images - the uncompressed size of the final image as well as the values of various variables that may have influenced its contents. This is recorded in a machine-readable "image-info.txt" file similar in structure to the package history files. Also add some code to analyse changes to these values. (Most of the variable values aren't monitored directly but will be used as contextual information when they change at the same time as the content of the image changing.) (From OE-Core rev: 459ed6759a307b389f6ec1874136ec9aa0749120) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>