Files
poky/meta/classes/task.bbclass
Paul Eggleton a5227e205b classes/package: reduce dbg package dependencies
Make dbg package dependencies added via DEPCHAIN_POST less aggressive -
only add dependencies on dbg packages for shared library dependencies.
This avoids dragging in extraneous packages (such as eglibc-dbg forcing
bash-dbg to be installed) whilst preserving the ability to easily debug
into shared libraries in use by an application by just requesting the
installation of the single dbg package for that application.

For task recipes however we preserve the previous behaviour, since when
you install task-xxx-dbg you expect the dbg packages for every package
in the task to be installed. Unfortunately not all of our tasks inherit
from task.bbclass so we just use a name match - this should be tidied up
later.

Fixes [YOCTO #2599].

(From OE-Core rev: 352522d474cb75992d7865545b6fbe4e157a5f99)

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-28 09:20:52 +01:00

31 lines
1.1 KiB
Plaintext

# Task packages are only used to pull in other packages
# via their dependencies. They are empty.
ALLOW_EMPTY = "1"
# By default, only the task package itself is in PACKAGES.
# -dbg and -dev flavours are handled by the anonfunc below.
# This means that task recipes used to build multiple task
# packages have to modify PACKAGES after inheriting task.bbclass.
PACKAGES = "${PN}"
# By default, task packages do not depend on a certain architecture.
# Only if dependencies are modified by MACHINE_FEATURES, packages
# need to be set to MACHINE_ARCH after inheriting task.bbclass
PACKAGE_ARCH = "all"
# This automatically adds -dbg and -dev flavours of all PACKAGES
# to the list. Their dependencies (RRECOMMENDS) are handled as usual
# by package_depchains in a following step.
python () {
packages = d.getVar('PACKAGES', True).split()
genpackages = []
for pkg in packages:
for postfix in ['-dbg', '-dev']:
genpackages.append(pkg+postfix)
d.setVar('PACKAGES', ' '.join(packages+genpackages))
}
# We don't want to look at shared library dependencies for the
# dbg packages
DEPCHAIN_DBGDEFAULTDEPS = "1"