Commit Graph

84 Commits

Author SHA1 Message Date
Eric Bénard 029f3c6dec license.py: fix behaviour of copyleft_compliance
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>
2012-04-04 17:17:51 +01:00
Paul Eggleton 42c445bc04 buildhistory_analysis: avoid printing PE/PV/PR more than once
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>
2012-03-21 15:33:07 +00:00
Paul Eggleton 4db604cd3a buildhistory_analysis: report if all items removed from a list
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>
2012-03-21 15:33:07 +00:00
Paul Eggleton 275ef4900e buildhistory_analysis: skip FILELIST changes for dbg packages
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>
2012-03-21 15:33:07 +00:00
Paul Eggleton 9d8e5ab47a buildhistory_analysis: hide version number increases in dependencies
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>
2012-03-21 15:33:06 +00:00
Paul Eggleton 0b8a693fb4 buildhistory_analysis: use bb.utils.explode_dep_versions
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>
2012-03-21 15:33:06 +00:00
Paul Eggleton 32483f0562 buildhistory_analysis: fix duplicate PE/PV/PR in related fields
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>
2012-03-19 14:37:41 +00:00
Scott Garman 19e92dfe06 path.py: add make_relative_symlink method
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>
2012-03-13 11:52:11 +00:00
Lianhao Lu e189a7113c prservice: Added sanity check for prservice connection.
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>
2012-03-08 12:16:29 -08:00
Richard Purdie b1aeaa8b0d meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)
sed \
 -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
 -i `grep -ril bb.data.expand *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:23:53 -08:00
Richard Purdie 06f2f8ce0a meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)
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>
2012-03-05 10:22:56 -08:00
Richard Purdie d1168cc12a lib/oe/patch.py: Fix and improve PatchTree() resolver logic
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>
2012-03-02 16:22:48 +00:00
Martin Jansa 17fe2963c9 sstatesig: add SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS option to exclude well 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>
2012-02-26 10:56:45 +00:00
Saul Wold 3be2c7d611 distro_check: fix the fedora URL for rleases as they seem to have moved
(From OE-Core rev: eb2d70e02d299ab651aebda49d2006aef16b4ae0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 23:25:51 +00:00
Paul Eggleton 72ce5c4cde conf/bitbake.conf: add DISTRO_FEATURES_BACKFILL
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>
2012-02-24 16:37:07 +00:00
Richard Purdie 26882fdd67 sstatesig.py: Move package exclusion list to the layer config
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>
2012-02-23 22:52:22 +00:00
Richard Purdie 77988c32f1 sstatesig.py: Add handling for machine specific module dependencies
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>
2012-02-23 22:52:22 +00:00
Andreas Oberritter 571c9c7980 lib/oe/utils.py: use bb.utils.vercmp_string
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>
2012-02-23 22:52:21 +00:00
Paul Eggleton 5aec33be72 buildhistory_analysis: correctly split RDEPENDS/RRECOMMENDS
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>
2012-02-21 17:59:38 +00:00
Paul Eggleton 79eb4b8fdb buildhistory_analysis: avoid noise due to reordering
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>
2012-02-21 17:59:38 +00:00
Richard Purdie 0bf6f8035c lib/oe/sstatesig.py: Exclude common machine specific dependencies from task 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>
2012-01-25 14:30:56 +00:00
Richard Purdie 85cf3ed593 lib/oe: Add sstatesig, OE specific signature generator classes
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>
2012-01-23 09:01:39 +00:00
Paul Eggleton 967de59f35 buildhistory_analysis: include related fields in output
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>
2012-01-19 14:59:23 +00:00
Paul Eggleton 11e5d7bc81 classes/patch: avoid backtrace when patch does not apply
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>
2012-01-19 14:34:34 +00:00
Paul Eggleton 5cf28333a7 buildhistory_analysis: improve field handling robustness
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>
2012-01-19 14:34:33 +00:00
Paul Eggleton c1cebf6a2b buildhistory_analysis: correctly handle whitespace when splitting lists
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>
2012-01-19 14:34:33 +00:00
Paul Eggleton 2f4f8ef0fc buildhistory: record additional image info
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>
2012-01-19 14:34:32 +00:00
Christopher Larson 19247e44a3 oe.license: avoid the need to catch SyntaxError
(From OE-Core rev: cace9ddc0edd654877d968643960fa4343472b58)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:19 +00:00
Christopher Larson 7ce97336aa oe.license: add is_included convenience function
Given a license string and whitelist and blacklist, determine if the
license string matches the whitelist and does not match the blacklist.

When encountering an OR, it prefers the side with the highest weight (more
included licenses). It then checks the inclusion of the flattened list of
licenses from there.

Returns a tuple holding the boolean state and a list of the applicable
licenses which were excluded (or None, if the state is True)

Examples:

    is_included, excluded = oe.license.is_included(licensestr, ['GPL*', 'LGPL*'])
    is_included, excluded = oe.license.is_included(licensestr, blacklist=['Proprietary', 'CLOSED'])

(From OE-Core rev: 7903433898b4683a1c09cc9a6a379421bc9bbd58)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:19 +00:00
Lianhao Lu a05e3a57c6 meta/PRService: Added export/import fuctions.
[YOCTO #1556]
- Modified meta/class/package.bbclass and prserv.bbclass according to
the change in PR service by adding PACKAGE_ARCH into the query tuple.

- Added prexport.bbclass, primport.bbclass to export/import AUTOPR
  values from/to PRService.

- Move PR service related common code to lib/oe/prservice.py.

- Supported reading the AUTOPR values from the exported .inc file
instead of reading it from remote PR service.

- Created a new script bitbake-prserv-tool to export/import the AUTOPR
values from/to the PR service.

Typical usage scenario of the export/import is:
1. bitbake-prserv-tool export <file> to export the AUTOPR values from
the current PR service into an exported .inc file.

2. Others may use that exported .inc file(to be included in the
local.conf) to lockdown and reproduce the same AUTOPR when generating
package feeds.

3. Others may "bitbake-prserv-tool import <file>" to import the AUTOPR
values into their own PR service and the AUTOPR values will be
incremented from there.

(From OE-Core rev: 9979107d8eaf503efd921564385859b1e83dbb3c)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 10:37:43 +00:00
Paul Eggleton fcc5f6883c buildhistory: add script to check for significant changes
Adds a buildhistory-diff script which can be used to analyse changes in
the buildhistory git repository (as produced by buildhistory.bbclass),
and report significant ones that may need manual checking to ensure they
aren't regressions (e.g. package size changed by more than a certain
percentage, files added/removed/changed in the image, etc.)

The implementation is actually split into a small script and a Python
module, in order to make the logic re-usable in a future web-based
interface.

Implements the first part of [YOCTO #1566].

(From OE-Core rev: 5e5cbb9bd8cdce402b979680288ac8c51799a24d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-06 12:11:30 +00:00
Richard Purdie 8e43f9a751 multilib: Abstract class extension code into classextend.py
(From OE-Core rev: 563828bad19a242bba9ce3db461bb5807037dfdf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-05 12:36:29 +00:00
Christopher Larson 9fb67f895c oe.license: add license flattening code
This flattens a license tree by selecting one side of each OR operation
(chosen via the user supplied function).

(From OE-Core rev: 6984961314c8ba2aceab9acabb658f96ed249fef)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:29 +00:00
Christopher Larson a57de1ac9d license: split license parsing into oe.license
In addition to moving this functionality to oe.license, makes the string
preparation more picky before passing it off to the ast compilation. This
ensures that LICENSE entries like 'GPL/BSD' are seen as invalid (due to the
presence of the unsupported '/').

(From OE-Core rev: 20d4068045c76e9dc2aff0c152dd02d6a109c9dd)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:29 +00:00
Christopher Larson 91378835c6 oe.test_types: move into an oe.tests package
(From OE-Core rev: 36cc35b4cbb91049a63daa7c915f538047db0f76)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-08 15:24:29 +00:00
Richard Purdie 0a434ac101 getVar/setVar cleanups
Complete the bb.data.getVar/setVar replacements with accesses
directly to the data store object.

(From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-27 10:25:34 +00:00
Richard Purdie c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:

sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Richard Purdie 9d1f10ed01 patch: Convert to use oe_terminal
Unfortunately we can't access oe_terminal directly from patch.py
so we have to pass in the correct terminal function pointer.

[YOCTO #1587]

(From OE-Core rev: 9e0a21dda24f285a1c4878488e887485a749f3f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-04 17:05:32 +00:00
Joshua Lock 0f24f2dd70 lib/oe/terminal: add support for XFCE's terminal emulator
That's Terminal on Fedora and xfce4-terminal on Ubuntu/Debian... This
could get interesting!

(From OE-Core rev: 162b70a36388ac44fc1b39e172cd53579707bff3)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-01 14:51:37 +00:00
Samuel Stirtzel ff1781576b data.py: fixed message domain errors
The dynamic message domain was introduced by Richard Purdie with the following patch:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a6c48298b17e6a5844b3638b422fe226e3b67b89

(From OE-Core rev: 55a8382e460430dc5ff10755d235d637531d2ae7)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:58 +01:00
Samuel Stirtzel fb8483e216 patch.py: fixed message domain errors
The dynamic message domain was introduced by Richard Purdie with the following patch:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a6c48298b17e6a5844b3638b422fe226e3b67b89

(From OE-Core rev: 2383e06c8ed7c15aa148b9dbe40445e7095b6f57)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 14:36:58 +01:00
Saul Wold efc88ff010 distrodata: fix distro_check code
This fixes a problem with package names from inherits showing up

(From OE-Core rev: edb2a11994ac21e790155ea519bded4b37ef9307)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:50 +01:00
Paul Eggleton 9b5175255b lib/oe/terminal.py: declare konsole from KDE 4.x as unsupported
Konsole 2.x (from KDE 4.x) does not work as devshell - it does not pass
the environment or current working directory through among other issues,
so do a version check and disable it if it is found (skipping to the
next available terminal application.)

(From OE-Core rev: ee57cd7deb778dc72e58668d8c71cf840a3bc0d9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-19 04:52:48 +01:00
Chris Larson d0552e9c65 oe.terminal: improve how we spawn screen
- Name the screen session 'devshell', to avoid confusion if running bitbake
  itself under a screen session.
- Display a warning message when spawning screen, so it's clear to the user
  that screen has been run (otherwise do_devshell just appears to hang).

(From OE-Core rev: 13e01d29d14e7e7403d0c45c5699ea9160243868)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Chris Larson 057cc1e816 Rework how the devshell functions
In the new implementation, each known terminal is defined as a class in
oe.terminal, as a subclass of bb.process.Popen.  terminal.bbclass wraps this
functionality, providing the metadata pieces.  It obeys the OE_TERMINAL
variable, which is a 'choice' typed variable.  This variable may be 'auto',
'none', or any of the names of the defined terminals.

When using 'auto', or requesting an unsupported terminal, we attempt to spawn
them in priority order until we get one that's available on this system (and
in the case of the X terminals, has DISPLAY defined).  The 'none' value is
used when we're doing things like automated builds, and want to ensure that no
terminal is *ever* spawned, under any circumstances.

Current available terminals:

    gnome
    konsole
    xterm
    rxvt
    screen

(From OE-Core rev: 69f77f80965fa06a057837f8f49eda06855c4086)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Richard Purdie 9b227ae991 lib/oe/util.py: Add MLPREFIX support to prune_suffix()
prune_suffix() also needs be aware of MLPREFIX when changing PN for
use in BPN.

(From OE-Core rev: 20dd241052afa5ff80b91ebf09b0b48765bc3412)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 16:18:50 +01:00
Richard Purdie 3300065035 lib/oe/utils: 'Fix' oe.utils.contains() behaviour
Currently oe.utils.contains(X, "A", true, false) will return true for substring matches,
e.g. if X = "ABC". This is not what most users expect from the function.

In the common OE use of this function there is the case of "touchscreen" and "screen" being
used as independent variables. Whilst it could be argued there isn't a problem in that
specific case (touchscreens are usually on screens), there is no substring usage of this
function is OE-Core so this patch changes the behaviour to match only full strings.

It also fixes a bug where duplicate entries would confuse multiple matches, e.g.
contains(X, ["A", "B"], ...) would match X = "A A" which is clearly wrong.

(From OE-Core rev: 5c09cbe3bf456e968fc853827698eb18b62e8348)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-26 12:05:39 +01:00
Chris Larson 3b97ea13c8 oe.classutils: add module
This adds a ClassRegistry utility metaclass, as maintaining a class registry
is a fairly common thing to do.

(From OE-Core rev: 6a46c375bea03b145bea41ec29ae2fd4d3cd9db6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28 13:55:43 +01:00
Richard Purdie 2fd3fc0b5e packagedata.py: Fix read_subpkgdata_dict()
If both VAR and VAR_foo are in subd, we need to ensure VAR_foo gets
returned. Currently the code would work randomly. The only current
user is the rpm packaging backend.

(From OE-Core rev: ad098e40e8c57727892819e131bf18308bf244d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-23 16:02:40 +01:00
Chris Larson d7735182c1 packagedata: don't choke on empty PACKAGES
(From OE-Core rev: 54ecf8e3992b8a01c2e5bd16720e1819b71b68bd)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 19:07:51 +01:00