diff options
-rw-r--r-- | meta/classes/cross-canadian.bbclass | 3 | ||||
-rw-r--r-- | meta/classes/native.bbclass | 1 | ||||
-rw-r--r-- | meta/classes/package.bbclass | 25 |
3 files changed, 18 insertions, 11 deletions
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass index 47fb0abb218..7dc20c65b1f 100644 --- a/meta/classes/cross-canadian.bbclass +++ b/meta/classes/cross-canadian.bbclass @@ -90,7 +90,8 @@ export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${layout_libdir}/pkgconfig" export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" # Cross-canadian packages need to pull in nativesdk dynamic libs -SHLIBSDIR = "${STAGING_DIR}/${SDK_ARCH}-nativesdk${SDK_VENDOR}-${BUILD_OS}/shlibs" +SHLIBSDIRS = "${TMPDIR}/pkgdata/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}/shlibs/ ${TMPDIR}/pkgdata/all-${HOST_VENDOR}-${HOST_OS}/shlibs/" +SHLIBSDIR = "${TMPDIR}/pkgdata/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}/shlibs/" do_populate_sysroot[stamp-extra-info] = "" do_package[stamp-extra-info] = "" diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass index eb30b5a3c7b..93f96f5dadb 100644 --- a/meta/classes/native.bbclass +++ b/meta/classes/native.bbclass @@ -88,7 +88,6 @@ do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_NATIVE}" # Since we actually install these into situ there is no staging prefix STAGING_DIR_HOST = "" STAGING_DIR_TARGET = "" -SHLIBSDIR = "${STAGING_DIR_NATIVE}/shlibs" PKG_CONFIG_DIR = "${libdir}/pkgconfig" EXTRA_NATIVE_PKGCONFIG_PATH ?= "" diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 03002772f67..76979bd3df9 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1292,8 +1292,16 @@ python package_do_filedeps() { d.setVar("FILERPROVIDESFLIST_" + pkg, " ".join(provides_files)) } -SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs" -SHLIBSWORKDIR = "${WORKDIR}/shlibs" +def getshlibsdirs(d): + dirs = [] + triplets = (d.getVar("PKGTRIPLETS") or "").split() + for t in triplets: + dirs.append("${TMPDIR}/pkgdata/" + t + "/shlibs/") + return " ".join(dirs) + +SHLIBSDIRS = "${@getshlibsdirs(d)}" +SHLIBSDIR = "${TMPDIR}/pkgdata/${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/shlibs" +SHLIBSWORKDIR = "${PKGDESTWORK}/shlibs" python package_do_shlibs() { import re, pipes @@ -1318,7 +1326,7 @@ python package_do_shlibs() { pkgdest = d.getVar('PKGDEST', True) - shlibs_dir = d.getVar('SHLIBSDIR', True) + shlibs_dirs = d.getVar('SHLIBSDIRS', True).split() shlibswork_dir = d.getVar('SHLIBSWORKDIR', True) # Take shared lock since we're only reading, not writing @@ -1472,7 +1480,7 @@ python package_do_shlibs() { d.setVar('pkg_postinst_%s' % pkg, postinst) list_re = re.compile('^(.*)\.list$') - for dir in [shlibs_dir]: + for dir in shlibs_dirs: if not os.path.exists(dir): continue for file in os.listdir(dir): @@ -1543,7 +1551,7 @@ python package_do_pkgconfig () { workdir = d.getVar('WORKDIR', True) pkgdest = d.getVar('PKGDEST', True) - shlibs_dir = d.getVar('SHLIBSDIR', True) + shlibs_dirs = d.getVar('SHLIBSDIRS', True).split() shlibswork_dir = d.getVar('SHLIBSWORKDIR', True) pc_re = re.compile('(.*)\.pc$') @@ -1594,7 +1602,7 @@ python package_do_pkgconfig () { f.write('%s\n' % p) f.close() - for dir in [shlibs_dir]: + for dir in shlibs_dirs: if not os.path.exists(dir): continue for file in os.listdir(dir): @@ -1853,10 +1861,9 @@ SSTATETASKS += "do_package" do_package[sstate-name] = "package" do_package[cleandirs] = "${PKGDESTWORK}" do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}" -do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}" -do_package[sstate-outputdirs] = "${PKGDATA_DIR} ${SHLIBSDIR}" +do_package[sstate-inputdirs] = "${PKGDESTWORK}" +do_package[sstate-outputdirs] = "${PKGDATA_DIR}" do_package[sstate-lockfile-shared] = "${PACKAGELOCK}" -do_package[stamp-extra-info] = "${MACHINE}" do_package_setscene[dirs] = "${STAGING_DIR}" python do_package_setscene () { |