generic-poky/meta/classes
Richard Purdie 8ebe7be3d9 bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory
Currently we have a hierarchy of pkgdata directories and the code has to put together
a search path and look through each in turn until it finds the data it needs.

This has lead to a number of hardcoded paths and file globing which
is unpredictable and undesirable. Worse, certain tricks that should be
easy like a GL specific package architecture become problematic with the
curretn search paths.

With the modern sstate code, we can do better and construct a single pkgdata
directory for each machine in just the same way as we do for the sysroot. This
is already tried and well tested. With such a single directory, all the code that
iterated through multiple pkgdata directories and simply be removed and give
a significant simplification of the code. Even existing build directories adapt
to the change well since the package contents doesn't change, just the location
they're installed to and the stamp for them.

The only complication is the we need a different shlibs directory for each
multilib. These are only used by package.bbclass and the simple fix is to
add MLPREFIX to the shlib directory name. This means the multilib packages will
repackage and the sstate checksum will change but an existing build directory
will adapt to the changes safely.

It is close to release however I believe the benefits this patch give us
are worth consideration for inclusion and give us more options for dealing
with problems like the GL one. It also sets the ground work well for
shlibs improvements in 1.6.

(From OE-Core rev: 1b8e4abd2d9c0901d38d89d0f944fe1ffd019379)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
..
allarch.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
archive-configured-source.bbclass archive-*-source.bbclass: handle dependency in anonymous function 2013-05-07 13:58:26 +01:00
archive-original-source.bbclass archive-*-source.bbclass: handle dependency in anonymous function 2013-05-07 13:58:26 +01:00
archive-patched-source.bbclass archive-*-source.bbclass: handle dependency in anonymous function 2013-05-07 13:58:26 +01:00
archiver.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
autotools.bbclass autotools.bbclass: force copy Makefile.in.in to ${S}/po/ 2013-06-28 09:14:07 +01:00
autotools_stage.bbclass autotools: deprecate autotools_stage class 2010-04-27 17:11:28 +01:00
base.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
bin_package.bbclass bin_package.bbclass: binary package recipe class 2012-09-10 13:01:46 +01:00
binconfig.bbclass binconfig: Handle the case where ${B} != ${S} 2013-03-18 13:18:24 +00:00
blacklist.bbclass blacklist.bbclass: Avoid blacklist specific handle in base.bbclass 2013-08-13 23:06:03 +01:00
boot-directdisk.bbclass boot-directdisk: use awk instead of echo -ne for dash compatibility 2013-07-24 11:35:36 +01:00
bootimg.bbclass boot-directdisk/bootimg/image-vmdk: remove more nostamps for image generation 2013-05-10 10:25:29 +01:00
bugzilla.bbclass classes/conf: Add eventmasks for event handlers 2013-06-14 12:55:47 +01:00
buildhistory.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
buildstats.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
ccache.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
chrpath.bbclass chrpath: Add support for relocating darwin binaries 2013-08-23 16:20:14 +01:00
clutter.bbclass remove the unnecessary protocol parameters 2013-08-30 16:23:46 +01:00
cmake.bbclass cmake.bbclass: ensure CMAKE_SYSTEM_NAME is correct 2013-09-10 22:58:33 +01:00
cml1.bbclass cml1: set and export TERMINFO, to handle ncurses-native relocation 2012-12-26 11:34:07 +00:00
copyleft_compliance.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
core-image.bbclass classes/core-image: drop apps-console-core IMAGE_FEATURES support 2013-05-12 09:37:31 +01:00
cpan-base.bbclass cpan-base.bbclass: Improve RDEPENDS to be package specific 2013-02-04 16:42:48 +00:00
cpan.bbclass cpan.bbclass: Fail unless Makefile.PL generates Makefile 2013-07-29 13:08:59 +01:00
cpan_build.bbclass cpan_build: Fix cmaker Build.PL module builds 2013-01-25 12:42:42 +00:00
cross-canadian.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
cross.bbclass gettext: Improve USE_NLS handling for nativesdk/crosssdk/cross-canadian 2013-08-23 16:20:11 +01:00
crosssdk.bbclass bitbake.conf/classes/gcc: Don't hardcode -nativesdk 2013-08-23 16:20:12 +01:00
debian.bbclass package: Create global package file list and use throughout PACKAGEFUNCS 2013-02-01 15:54:02 +00:00
deploy.bbclass bitbake/sstate: Implement a lookup function to speed up setscene processing 2010-10-05 22:26:33 +01:00
devshell.bbclass devshell: Don't corrupt the fakeroot variables 2013-09-06 23:04:49 +01:00
distro_features_check.bbclass distro_features_check.bbclass: Allow checking of required/conflicting features 2013-08-22 18:30:02 +01:00
distrodata.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
distutils-base.bbclass Cleanup: fix PN == BPN cases 2012-10-02 11:40:50 +01:00
distutils-common-base.bbclass distutils-common-base: Create staticdev pacakge for static libraries 2012-11-21 16:56:00 +00:00
distutils-native-base.bbclass meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True) 2012-03-05 10:22:56 -08:00
distutils.bbclass distutils: Replacing path to native python by path to python in the image to support python packages with console-script setup 2012-12-17 17:24:57 +00:00
externalsrc.bbclass classes/externalsrc: enable global inherit and simplify usage 2013-06-18 17:33:14 +01:00
extrausers.bbclass extrausers.bbclass: add a new bbclass 2013-07-24 11:35:35 +01:00
fontcache.bbclass Pass the mlprefix to postinst_intercept script 2013-04-29 14:45:10 +01:00
gconf.bbclass classes: Drop none package specific packaging variable accesses 2013-02-17 22:32:03 +00:00
gettext.bbclass gettext: Improve USE_NLS handling for nativesdk/crosssdk/cross-canadian 2013-08-23 16:20:11 +01:00
gnome.bbclass classes/[gnome|gnomebase|mime]: enhance gnome related classes 2011-11-10 11:37:11 +00:00
gnomebase.bbclass gnomebase.bbclass: add support for archive name different from BPN 2013-06-11 15:38:00 +01:00
grub-efi.bbclass grub-efi: fix Nothing PROVIDES 'grub-efi-x86_64-native' 2012-08-25 14:47:00 +01:00
gsettings.bbclass gsettings.bbclass: fix whitespace 2012-09-05 22:25:23 +01:00
gtk-doc.bbclass gtkdoc: set the default docdir to ${S}, not ${B} 2013-07-10 09:42:01 +01:00
gtk-icon-cache.bbclass Pass the mlprefix to postinst_intercept script 2013-04-29 14:45:10 +01:00
gtk-immodules-cache.bbclass classes: Use modern exception raising syntax 2013-05-09 14:06:50 +01:00
gzipnative.bbclass base/perlnative/pythonnative/gzipnative: Add a new variable to enable easier handling of native path issues 2012-07-26 14:56:20 +01:00
icecc.bbclass icecc: Allow to use this bbclass together with external toolchains 2013-04-11 15:44:23 +01:00
image-empty.bbclass classes/image*: Revamp creation of live images 2011-07-27 12:02:46 +01:00
image-live.bbclass image classes: use PN for depends, not IMAGE_BASE_NAME 2012-11-24 15:12:28 +00:00
image-mklibs.bbclass image-mklibs: pass correct libdir to mklibs 2012-08-07 12:56:34 +01:00
image-prelink.bbclass classes: Remove various bashisms 2011-11-10 11:51:18 +00:00
image-swab.bbclass classes/image-swab: remove zypper-related references 2013-01-24 20:09:00 +00:00
image-vmdk.bbclass image-vmdk.bbclass: disable the NOISO = "1" 2013-05-12 09:37:32 +01:00
image.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
image_types.bbclass image_types.bbclass: use mkfs.cramfs instead of makecramfs 2013-08-30 16:23:46 +01:00
image_types_uboot.bbclass image_types_uboot: Update to work after recent image_types changes 2012-02-29 18:25:03 +00:00
imagetest-qemu.bbclass imagetest-qemu.bbclass, qemuimage-testlib: add support for more FSTYPES 2013-05-12 08:33:16 +01:00
insane.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
insserv.bbclass bitbake.conf/base.bbclass: Rename the staging directory to sysroots and the populate_staging task to populate_sysroot 2009-11-13 12:15:42 +00:00
kernel-arch.bbclass kernel-arch: Always use ld.bfd to link the kernel 2013-04-28 12:12:21 +01:00
kernel-module-split.bbclass image/kernel-module-split/eglibc-ld.inc: Remove has_key() usage 2013-05-09 14:06:51 +01:00
kernel-yocto.bbclass kernel-yocto: improve error checking on non-git repos 2013-09-06 23:04:53 +01:00
kernel.bbclass kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and bundling 2013-09-06 23:04:47 +01:00
lib_package.bbclass lib_package.bbclass: Correct comment referring to bin directories. 2013-01-07 11:09:42 +00:00
libc-common.bbclass libc-common: Ensure sysconfdir exists before installing files to it 2012-11-14 14:38:27 +00:00
libc-package.bbclass libc-package.bbclass: Add armeb architecture to locale_arch_options 2013-08-06 12:39:54 +01:00
license.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
linux-kernel-base.bbclass kernel.bblass: remove get_kernelmajorversion 2011-07-01 23:34:18 +01:00
logging.bbclass logging: add bb* logging mechanisms for bash recipe functions 2011-04-28 10:45:41 +01:00
meta.bbclass Factor ipkg index and conf file creation into package_ipk.bbclass 2007-09-01 22:17:06 +00:00
metadata_scm.bbclass class/lib: Fix up various file access methods 2013-05-09 22:28:04 +01:00
migrate_localcount.bbclass classes/conf: Add eventmasks for event handlers 2013-06-14 12:55:47 +01:00
mime.bbclass classes: Drop none package specific packaging variable accesses 2013-02-17 22:32:03 +00:00
mirrors.bbclass classes/mirrors: remove bogus gnutls mirror 2012-09-10 13:01:45 +01:00
module-base.bbclass module-base.bbclass: Call make instead of oe_runmake in do_make_scripts 2013-02-01 15:54:31 +00:00
module.bbclass kernel: extract functions for kernel modules to separate bbclass 2013-03-05 13:14:50 +00:00
module_strip.bbclass kernel/package.bbclass: Handle kernel module stripping centrally 2010-08-10 14:47:41 +01:00
multilib.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
multilib_global.bbclass classes/conf: Add eventmasks for event handlers 2013-06-14 12:55:47 +01:00
multilib_header.bbclass mulitilib_header: Avoid sstate checksum issues for -native recipes 2013-02-14 12:36:08 +00:00
native.bbclass gettext: Improve USE_NLS handling for nativesdk/crosssdk/cross-canadian 2013-08-23 16:20:11 +01:00
nativesdk.bbclass bitbake.conf/classes/gcc: Don't hardcode -nativesdk 2013-08-23 16:20:12 +01:00
oelint.bbclass classes: Sync with OE - mainly quoting fixes or other minor updates 2006-11-20 15:19:39 +00:00
own-mirrors.bbclass own-mirrors.bbclass: Bring own-mirrors.bbclass from oe commit 0ef914b250df46a41348479446214575668943fb 2011-03-15 01:19:26 +00:00
package.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
package_deb.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
package_ipk.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
package_rpm.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
package_tar.bbclass classes/package_tar: fix file ownership within tarballs 2013-06-19 18:03:35 +01:00
packagedata.bbclass packagedata: Show error when trying to change PE/PV/PR from runtime/pkgdata 2013-06-28 10:01:28 +01:00
packagegroup.bbclass packagegroup: Add init-manager sanity check 2013-04-18 00:37:57 +01:00
packageinfo.bbclass bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory 2013-09-14 08:21:00 +01:00
patch.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
perlnative.bbclass base/perlnative/pythonnative/gzipnative: Add a new variable to enable easier handling of native path issues 2012-07-26 14:56:20 +01:00
pixbufcache.bbclass pixbufcache: add more documentation 2013-05-30 20:59:09 +01:00
pkg_distribute.bbclass meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True) 2012-03-05 10:22:56 -08:00
pkg_metainfo.bbclass Convert tab indentation in python functions into four-space 2012-07-19 10:24:50 +01:00
pkgconfig.bbclass pkgconfig: Drop automatic pkgconfig RDEPENDS 2012-10-18 12:13:12 +01:00
populate_sdk.bbclass nativesdk: Switch to using nativesdk as a prefix, not a suffix 2012-09-02 05:52:06 -07:00
populate_sdk_base.bbclass populate_sdk_base.bbclass: select the proper cross-canadian package 2013-09-10 22:58:33 +01:00
populate_sdk_deb.bbclass classes/buildhistory: record size of installed package not compressed archive 2013-08-16 11:44:16 +01:00
populate_sdk_ipk.bbclass classes/buildhistory: record size of installed package not compressed archive 2013-08-16 11:44:16 +01:00
populate_sdk_rpm.bbclass populate_sdk_rpm: Only remove trailing whitespace, not all whitespace 2013-09-12 08:23:41 +01:00
prexport.bbclass utility-tasks/distrodata: Add recideptask flag for fetchall/checkuriall 2013-06-20 13:10:46 +01:00
primport.bbclass classes/conf: Add eventmasks for event handlers 2013-06-14 12:55:47 +01:00
prserv.bbclass prserv: change PRSERV_HOST semantics 2013-01-25 12:42:43 +00:00
ptest.bbclass ptest.bbclass: add cleandirs flag to do_install_ptest_base 2013-09-10 15:57:19 +01:00
python-dir.bbclass python-dir: change PYTHON_BASEVERSION to 2.7 2011-10-31 22:03:22 +00:00
pythonnative.bbclass base/perlnative/pythonnative/gzipnative: Add a new variable to enable easier handling of native path issues 2012-07-26 14:56:20 +01:00
qemu.bbclass Revert "qemu.bbclass: Use the correct qemu binary in multilib cases" 2013-04-29 14:45:10 +01:00
qmake2.bbclass qt: update qmake2 class to export qconfig.pri mkspec 2013-06-13 17:38:11 +01:00
qmake_base.bbclass classes/qmake_base: allow parallel make 2013-06-13 17:38:11 +01:00
qt4e.bbclass qt4e.bbclass: export OE_QMAKE_QT_CONFIG 2013-07-02 22:23:51 +01:00
qt4x11.bbclass qt4*.bbclass: disable build qt on mips64 with 64 bits userspace 2013-06-28 10:41:46 +01:00
recipe_sanity.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
relocatable.bbclass relocatable.bbclass: split it up, to reuse code 2012-08-02 15:28:39 +01:00
rm_work.bbclass rm_work.bbclass: ignore failure for removing pseudo folder 2013-05-24 14:14:48 +01:00
rootfs_deb.bbclass classes: Remove references to _remove in function names since this may become a bitbake keyword 2013-08-26 11:29:45 +01:00
rootfs_ipk.bbclass classes: Remove references to _remove in function names since this may become a bitbake keyword 2013-08-26 11:29:45 +01:00
rootfs_rpm.bbclass classes: Remove references to _remove in function names since this may become a bitbake keyword 2013-08-26 11:29:45 +01:00
sanity.bbclass sanity: Don't make assumptions about cwd 2013-09-01 16:25:15 +01:00
scons.bbclass classes: scons: add EXTRA_OESCONS 2012-03-26 23:29:44 +01:00
sdl.bbclass classes/sdl: remove Opie-specific desktop file/packaging 2012-02-21 17:00:46 +00:00
setuptools.bbclass distutils/steuptools: Fix files layout and unbreak builds 2012-08-24 17:25:15 +01:00
sip.bbclass sip.bbclass: improve RDEPENDS to add python-sip only for PN 2013-02-04 23:31:02 +00:00
siteconfig.bbclass siteconfig: Clear cache before rebuilding 2012-09-28 15:19:42 +01:00
siteinfo.bbclass siteinfo.bbclass: Add mips64 common siteinfo 2013-05-29 22:14:17 +01:00
spdx.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
sstate.bbclass sstate.bbclass: fix parallel building issue 2013-09-14 08:20:59 +01:00
staging.bbclass staging.bbclass: Drop unused/legacy function 2013-02-06 13:13:00 +00:00
syslinux.bbclass syslinux: Update to 4.06 2013-05-16 00:09:46 +03:00
systemd.bbclass systemd.bbclass: get the correct /lib directory 2013-09-10 23:15:16 +01:00
terminal.bbclass meta: Don't use deprecated bitbake API 2013-09-01 15:51:42 +01:00
testimage.bbclass bitbake.conf: include machine name in DEPLOY_DIR_IMAGE 2013-09-14 08:21:00 +01:00
tinderclient.bbclass meta/classes: Various python whitespace fixes 2012-08-21 12:15:30 +01:00
toolchain-scripts.bbclass toolchain-scripts.bbclass:Add CROSS_COMPILE variable to environment-setup file 2013-05-16 00:09:49 +03:00
typecheck.bbclass classes/conf: Add eventmasks for event handlers 2013-06-14 12:55:47 +01:00
uboot-config.bbclass uboot-config.bbclass: Allow choose of U-Boot config for machine 2013-09-06 23:15:57 +01:00
update-alternatives.bbclass update-alternatives: Drop deprecated code, update to show error message 2013-05-22 17:16:55 +01:00
update-rc.d.bbclass classes: Use modern exception raising syntax 2013-05-09 14:06:50 +01:00
useradd.bbclass useradd: Handle users from a package being used in others 2013-09-06 23:04:48 +01:00
useradd_base.bbclass useradd.bbclass: add a new base class and code refactor 2013-07-24 11:35:35 +01:00
utility-tasks.bbclass utility-tasks/distrodata: Add recideptask flag for fetchall/checkuriall 2013-06-20 13:10:46 +01:00
utils.bbclass utils.bbclass: Tweak create_wrapper 2013-06-18 17:33:14 +01:00
vala.bbclass vala.bbclass: add class from meta-oe 2013-08-28 00:51:45 +01:00
waf.bbclass waf.bbclass: add waf build system class 2013-09-06 23:03:22 +01:00