Commit Graph

7759 Commits

Author SHA1 Message Date
Yao Zhao
771f89498c base.bbclass: fix PACKAGECONFIG handling code
PACKAGECONFIG flag code only handles that when it has 3 or 4 items in flag,
it may have a stale data if some flags doesn't need DEPENDS and RDEPENDS.

(From OE-Core rev: 884cab0428cff2ffd070b6f36b688ca9851fbe43)

Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-19 10:45:55 +01:00
Richard Purdie
61ed74a725 utility-tasks: Set T to alternate location during do_clean
There is a race where do_clean tries to clean WORKDIR but there are logfiles
written into ${T} by bitbake and this can lead to exceptions due to open files.

The easiest solution is to redirect T to a different location for the do_clean
task, hence avoiding the errors and also allowing the logfiles to be visible
somewhere. ${LOG_DIR} seems an appropriate place for this.

[YOCTO #2846]

(From OE-Core rev: eef9d6c2d52f5264a6e7a9d882f8323f9793fd7f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-18 16:23:59 +01:00
Robert Yang
21dcd88cee rootfs_deb: move the lock from WORKDIR to DEPLOY_DIR_DEB
* There would be race issue if we put the lock to the WORKDIR, for
  example:
  bitbake core-image-sato core-image-sato-sdk

  If the lock is in their own WORKDIR, the apt-rootfs.conf and
  Packages.gz maybe be written by two tasks at the same time, which
  would cause unexpected errors.

* Create ${target_rootfs}/etc since the "tar -C" needs it.

Note:
  * The rpm has put the lock to DEPLOY_DIR_RPM
  * The ipk doesn't need it since it has locks for each deploy directory
    and put the opkg.conf in his own WORKDIR, which doesn't like deb put
    the apt-rootfs.conf in ${STAGING_ETCDIR_NATIVE}/apt/.

[YOCTO #2495]

(From OE-Core rev: 23ac392f8b868296eb9e7cd840f9b28ed6917b27)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 18:04:23 +01:00
Florin Sarbu
1356f8fefd Add MPL version 2.0 license in common-licenses dir as well as adding a non-SPDX license name in license.bbclass
(From OE-Core rev: 89efdb7c561e5af87da446c7767d3ad5809a7d13)

Signed-off-by: Florin Sarbu <florin.sarbu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 18:04:21 +01:00
Matthew McClintock
3a51c0c6b0 distutils.bbclass: fix libdir for 64-bit python modules built with distutils
Without this some modules will be intalled in /usr/lib/python2.6/
instead of /usr/${libdir}/python2.6

(From OE-Core rev: bc6bd774aa8a3e085e9cabcefb11c3fc537139d5)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 18:04:20 +01:00
Mark Hatle
bfa522b2b5 package_rpm.bbclass: Fix attemptonly install failures
During an attemptonly install, if you try to install two packages that
conflict with each other, a message is generated:

 error: Failed dependencies:
     dropbear conflicts with openssh-6.0p1-r4.ppc603e
     dropbear conflicts with openssh-sshd-6.0p1-r4.ppc603e

This is placed onto stderr (vs stdout), which was not being redirected.
This allowed the log-check code to find the magic key of "Failed" causing
the package installation process to fail.  Instead the proper behavior is to
simply ignore the error and proceed with the install.

(From OE-Core rev: 16d8d7fdda4ae7d108f5d50cde3f6104e231bd23)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 18:04:18 +01:00
Khem Raj
650227eea3 chrpath.bbclass: Account for case when ORIGIN is in RPATH
This fixes a case when RPATH embedded in program have one of
its path already relative to ORIGIN. We were losing that path
if such a path existed. This patch appends it to the new edited
rpath being created when we see it.

so RPATH like below

(RPATH)              Library rpath:
[$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli]

would end up being empty

but after this patch its kept intact

(From OE-Core rev: 43600df0d4efc976a9451163dd334b4763937932)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 17:45:12 +01:00
Richard Purdie
b0b92d7916 chrpath.bbclass: Ensure we only process tmpdir in paths which actually contain that path
Without this change, a path to "/lib/xxx" or "/usr/lib/xxx" would also
attempt to be remapped to be relative to $ORIGIN which makes no sense.

(From OE-Core rev: 73e2c12534856f14c1a94fb51874e9ba1655f07b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 17:45:12 +01:00
Paul Eggleton
62f1ccbbbd classes/chrpath: improve chrpath failure handling
When chrpath fails, prefix the error message with the name of the recipe
that is being processed, and include the the output from chrpath, as
well as making the calling task actually fail.

(From OE-Core rev: 99815eddd4e1eb5d939831704231537dd5a995ad)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 15:25:13 +01:00
Laurentiu Palcu
21049ec964 package.bbclass: change RPATHs for cross-canadian binaries
When building the meta-toolchain, the binaries didn't get relocatable
RPATHs. They were hardcoded to the default path. Hence, if one had
already installed one SDK in the default path and one in another
location, the later toolchain's binaries would search and load libraries
from the first location, ending in a "Segmentation Fault".

[YOCTO #2927]

(From OE-Core rev: b40a03c43d5d9d738a9aa5b43b2ecfe74fc95018)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 13:06:42 +01:00
Laurentiu Palcu
1b6019086c populate_sdk_base.bbclass: fix SDK relocation issues
The problem appears if multiple setup environment scripts are found. In
order to find only the script we're interested in, I removed globbing in
matching pattern with ${REAL_MULTIMACH_TARGET_SYS} that will be expanded
to the correct string.

Also, fix a problem when changing the scripts/configs. The grep pattern
matched also files that contained "text" in their name.

(From OE-Core rev: d81768560676da201fd730ae3930b080ab8c5c75)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 13:06:41 +01:00
Peter Seebach
e2f73517ae base.bbclass: Work even when there's no PNBLACKLIST entries
It turns out that the result of getVarFlags is not a list, it's
a dict. So "getVarFlags(...) or []" does not reliably produce
something with a .items. This escaped detection because our
local build environment never ends up running builds without
PNBLACKLIST entries.

(From OE-Core rev: 491df239170dd20f3e91df6bc1ead2945a78e075)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 11:33:20 +01:00
Paul Eggleton
70b874019c classes/chrpath: trigger an error if chrpath fails
If chrpath failed here we were just silently ignoring it.

(From OE-Core rev: 24babf9316da50c8a4d2f328c4336cb8cd6cf667)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15 17:51:10 +01:00
Ross Burton
5e775b5e5c pimlico: Remove
Remove the Pimlico applications (Contacts, Dates, Tasks).  oe-core isn't a
reference PIM stack, so we don't need this.

(From OE-Core rev: 373895e6c691277e15a09aee3504243448c55b50)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15 15:26:26 +01:00
Ross Burton
0e6e974a2b classes: add gsettings.bbclass
This class registers postinst/postrm hooks to compile the GSetting schemas, and
adds the relevant dependencies.  If possible the postinst happens on the host to
avoid running it on the target.

[ YOCTO #2798 ]

(From OE-Core rev: ba9d5626174c1144b83963755ef310328306c3a3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15 15:12:51 +01:00
Paul Eggleton
1ce0f3f867 rpmresolve: improve debug output
Rename rpmresolve's -d option to -t and make -d enable debug output;
add a -o option to specify the output file (so rpm debug output doesn't
go to the output file) and also add a little more detail to some of the
error messages.

(From OE-Core rev: 163dd734d79fd7040b48b10bca6fde28460ac20c)

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-08-15 14:26:43 +01:00
Bruce Ashfield
b6bbf40996 kernel.bbclass: remove default module_autoload and module_conf values
kernel.bbclass is a common class for many different kernel versions,
and as such the default module_autoload and module_conf values that
it contains are not relevant, or out of date for most builds.

Individual kernel recipes or distros can better specify these
values to meet their needs.

(From OE-Core rev: a134efa7743edc3b7ca8abb651add6d2045c3b44)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15 14:26:42 +01:00
Peter Seebach
13e2effd62 base.bbclass: Expand PNBLACKLIST across multilibs too
The PNBLACKLIST feature does not currently work with multilibs,
because they have different ${PN}. The obvious thing to do is to
do this at the same point that we do the PREFERRED_PROVIDER
and PREFERRED_VERSION fixups. (Making the PNBLACKLIST check
do the for-each-multilib check requires it to do the multilib
list generation repeatedly.)

(From OE-Core rev: 9bc0ca9369d0daee94abf60d3d521cc734c7e8cd)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15 14:26:40 +01:00
Christopher Larson
096306ecd1 base.bbclass: allow specifying an lsb distro hook via the metadata
This is useful when you have a rather large set of compatible distros. For
example: Centos 5.4, 5.5, 5.6, etc, RHEL server 5.x, RHEL workstation 5.x.

(From OE-Core rev: 0e9932b2dba8573736c92bd07e59bad21b9fda2d)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-15 14:26:37 +01:00
Jesse Zhang
d6ef548c48 image-mklibs: pass correct libdir to mklibs
libdir should be specified, or else mklibs won't work for 64bit targets.
It wouldn't be able to find the libs.

    Traceback (most recent call last):
      File "<build>/bitbake_build/tmp/sysroots/i686-linux/usr/bin/x86_64-wrs-linux/mklibs", line 553, in <module>
        header = elf_header(find_lib(libraries.copy().pop()))
      File "<build>/bitbake_build/tmp/sysroots/i686-linux/usr/bin/x86_64-wrs-linux/mklibs", line 89, in elf_header
        raise Exception("Cannot find lib: " + obj)
    Exception: Cannot find lib:

(From OE-Core rev: d2cd2ccea8bc4d110647ba3bd202772e5407000a)

Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-07 12:56:34 +01:00
Richard Purdie
ef98412865 kernel.bbclass: Revert ${base_libdir} change
The base_libdir change in 5b8a4798ea
breaks the kernel build for 64 bit machines. Revert this part of the
change.

(From OE-Core rev: 351bdc59f8af915ae203af7799eedc0ce42785f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-07 11:17:36 +01:00
Paul Eggleton
06ad59cca9 classes/package: don't make locale pkgs depend on PN pkg if not in PACKAGES
If ${PN} is not in PACKAGES then don't add it as an RDEPENDS for each
locale package. This fixes the installation of gcc-runtime locale
packages, for example.

(From OE-Core rev: d36c3235b3022c07f064929f55114f808a7634f6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06 15:35:45 +01:00
Paul Eggleton
b9fa9d713b classes/buildhistory: save metadata revisions
Always write the metadata revisions for each layer into a machine-
readable "metadata-revs" file so that you can potentially link changes
in the output back to changes in the metadata. (Unlike the existing
similar build-id file, this is not specific to image changes.)

(From OE-Core rev: 45f38d167b523d769c072474b36b3d9b31b4e9d9)

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
Paul Eggleton
78d8faf4e1 classes/buildhistory: remove unused functions
getlastrecipeversion and readRecipeInfo weren't called anywhere.
Remove them so we don't have to keep them up-to-date with future
additions to the recipe info file.

(From OE-Core rev: 22bf6284576ccee607d7bd197420a29242df11c0)

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
Paul Eggleton
d0b07eb778 classes/buildhistory: ensure old package info is removed
If a package is removed from PACKAGES, ensure that the package info file
and directory are removed from buildhistory so that we don't have stale
data lying around.

(From OE-Core rev: 223b183197b363edef0c11a25bad33555fca5a15)

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
Paul Eggleton
2f6ceff312 classes/buildhistory: remove obsolete flat package history feature
Remove the ability to set BUILDHISTORY_KEEP_VERSIONS = "1" to save the
package history as flat versioned files rather than relying on git to
keep previous versions of the package information. git has proven to
work quite well in this capacity.

(From OE-Core rev: ccedfd250620fc562988ba730ad5717b107a9d3e)

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
Javier Martinez Canillas
5b8a4798ea kernel.bbclass: use ${base_libdir} and ${sysconfdir} instead of /lib and /etc
It is considered good practice to use the build system provided
variables instead of directly specify hardcoded paths.

(From OE-Core rev: c859717f522098e7c68df578d59011f68122dc2c)

Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06 15:18:51 +01:00
Khem Raj
bce9306008 populate_sdk_rpm.bbclass: Depend do_populate_sdk task on createrepo-native
Now that we have moved the rpm-createsolvedb.py
script to createrepo-native for good reason of
python-native dependency, we have to make sure
that it is staged before its used, unlike before
where it was under scripts/ dir and always existed
outside the realm of package management.

Fixes build error when doing meta-toolchain builds from
scratch

|
/home/kraj/yocto/poky/build/tmp/work/ppc64e5500-poky-linux/meta-toolchain-1.0-r7/temp/run.populate_sdk_image.26712:
line 610: rpm-createsolvedb.py: command not found
| DEBUG: Python function do_populate_sdk finished
| ERROR: Function failed: populate_sdk_image (see
/home/kraj/yocto/poky/build/tmp/work/ppc64e5500-poky-linux/meta-toolchain-1.0-r7/temp/log.do_populate_sdk.26712
for further information)

(From OE-Core rev: 90cfe33d30ef4f9491bd52e7965c5279a2e2650c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-06 15:18:46 +01:00
Bogdan Marinescu
c4a7517f8a Complete recipe enablement
RP: The list of recipes in multilib.conf needs to go away and we need
to just be able to extend all recipes with the multilib class.
Tested by building and running lib32-core-image-sato-sdk.

[YOCTO #1563]

(From OE-Core rev: 5d691f1bc95dfb9109b07827b33957b1fa5b2fa4)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02 18:07:18 +01:00
Laurentiu Palcu
e3a13b8d93 package.bbclass: change RPATHs for nativesdk packages
Change binaries RPATHs, to include $ORIGIN, to make them relocatable.

(From OE-Core rev: f6362c5248914485fc8bf3c3f0ca6cc962bf753e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02 15:28:39 +01:00
Laurentiu Palcu
476ced15c2 relocatable.bbclass: split it up, to reuse code
Most of the code in relocatable.bbclass will be used for relocating the
SDK binaries. So, create another class chrpath.bbclass that will contain
the core of the relocatable.bbclass, so we can reuse it.

(From OE-Core rev: b50677b1641b201fd69942fd82a360907338234d)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02 15:28:39 +01:00
Laurentiu Palcu
44df019842 populate_sdk_base.bbclass: create self-extracting archive
In order for the SDK to be relocatable, the user would need to call a
setup script to change the binaries acordingly. Having an auto-extracting
archive has the advantage of being more user friendly and the user does
not have to call the setup script separately after extracting the SDK.
It is called automatically.

(From OE-Core rev: d4e976849da845d595db7029d8089946ae16d982)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02 15:28:39 +01:00
Martin Jansa
438df0f1d0 sip.bbclass: fix sip-native dependency
(From OE-Core rev: 5f1af539b3d34e6689a69d09c69d9099eee983d4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02 15:28:37 +01:00
Radu Moisan
fe800caf59 watchdog: Upgrade to upstream v5.12
sourceforge.net link is broken at the time of this patch,
so I added a mirror.
License changed to GPLv2+

(From OE-Core rev: 1452b5e60eff29e7423ecdd51d2d942e88dcc263)

Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02 15:28:37 +01:00
Robert P. J. Day
5dc490cdb3 core-image.bbclass: Fix typo in comment, "IMAGE_FEAETURES"
(From OE-Core rev: af274b1b266b5aa661823bd702eacc62cc3aefff)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01 23:11:17 +01:00
Robert Yang
148e19e880 createrepo 0.4.11: add rpm-createsolvedb.py
Move scripts/rpm-createsolvedb.py to
meta/recipes-support/createrepo/createrepo/ since we should wrap it to
use the native python.

[YOCTO #2822]

(From OE-Core rev: 72d673bef385e756bd858f9eca7fe419efaceb39)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01 23:11:17 +01:00
Richard Purdie
fd6251ef54 imagetest-qemu.bbclass: Fix whitespace issues
(From OE-Core rev: 674d65c94478a1ff33ef9d9c1e49f677091301f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01 09:10:41 +01:00
Khem Raj
3309cf42d3 package_rpm.bbclass: Accomodate dash when using arrays
we were assigning local variable to an array coming through
positional arguments. local is a non posix contruct thats
also supported by dash luckily but operates differently in this
case it exapnds the array before assignment. so

local pkgs="$@"

turns into pkgs=locale-base-en-us locale-base-en-gb

ant we see errors

run.do_rootfs.25593: 932: local: locale-base-en-gb: bad variable name

So lets not use defining and assigning local in one go
first define a local and then the assignment

(From OE-Core rev: 4029ce1a15e1dbd374444ee77ccf2a915e463b7b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31 12:22:10 +01:00
Martin Jansa
5ab3a11149 package.bbclass: fix TypeError in runstrip
* some packages have .ko files which are not elf, without this change
  it fails with TypeError, with this change only runstip fails and
  reports where:
  ERROR: runstrip: ''arm-oe-linux-gnueabi-strip'  '/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/emacs-23.4-r0/package/usr/share/emacs/23.4/etc/tutorials/TUTORIAL.ko'' strip command failed

(From OE-Core rev: a834ab8a6d53cae504fa112a89bab93d726539ec)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31 11:59:05 +01:00
Paul Eggleton
72730329c8 qt4: allow recipes building commercial edition
To enable building the commercial edition of Qt (through additional
recipes that are *not* provided by OE-Core) we need to tweak a few
things:

* Don't make recipes that inherit qt4x11.bbclass depend on qt4-x11-free
  - instead add qt4-x11 to DEPENDS and then have qt4-x11-free include
  this in its PROVIDES. A commercial equivalent recipe should do the
  same.
* Add a QT_LICENSE_FILE variable that can be used to specify the license
  file required by the commercial edition.
* Add a QT_LICENSE_FLAGS variable which the recipe can set to select the
  license option being used. The default of "-opensource" retains the
  current behaviour; a commercial recipe should set it to "-commercial".

Fixes [YOCTO #2505].

(From OE-Core rev: 2be0058fc4acddab611637656183accd052b40eb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31 08:02:09 +01:00
Paul Eggleton
581af95389 classes/populate_sdk_rpm: add depends on rpmresolve-native
As of OE-Core revision 72d1048a8381fa4a8c4c0d082047536727b4be47,
rpmresolve is now required for complementary package installation during
do_populate_sdk.

(From OE-Core rev: 8a71c1a507289d38a0f675584ab206abfa9aad9a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31 08:02:09 +01:00
Paul Eggleton
9c96d34d68 classes/populate_sdk_base: don't break existing do_populate_sdk depends
We set do_populate_sdk[depends] in populate_sdk_*.bbclass, but since
these are inherited at the top of populate_sdk_base.bbclass, those
values are wiped out by using = at the end of the latter class. Use +=
to avoid this.

(From OE-Core rev: a87b5d6cab34579cf3abe03f4663d9a72e218397)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31 08:02:09 +01:00
Leon Woestenberg
b915fa43ec kernel.bbclass: Copy bounds.h only if it exists, needed for 2.6.x.
Linux 2.6.x kernels did not (all) have the bounds.h file, so copy
only iff exists.

(From OE-Core rev: 02ac0d1b65389e1779d5f95047f761d7a82ef7a4)

Signed-off-by: Leon Woestenberg <leon@sidebranch.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31 08:02:09 +01:00
Paul Eggleton
22965c4715 classes/package: ensure pkgdata is cleaned out first
If do_package needs to be re-run and packages are removed/renamed as a
result, we want the corresponding stale pkgdata files to no longer be
present; for that we need to ensure all of the old pkgdata files are
cleaned out prior to creating the new ones. This is particularly
important now we rely on pkgdata more heavily (for complementary
packages, license manifest, etc.).

(From OE-Core rev: 5dee47b476a6f715ab02af5e758441a2a934eea3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-29 10:16:16 +01:00
Paul Eggleton
20ad566d60 buildhistory: improve performance of image info collection
Reduce the number of calls to the packaging tool, especially in the case
of rpm, using helper utilities to gather the required information more
efficiently where possible.

(From OE-Core rev: d0b8a98c5b46c305afd389fc862b3bf0c6f1eaab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-29 10:16:15 +01:00
Paul Eggleton
98b0f956e7 classes/image: add staticdev-pkgs IMAGE_FEATURES feature
Add a staticdev-pkgs feature that can be added to IMAGE_FEATURES in
order to install all staticdev packages.

Fixes [YOCTO #2531].

(From OE-Core rev: 3ba9c0757eb51a0bb5873f4faae023587a33cc1d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-29 10:16:14 +01:00
Paul Eggleton
fa5640d143 Rework installation of dev, dbg, doc, and locale packages
Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.

The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.

This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.

The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".

Fixes [YOCTO #2614].

(From OE-Core rev: 72d1048a8381fa4a8c4c0d082047536727b4be47)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-29 10:16:14 +01:00
Paul Eggleton
a73c25d2de classes/rootfs_rpm: improve speed of RPM rootfs construction
Improve the performance of the RPM backend during do_rootfs by
performing most of the package name to file resolution in a separate
utility written in C, processing the entire list of packages at once
rather than running rpm on the command line which loads the RPM database
for every package.

(From OE-Core rev: 9135d351ba7cb21e50239d2b310565680bd4fdca)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-29 10:16:14 +01:00