package: let dependency on a package name to be architecture specific

For multilib builds that rpm is the first package backend, it would be
often desireable to express that a package of compatible architecture
is needed to satisfy a dependency. In most of the cases this is already
handled by the automatically extracted soname dependencies, but this is
not always the case: sometimes it's necessary to disable the automatic
dependency generation, and then there are cases where the information
cannot be automatically generated, such as: -dev package dependencies
on other -dev packages or plugins are dynamically loaded via dlopen,
leading to obscure build failure that a 32bit package would incorrectly
satisfy the dependency for a 64bit package and similarly vice versa.

The patch mainly aims to resolve this problem, the basic idea is adding
a ARCH_SPECIFIC variable for packages satisfying following scenarios:
  * when rpm is being set as the first package backend
  * it's not a allarch package
  * it only provides libs without bins meanwhile

Every satisfied package would be set with
"ARCH_SPECIFIC_pkgname = 1:${TARGET_ARCH}" and it's gonna be written into
pkgdata if it exists, to mark the package as architecture specific, and
it will be checked during runtime_mapping_rename, all architecture
specific dependencies would be expanded with a ${TARGET_ARCH} suffix,
that declares a dependency on a package name architecture specific and
permits differentiating between 32-bit and 64-bit versions.

Off course, the user could set "ARCH_SPECIFIC_pkgname = 0" in recipes to
disable this feature.

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
QA_check: special case kernel modules for x32 targets

The Kernel module packages for x32 target have 64 bit binaries, which
breaks the QA_check expecting all the packages to be 32bit.

Make a special case for kernel module packages for x32 targets, to avoid
this false error.

Fixes Bug:
[YOCTO #5903]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Upgrade to systemd-stable v208

Additional changes in ptest code since now
we have directories and not only bunch of files
under test/ dir so a simple install does not
work anymore we have to cp the files

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
gstreamer: Fix valgrind determism problem in the same way as gstreamer 0.10

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
run-postinsts: use it for opkg/dpkg too

Currently, opkg/dpkg have their own postinstalls that create a
run-postinsts script which is run at first boot.

This commit prepares the run-postinsts recipe/script to be used by
opkg/dpkg when DISTRO_FEATURES includes package-management.

[YOCTO #5666]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
opkg/dpkg: remove the postinstalls

Just use the run-postinsts recipe for running first boot postinstalls.

[YOCTO #5666]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
zaurusd: remove

Despite the fact that it's currently specific to the Sharp Zaurus, we
kept this in OE-Core up to now as a potential basis for better handling
of device-specific customisations for a wider range of devices. Whilst
moving device-specific customisations to a more central point is still
a laudable goal, these days such functionality probably wouldn't be
implemented on top of zaurusd or even in the same way as zaurusd, and
thus it makes sense to leave its recipe to be maintained in the
meta-handheld layer (where a current recipe already exists.)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
js: remove

This is a very old version of Mozilla's Javascript engine, isn't
actually used by anything in OE-Core now that web is gone, and in public
layers outside of OE-Core is apparently only used by mediatomb within
meta-baryon.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe-selftest: optimize code in _sstatetests_noauto.py module

1) Some of the checks made when creating new directories are unnecessary beacause
the test will fail anyway if os.mkdir() fails, with the appropriate error message.

Removing this code.

2) Moved the adding to tracked paths for deletion of temporary build directories
and sstate-cache directories to after they are created. This makes more sense
and prevents deletion of these directories if they allready exist and may contain
useful data.

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe-selftest: force some values in local.conf for _sstatetests_noauto.py

1) Some values should have default values in order for tests like sstate relocation to be relevant
   - SSTATE_DIR needs to have default value
   - SSTATE_MIRRORS need to be unset (we need the sstate files to be created)
   - TMPDIR needs to be in default location

2) Added conf/auto.conf to list of ported files to secondary build directories

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
core-image-basic / packagegroup-core-basic: rename to *-full-cmdline

This more accurately represents what this image and packagegroup are
intended to provide (a more complete command-line environment similar
to what you would find on a traditional Linux system), and avoids
confusion with the similarly named core-image-base and
packagegroup-base.

Fixes [YOCTO #2424].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
classes/image: support package-management in IMAGE_FEATURES

Previously the "package-management" feature was only fully supported
when inheriting core-image.bbclass, which is not really ideal given that
this is the standard way of adding runtime packaging to an image in
OE-Core.

Part of the fix for [YOCTO #5424].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rename PACKAGE_GROUP variable to FEATURE_PACKAGES

Since tasks were renamed to packagegroups some time ago, this variable
name implies that its usage is necessarily related to them which is not
the case. Rename the variable to more closely represent what it does
(whilst still providing backwards-compatibility with a warning for
PACKAGE_GROUP).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
documentation.conf: drop obsolete variables

These haven't been used for some time (and DESTDIR was never a BitBake
variable at all).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
documentation.conf: sync with the Yocto Project reference manual

Make sure variables listed in the Glossary section of the reference
manual are listed here. There are still some listed here that aren't in
the manual; this should be fixed in the manual.

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lttng-modules: Add version 2.4.0

This updates lttng-modules to 2.4.0, codenamed Époque Opaque, needed
for interoperability with the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lttng-tools: Add version 2.4.0

This updates lttng-tools to 2.4.0, codenamed Époque Opaque, needed
for interoperability with lttng-modules and the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lttng-ust: Add version 2.4.0

This updates lttng-ust to 2.4.0, codenamed Époque Opaque, needed
for interoperability with lttng-modules and the 3.14 (dev) kernel.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lttng-modules: Exclude arm

lttng-modules and gcc-4.8 don't mix, according to the lttng ML
'current_thread_info() not respecting program order with gcc 4.8.x',
so remove it from arm builds.

Without lttng-modules, lttng-tools etc don't make sense either so
exclude them as well.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lttng-modules: Fix 3.14 bio tracepoints

The mainline 3.14 commit 'block: Astract out bvec iterator' broke the
lttng-modules tracepoints.  Fix them here.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>