Commit Graph

238 Commits

Author SHA1 Message Date
Ross Burton 0aad8decf0 base.bbclass: don't backfill features that already exist
It's too easy to cause rebuilds because the DISTRO_FEATURES have changed in
meaningless ways (such as re-ordering or duplicate items).  Help stop this by
checking if the feature to be back-filled is already present.

(From OE-Core rev: 63c7192119d54b92d908441109ed4e4fff761cba)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-10 04:36:52 +00:00
Anders Roxell 02d2a5e68c distro_check: Remove creation of empty Meego filelist.
This fixes permissions errors when running distrodata.

(From OE-Core rev: c58e6cf352774e147038e6543ac95ab0060f2327)

Signed-off-by: Anders Roxell <anders.roxell@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-12 13:22:44 +00:00
Enrico Scholz 8c22531e49 lib/oe/path.py: support missing directory components in realpath()
Some use cases in OE operate on symlinks which dangling path components.
Assume that these are directories instead of raising ENOENT.

(From OE-Core rev: a96e2c84f24c15b77ee1fbc1f998b8b4796b8664)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11 22:45:25 +00:00
Enrico Scholz 21b6ff9bc3 lib: implemented oe.path.realpath()
Various parts of the buildsystem have to work with symlinks. Resolving
them is not trivial because they are always relative to a sysroot
directory.

Patch adds a function which returns the destination of a symlink by
assuming a given path as the / toplevel directory.  A testsuite was
added too.

(From OE-Core rev: 76e0bd7f8e3a3bd052a6e329f88e2d8099e899c4)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11 14:46:11 +00:00
Paul Eggleton 98755bd799 buildhistory_analysis: handle more R* variables
Report changes to RPROVIDES, RREPLACES, and RCONFLICTS. As RSUGGESTS
isn't widely used and isn't of huge concern if it changes, it is not
reported by default.

Implements [YOCTO #3391].

(From OE-Core rev: d20011571db96da79a8a0e056c6cef8e4c083608)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11 14:46:10 +00:00
Richard Purdie b34fd60d8f package: Process package stripping in parallel
(From OE-Core rev: 981fed49ee80560fb067b3f47aeada1fdee792ca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06 13:12:59 +00:00
Richard Purdie d81aa06ece package.bbclass: Multithread per file dependency generation code
(From OE-Core rev: b659eb0f2070149d9516c129b3853b41fbbd1033)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06 13:12:59 +00:00
Richard Purdie dd61d22584 sstate/path.py: Add copyhardlinktree() function and use for performance optimisation
Add a function which copys a tree as a set of hardlinks to the original
files, then use this in sstate to reduce some of the overhead of sstate
package creation since the file isn't actually copied.

(From OE-Core rev: 8e373e69acac853213a62afb8bbdf0adc0c5045a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06 13:12:59 +00:00
Constantin Musca 10f05d5b58 classextend.py: use explode_dep_versions2 in order to preserve versions too
(From OE-Core rev: a5136a9bf70f3a6d7d0b599678cb901c8e45c7f7)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06 09:37:26 +00:00
Bruce Ashfield 12e76e123f multilib: skip packages that provide virtual/kernel
Rather than keying on recipes that inherit kernel.bbclass, we should
be checking for providers of virtual/kernel when skipping kernel
recipes in multlib builds.

Not all providers of virtual/kernel inherit kernel.bbclass (notably
linux-dummy), so checking on the provider is a more complete check.

We need to be sure to check for inheritance of module-base as well, this
allows for packages that provides modules to avoid the multilib renaming.

(From OE-Core rev: dc7d181ab03ceab87a24d932130109003334dbf8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-01 15:54:00 +00:00
Martin Jansa 2f1aba504c prservice.py: fix NameError: global name 'host' is not defined
* http://git.openembedded.org/openembedded-core/commit/?id=e00f49de8b1f79c3e07b887d257bd75a46052fa0
  removed host and port variables

(From OE-Core rev: 494439c95d33b2ad457cc205413680b0bf176560)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25 14:12:36 +00:00
Constantin Musca 8aa508970a prserv: change PRSERV_HOST semantics
- remove PRSERV_PORT variable
- use 'hostname:port' as PRSERV_HOST format
- remove USE_PR_SERV variable
- one can activate PRS by setting PRSERV_HOST

[YOCTO #3744]

(From OE-Core rev: e00f49de8b1f79c3e07b887d257bd75a46052fa0)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-25 12:42:43 +00:00
Richard Purdie e651c1a109 lib/oe/patch: Use force option when creating symlinks to patches
Under the scenario where you have an existing source tree and you then
change one of the patches, maybe to be architecture or machine specific,
then rebuild, the build will fail since the symlink already exists
but should now point at a different file.

The easiest fix is to tell the system to remove and recreate the link
which is done with the force option.

(From OE-Core rev: 4741b90b170bc96e3a24f9c1dce871af060bc4d5)

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>
2012-12-17 17:24:57 +00:00
Paul Eggleton b660a10e47 buildhistory_analysis: fix broken list length checks
Fix erroneous use of .count instead of len(), which unfortunately is not
reported by Python as an error in a numeric comparison.

(From OE-Core rev: 63fd76190f503660119dcc8efdcfc6fbff406c26)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-06 13:51:38 +00:00
Muhammad Shakeel ef05a7fe17 qa.py: Toolchain path should not be hardcoded to execute objdump
Currently objdump command is invoked from the STAGING_BINDIR_TOOLCHAIN
directory. In case of external toolchain if this directory doesn't
exist then objdump fails to execute. Instead of hardcoding the path
it should search PATH to find it.

(From OE-Core rev: a3a0e29d5d796fdf6755503cc31e45199b79d756)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-06 12:31:13 +00:00
Paul Eggleton 3e47343675 meta/lib/oe/sstatesig: fix locating stamp files
Fixes "bitbake-diffsigs -t" for changes to the stamp directory layout,
and this time uses the actual value of STAMP to get the location of
sigdata files in the stamp directory rather than trying to do it
manually, which should be a little more robust.

(From OE-Core rev: 82412ebabb0f89c694327ae38f7e864ee8511e7f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-05 15:26:41 +00:00
Muhammad Shakeel fafc87112e qa.py: Modify the env for the child process only
Modified environment is only required for new subprocess to execute
objdump command and not for the current process. We should only
modify the copy of env to pass it on to the child.

(From OE-Core rev: cb3b046450b47739daf441a0b964823aff2472e6)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-04 18:02:00 +00:00
Richard Purdie 78983e939a lib/oe/classextend: Ensure we don't extend expressions more than once
We could end up with MLPREFIX being prepended to variables like
PACKAGE_DYNAMIC. This patch avoids the problem and unbreaks builds.

[YOCTO #3389]

(From OE-Core rev: 5e4714a454f9f742bf8af70dad2aa66ccb87e3fd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-06 09:34:47 +01:00
Mihai Lindner b4e48cc66c distro_identifier: replace slash with hyphen
Use "-" instead of "/" in "n/a" strings ("Distributor ID" and/or
"Release"), provided by `lsb_release`.
This leads to directories and subdirectories created in ./sstate-cache/
e.g. Distro-n/a/ where "Distro-n" is dir and "a" is subdir.

(From OE-Core rev: c2a9f0c330f0da82792f87e3860b06c25b986983)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-27 09:44:59 +01:00
Mark Hatle 7e2ff7c012 multilib - crosssdk: Stop building multilib for crosssdk packages
Crosssdk packages are not actually multilib packages, so treat them
the same as other nativesdk packages in the multilib, base, and
classextend components.

(From OE-Core rev: 15834451525453e0f7ceac25d4f98117f1825f37)

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>
2012-10-27 09:44:55 +01:00
Mark Hatle ea22010560 multilib: Add support for cross-canadian multilib packages
Add support for the generation of cross-canadian packages.

Each cross-canadian package has:
 PN = "pkg-cross-canadian-${TRANSLATED_TARGET_ARCH}"

in order for that to be evaluated properly with multilibs enabled, it was
necessary to detect both the presence of the cross-canadian packages and
then update the vars using the OVERRIDE for the multilib.  Additional checks
were made to ensure that any dependency that sais "cross-canadian" did not
get prefixed with the MLPREFIX.

Also, make sure that even when building multilib cross-canadian packages,
we only use the single SDK PACKAGE_ARCH, we don't want or need variants.

(From OE-Core rev: 132a182e2f6c330aa645de42c1aeb386e43bddd3)

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>
2012-10-27 09:44:54 +01:00
Morten Minde Neergaard c45a7d127e terminal: Add support for running custom terminals.
Example config:
OE_TERMINAL = "custom"
OE_TERMINAL_CUSTOMCMD = "mysuperterm"

(From OE-Core rev: c76da87511d2668479745c2f18b8a9b8116c7489)

Signed-off-by: Morten Minde Neergaard <mneergaa@cisco.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-24 12:50:46 +01:00
Richard Purdie c4c37bcf1d multilib/clsextend: Improve handling of regexps in PACKAGES_DYNAMIC
Now that PACKAGES_DYNAMIC is more standardised, starting with ^ anchors,
the variable manipulations performed by clsextend for multilib don't work.

This patch at least improves it to hack around the problem and enable
mulitlib builds to work again. If this code doesn't do the right thing, the
recipe is free to override the variable with the correct multilib case.

(From OE-Core rev: 593faec6e0155bdd7a43ee84c24de8ee20287681)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22 14:59:29 +01:00
Richard Purdie 9da9e5d8ae lib/oe/packagedata: Use the PKGMLTRIPLETS variable
(From OE-Core rev: 26e16a5e5ee1059fb8e55ab915ae9cb8e2b54dcd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-22 09:47:46 +01:00
Phil Blundell f0a56f6d15 lib/oe/qa: Trap exceptions when running objdump
This avoids propagating a failure if we encounter an ELF file
that objdump can't parse for any reason.  Some versions and/or
configurations of objdump will refuse to read files for "the
wrong" architecture.

(From OE-Core rev: 11f5998e539f7b884ae1387252f8995b2dc7437f)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18 12:13:49 +01:00
Phil Blundell f8c90bce73 insane: Rationalise phdrs-based QA checks
Various different QA checks are based on essentially the same data from
the ELF program headers.  Calling objdump to extract it repeatedly is
inefficient, particularly if the shell is involved.  Instead, let's
cache the output from objdump inside the qa.elf object and allow it to
be reused by multiple tests.

Also, using objdump instead of scanelf to check for bad RPATHs (in the
same way that the useless-rpaths check was doing already) allows the
dependency on pax-utils-native to be dropped.

(From OE-Core rev: bf19eeb9f65e91bf2b5d89e7c0b099c55d7c15ff)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-18 12:13:49 +01:00
Saul Wold 09aaad16be distrodata: Update distrocheck functions
Fix the distro check functions for the change of nativesdk
being a suffix to a prefix. Also added crosssdk as another
case for converting to PN for matching in the distro_tracking

(From OE-Core rev: ae9dbd0e1e26ba2b35cbd08ec731aee62adedc23)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:37:33 +01:00
Paul Eggleton 3b664d0cfc buildhistory_analysis: update to use explode_dep_versions2()
Handle where multiple version specifications are present for the same
dependency.

(From OE-Core rev: 1600c916ae410c57a783a5aa35abe07a3f673311)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:18:29 +01:00
Richard Purdie 42e8c80567 packagedata/multilib: Fix search patch for multilib builds
The current multilib search path code for packagedata is flawed since it
doesn't correctly handle changes in the TARGET_VENDOR/TARGET_OS that
multilib may make. This patch enhances the code to correctly build the
search paths so multilib packagedata is found correctly.

(From OE-Core rev: f50c5d36b2da9b36d56d95a7d89404509a1a3e9b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:25 +01:00
Jason Wessel 86cf6daff9 terminal: Send LogExecTTY event to spawn screen
Bitbake has the ability to request to run a command
and if it is not possible fall back to emitting a
log message.  This can be used to start a screen
client automatically on the controling tty if
the UI has an interactive tty.

(From OE-Core rev: 39193bdce698b6339c3d7643eb3c1fcd2246fd56)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 15:35:30 +01:00
Jason Wessel 6e0713a3e7 terminal: pass data store all the way through to terminal class
Passing the data store will be needed for firing a custom event
for the screen class.

(From OE-Core rev: 5ccff8d44626bfd3d1af2a7f81f0567997277809)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 15:35:30 +01:00
Paul Eggleton 27f842eba5 lib/oe/sstatesig.py: add signature data query function
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>
2012-09-10 13:03:55 +01:00
Richard Purdie ad23395cd1 nativesdk: Switch to using nativesdk as a prefix, not a suffix
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>
2012-09-02 05:52:06 -07:00
Richard Purdie 58a8a38aa2 nativesdk: Convert to use classextend.py
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>
2012-09-02 05:52:05 -07:00
Jason Wessel 3405a8bbe4 terminal.py: use unique ids for screen sessions
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>
2012-08-25 14:47:01 +01:00
Andrei Gherzan 6bfb0c2d08 utils.py: Modify and rename distro_features_backfill python function
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>
2012-08-17 18:04:24 +01:00
Ross Burton a71dfcc338 buildhistory: reduce the numeric delta to 10%
(From OE-Core rev: f6effbf62351761430438cfcce285c982271239c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06 16:09:15 +01:00
Ross Burton 36c7c64519 buildhistory: correctly handle reductions of numeric fields
(From OE-Core rev: 94fffb92e6a7a8021fb1acb06b9c4218703e23b2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06 16:09:15 +01:00
Paul Eggleton 4bf1c0a7dc buildhistory_analysis: ignore removal of self-dependencies
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>
2012-08-06 15:29:46 +01:00
Paul Eggleton 507dba64e0 buildhistory_analysis: tidy up duplicate split_version function
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>
2012-08-06 15:29:46 +01:00
Paul Eggleton 81485a47d5 classes/buildhistory: record PKG/PKGE/PKGV/PKGR
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>
2012-08-06 15:29:46 +01:00
Paul Eggleton c0149ac6c4 classes/buildhistory: save preinst/postinst/prerm/postrm
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>
2012-08-06 15:29:45 +01:00
Richard Purdie 4f31d21bcb lib/oe/lsb.py: Map unknown distributions to 'Unknown'
(From OE-Core rev: e12df2ca5c71ad672ebbfefbc47cabbac3333d61)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31 08:02:11 +01:00
Richard Purdie f295e29b2e lib/oe/lsb: Add basic LSB functions
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>
2012-07-28 09:20:52 +01:00
Paul Eggleton 66009e28ec meta/lib: remove test.py
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>
2012-07-26 14:55:21 +01:00
Richard Purdie 73cf0335c4 Remove a number of unneeded import os/bb calls
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>
2012-07-19 12:24:50 +01:00
Jeffrey C Honig 76a16c0c11 terminal.py: Fix Xfce on ubuntu/debian; some cleanup
* 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>
2012-07-18 14:29:29 +01:00
Khem Raj 4240bd6824 lib/oe/sstatesig.py: Exclude git-native from sstate checksum
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>
2012-07-17 10:54:02 +01:00
Matthew McClintock 6a605120ca packagedata.py: Fix get_subpkgedata_fn for multilib
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>
2012-07-09 16:58:59 +01:00
Richard Purdie bf9a8ec7f2 lib/oe/sstatesig.py: Exclude subversion-native from sstate checksums
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>
2012-07-05 12:36:45 +01:00
Paul Eggleton 1fe254f123 buildhistory_analysis: fix error when version specifier missing
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>
2012-05-30 12:04:46 +01:00
Robert Yang e40995e569 meta: replace os.system with subprocess.call
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>
2012-05-30 12:04:45 +01:00
Robert Yang c071fd9b85 oe/process.py: remove it since it is unused and duplicated
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>
2012-05-25 11:17:54 +01:00
Christopher Larson 0c7720027b oe.types: give the regex type more sane semantics
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>
2012-05-17 21:13:08 +01:00
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
Chris Larson e3d0d9897e Move packagedata code into oe.packagedata (sync from OE)
(From OE-Core rev: e6858627ab087f2f25ebbd6c4422eeae35f3b0ac)

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
Chris Larson 2a05bd9be0 oe.packagegroup: add code for package groups (sync from OE)
This includes some utility functions for dealing with groups of packages
defined in the metadata.  Metadata syntax:

    PACKAGE_GROUP_<group> = "<list of packages>"

If the packages in the group are optional:

    PACKAGE_GROUP_<group>[optional] = "1"

(From OE-Core rev: 4df212e9c2a1dd7c80d180fd13b67e9f2799d3e1)

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
Chris Larson 4da8c86ca2 oe.data: expand the flags
(From OE-Core rev: 8b9de6d2ad2d351bbc288cbb12562806ba8edae2)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 17:34:22 +01:00
Chris Larson e4921fda5b Implement variable typing (sync from OE)
This implementation consists of two components:

- Type creation python modules, whose job it is to construct objects of the
  defined type for a given variable in the metadata
- typecheck.bbclass, which iterates over all configuration variables with a
  type defined and uses oe.types to check the validity of the values

This gives us a few benefits:

- Automatic sanity checking of all configuration variables with a defined type
- Avoid duplicating the "how do I make use of the value of this variable"
  logic between its users.  For variables like PATH, this is simply a split(),
  for boolean variables, the duplication can result in confusing, or even
  mismatched semantics (is this 0/1, empty/nonempty, what?)
- Make it easier to create a configuration UI, as the type information could
  be used to provide a better interface than a text edit box (e.g checkbox for
  'boolean', dropdown for 'choice')

This functionality is entirely opt-in right now.  To enable the configuration
variable type checking, simply INHERIT += "typecheck".  Example of a failing
type check:

BAZ = "foo"
BAZ[type] = "boolean"

$ bitbake -p
FATAL: BAZ: Invalid boolean value 'foo'
$

Examples of leveraging oe.types in a python snippet:

PACKAGES[type] = "list"

python () {
    import oe.data
    for pkg in oe.data.typed_value("PACKAGES", d):
        bb.note("package: %s" % pkg)
}

LIBTOOL_HAS_SYSROOT = "yes"
LIBTOOL_HAS_SYSROOT[type] = "boolean"

python () {
    import oe.data
    assert(oe.data.typed_value("LIBTOOL_HAS_SYSROOT", d) == True)
}

(From OE-Core rev: a04ce490e933fc7534db33f635b025c25329c564)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 17:34:22 +01:00
Mei Lei 60ab6fc60c Add a new task checklicense and fix some bugs in distro_check.py
distro_check.py: Create a new function called create_log_file to reduce a lot of repeat code in distrodata.bbclass.
                 We needn't to create log file in function save_distro_check_result, because the log file has been generated in check_eventhandler.
                 Another bug is that we maybe access the /tmp/Meego-1.0 before we create this file.
                 Add a judge statement to decide whether we need to create this file firstly.
distrodata.bbclass: Add a new task checklicense to collect missing text license information.
                    This can help package-report system to know how many recipes are missing license text.

(From OE-Core rev: b41148cda9f0cc292b662a8473f26bc1ee0148f3)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-17 15:14:44 +01:00
Martin Jansa 04b79d9395 lib/oe/process.py: import from OE
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-16 15:32:19 +01:00
Khem Raj 7a78b2104c oe/patch.py: Remove series file during Clean()
Currently if there is a failed do_patch the series files get appended
so if there were two patches

a.patch
b.patch
and b.patch failed during next run it would append a.patch again
a.patch
b.patch
a.patch

and this would keep growing.

We can remove series file in Clean() because we populate it in Import()
anyway

(From OE-Core rev: fd07744ae549c2f43b18d53e6ed16c20df6b4ef3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Chris Larson <chris_larson@mentor.com>
Acked-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-10 09:57:09 +01:00
Mei Lei 0e2eb05f46 distro_check.py: Fix some bugs in distro_check.py
The recipe meta-ide-support's alias is Poky, but not defined in distro_exceptions, this will lead an error.
The compare_in_distro_packages_list function omit a split process, this will lead to a form issue.
Change the log file generate way, use symbolic links link to the latest log file, instead of appending every log file in old log.

(From OE-Core rev: 123a7f49753aef4d5ccb5f5a5590c3c88775c6d0)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-04 00:54:36 +01:00
Richard Purdie d3c4fa4737 lib/oe/distro_check.py: Fixup Poky references
(From OE-Core rev: 41c813e0cd5a0de63db325a5926846b67e88c85a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-21 12:56:19 +01:00
Khem Raj 7eab4aee68 lib/oe/patch.py: Cosmetic change to avoid bitbake warning
bb.mkdirhier should be bb.utils.mkdirhier

(From OE-Core rev: cd28d5f5ad7855d0d6a15bec5317c942e2462065)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:43:56 +00:00
Chris Larson 354d85dd35 oe.utils: add inherits (sync from OE)
(From OE-Core rev: 0bdb38820489a69448e36c75863e2e2d47cdb20f)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:43:55 +00:00
Chris Larson c9d1e20ab7 oe.path: sync up with current OE
(From OE-Core rev: 1958b303f98b8db5bab00344823bbb8e086b8dba)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:43:54 +00:00
Chris Larson 21a3b6de9d oe.patch: add missing imports
(From OE-Core rev: cefbf3a14fcf87e18f7a63a1f55904d9d612ed3e)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:43:54 +00:00
Chris Larson fb02ca3a16 oe.utils: add bb, bb.data imports
While the metadata can and should rely on bb always being available, this
needn't necessarily be the case for imported python modules.

(From OE-Core rev: a521835701c07f5786acd663fb4fb394e93eba91)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:43:53 +00:00
Mark Hatle 18420c4112 qa.py: Fix a typo when evaluating bitsize
This should be setting a variable, not performing a comparison.

(From OE-Core rev: cbe1b8277c610e8e31d1270757877300532bed56)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-03 23:49:19 +00:00
Mark Hatle 78c2b79d54 insane.bbclass: Fix ELF bitsize comparison
Fix the way the ELF size is compared to ensure that incorrectly
sized ELF binaries are captured during the file scan.

lib/oe/qa.py is changed to accept a bitsize as a parameter.  Instead
of previously defining true/false, it now takes "0" undefined, "32"
32-bit, and "64" 64-bit as the size argument.  This allows us to
preserve existing behavior of only loading one ELF type, while
allowing the function to be able to discover the size on it's own.

(From OE-Core rev: 17dae13fabe2932a47ecc86fcafb1d177226513f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-03 16:57:44 +00:00
Khem Raj d868a6a60c lib/oe/path.py: Use bb.utils.mkdirhier instead of bb.mkdirhier
(From OE-Core rev: 5a22a8c06743b0a8a3d949288b99d53bd4b7ceb3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-02 17:12:54 +00:00
Richard Purdie b42273a909 lib/oe/path.py: Add expection class to handle the output argument
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-21 11:12:15 +00:00
Richard Purdie c168c52936 meta/lib/oe/path: Use check_output for subprocess so we can see error info. Import code to be python 2.6 compatible.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-18 18:14:50 +00:00
Richard Purdie 58ae42cbc3 lib.oe.path: Update copytree function to call shell commands since its twice as fast
As an added bonus, hardlinks between files in the tree will be preserved too.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-09 22:46:30 +00:00
Richard Purdie 984e90f4d7 meta/classes: Update classes to use new fetcher API
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-07 09:06:37 +00:00
Saul Wold 77176d56fd distrodata: Modify Distro tracking spreadsheet
Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-10-15 13:55:46 -07:00
Saul Wold 055a720359 distro_check.py: Added additional support for distro checking
Now tells which section a macth occurs (main vs contrib)
    Keywords for Poky, OpenedHand, ...

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-27 08:59:16 -07:00
Saul Wold ad972a787c Distro Tracking: Updated and add Poky Alias info
distro_check.py: Add DISTRO_PN_ALIAS check for Poky, OpenedHand,
                 Intel and Upstream, to mark packages that are
                 not in known upstreams
distro_tracking_fields.inc:
                Merged private files into 1 master file
                Added additional Maintainer Info
                Added Distro Alias information for Poky and OpenedHand

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-17 11:30:43 -07:00
Saul Wold 68385456af distro_check: fix for natives, cross, and initial recipe types
datetime checking is changed to be once per day

Signed-off-by: Saul Wold <Saul.Wold@intel.com>

distro_check: fix for natives, cross, and initial recipe types

Signed-off-by: Saul Wold <Saul.Wold@intel.com>
2010-09-02 09:38:35 +01:00
Kevin Tian 444e448065 distro_check: use space as the delimiter for aliases
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-02 09:38:34 +01:00
Richard Purdie ac9e6822f1 lib/oe/path: Use bb.utils.copyfile as shutils can't cope with copying unreadable files
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-22 00:27:55 +01:00
Richard Purdie 19be6b407c lib/oe/path.py: Add copytree function that works
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-12 14:41:31 +01:00
Joshua Lock a5884df90d lib/oe: support wildcards in path.remove
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-12 14:41:31 +01:00
Joshua Lock 1fbcd2ca17 lib/oe: sync with OE.dev
Most notable change is the move to creating symlinks to patches in the metadata
tree rather than copying them.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-08-04 11:43:12 +01:00
Richard Purdie beef002bb4 lib/oe/patch.py: Fix patch application failure interaction handling
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-10 20:22:41 +01:00
Nitin A Kamble 5ae3f65531 do_distro_check: Recipe exists in other distros?
This adds a new task (distro_check) for each recipe.
The task generates the source package list for Fedora OpenSuSE
Ubuntu Debian & Mandriva Linux distros.

As one recipe or source package can generate multiple target packages
the recipe name is compared with the source package name list of LInux
distributions.

Thread locking is used to avoid multiple threads racing for the
package list update.

Then the recipe name (PN) is checked if it exists in the package
list of distros. And if the DISTRO_PN_ALIAS then it is used to copmare
pacakge_name instead of the PN variable. Just for example the
DISTRO_PN_ALIAS can be defined in the recipe (.bb) files like this

In the file xset_1.0.4.bb:

DISTRO_PN_ALIAS = "Fedora=xorg-x11-server-utils;\
   Ubuntu=x11-xserver-utils; Debian=x11-xserver-utils;Opensuse=xorg-x11"

The final results are stored in the tmp/log/distro_check-${DATETIME}.result
file.

FYI this command will generate the results for all recipies:
bitbake world -f -c distro_check

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-06-02 14:06:02 +01:00
Richard Purdie 1de1ac2eb2 lib/oe/patch.py: Fix datastore references in error paths
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-05-27 15:58:00 +01:00
Joshua Lock ac023d775b lib/oe: Import oe lib from OE.dev
This library moves the common Python methods into modules of an 'oe' Python
package.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-05-06 12:48:05 +01:00