summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/cross-canadian.bbclass3
-rw-r--r--meta/classes/native.bbclass1
-rw-r--r--meta/classes/package.bbclass25
3 files changed, 18 insertions, 11 deletions
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index 47fb0abb21..7dc20c65b1 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"
90export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" 90export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
91 91
92# Cross-canadian packages need to pull in nativesdk dynamic libs 92# Cross-canadian packages need to pull in nativesdk dynamic libs
93SHLIBSDIR = "${STAGING_DIR}/${SDK_ARCH}-nativesdk${SDK_VENDOR}-${BUILD_OS}/shlibs" 93SHLIBSDIRS = "${TMPDIR}/pkgdata/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}/shlibs/ ${TMPDIR}/pkgdata/all-${HOST_VENDOR}-${HOST_OS}/shlibs/"
94SHLIBSDIR = "${TMPDIR}/pkgdata/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}/shlibs/"
94 95
95do_populate_sysroot[stamp-extra-info] = "" 96do_populate_sysroot[stamp-extra-info] = ""
96do_package[stamp-extra-info] = "" 97do_package[stamp-extra-info] = ""
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index eb30b5a3c7..93f96f5dad 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -88,7 +88,6 @@ do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_NATIVE}"
88# Since we actually install these into situ there is no staging prefix 88# Since we actually install these into situ there is no staging prefix
89STAGING_DIR_HOST = "" 89STAGING_DIR_HOST = ""
90STAGING_DIR_TARGET = "" 90STAGING_DIR_TARGET = ""
91SHLIBSDIR = "${STAGING_DIR_NATIVE}/shlibs"
92PKG_CONFIG_DIR = "${libdir}/pkgconfig" 91PKG_CONFIG_DIR = "${libdir}/pkgconfig"
93 92
94EXTRA_NATIVE_PKGCONFIG_PATH ?= "" 93EXTRA_NATIVE_PKGCONFIG_PATH ?= ""
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 03002772f6..76979bd3df 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1292,8 +1292,16 @@ python package_do_filedeps() {
1292 d.setVar("FILERPROVIDESFLIST_" + pkg, " ".join(provides_files)) 1292 d.setVar("FILERPROVIDESFLIST_" + pkg, " ".join(provides_files))
1293} 1293}
1294 1294
1295SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs" 1295def getshlibsdirs(d):
1296SHLIBSWORKDIR = "${WORKDIR}/shlibs" 1296 dirs = []
1297 triplets = (d.getVar("PKGTRIPLETS") or "").split()
1298 for t in triplets:
1299 dirs.append("${TMPDIR}/pkgdata/" + t + "/shlibs/")
1300 return " ".join(dirs)
1301
1302SHLIBSDIRS = "${@getshlibsdirs(d)}"
1303SHLIBSDIR = "${TMPDIR}/pkgdata/${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/shlibs"
1304SHLIBSWORKDIR = "${PKGDESTWORK}/shlibs"
1297 1305
1298python package_do_shlibs() { 1306python package_do_shlibs() {
1299 import re, pipes 1307 import re, pipes
@@ -1318,7 +1326,7 @@ python package_do_shlibs() {
1318 1326
1319 pkgdest = d.getVar('PKGDEST', True) 1327 pkgdest = d.getVar('PKGDEST', True)
1320 1328
1321 shlibs_dir = d.getVar('SHLIBSDIR', True) 1329 shlibs_dirs = d.getVar('SHLIBSDIRS', True).split()
1322 shlibswork_dir = d.getVar('SHLIBSWORKDIR', True) 1330 shlibswork_dir = d.getVar('SHLIBSWORKDIR', True)
1323 1331
1324 # Take shared lock since we're only reading, not writing 1332 # Take shared lock since we're only reading, not writing
@@ -1472,7 +1480,7 @@ python package_do_shlibs() {
1472 d.setVar('pkg_postinst_%s' % pkg, postinst) 1480 d.setVar('pkg_postinst_%s' % pkg, postinst)
1473 1481
1474 list_re = re.compile('^(.*)\.list$') 1482 list_re = re.compile('^(.*)\.list$')
1475 for dir in [shlibs_dir]: 1483 for dir in shlibs_dirs:
1476 if not os.path.exists(dir): 1484 if not os.path.exists(dir):
1477 continue 1485 continue
1478 for file in os.listdir(dir): 1486 for file in os.listdir(dir):
@@ -1543,7 +1551,7 @@ python package_do_pkgconfig () {
1543 workdir = d.getVar('WORKDIR', True) 1551 workdir = d.getVar('WORKDIR', True)
1544 pkgdest = d.getVar('PKGDEST', True) 1552 pkgdest = d.getVar('PKGDEST', True)
1545 1553
1546 shlibs_dir = d.getVar('SHLIBSDIR', True) 1554 shlibs_dirs = d.getVar('SHLIBSDIRS', True).split()
1547 shlibswork_dir = d.getVar('SHLIBSWORKDIR', True) 1555 shlibswork_dir = d.getVar('SHLIBSWORKDIR', True)
1548 1556
1549 pc_re = re.compile('(.*)\.pc$') 1557 pc_re = re.compile('(.*)\.pc$')
@@ -1594,7 +1602,7 @@ python package_do_pkgconfig () {
1594 f.write('%s\n' % p) 1602 f.write('%s\n' % p)
1595 f.close() 1603 f.close()
1596 1604
1597 for dir in [shlibs_dir]: 1605 for dir in shlibs_dirs:
1598 if not os.path.exists(dir): 1606 if not os.path.exists(dir):
1599 continue 1607 continue
1600 for file in os.listdir(dir): 1608 for file in os.listdir(dir):
@@ -1853,10 +1861,9 @@ SSTATETASKS += "do_package"
1853do_package[sstate-name] = "package" 1861do_package[sstate-name] = "package"
1854do_package[cleandirs] = "${PKGDESTWORK}" 1862do_package[cleandirs] = "${PKGDESTWORK}"
1855do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}" 1863do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}"
1856do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}" 1864do_package[sstate-inputdirs] = "${PKGDESTWORK}"
1857do_package[sstate-outputdirs] = "${PKGDATA_DIR} ${SHLIBSDIR}" 1865do_package[sstate-outputdirs] = "${PKGDATA_DIR}"
1858do_package[sstate-lockfile-shared] = "${PACKAGELOCK}" 1866do_package[sstate-lockfile-shared] = "${PACKAGELOCK}"
1859do_package[stamp-extra-info] = "${MACHINE}"
1860do_package_setscene[dirs] = "${STAGING_DIR}" 1867do_package_setscene[dirs] = "${STAGING_DIR}"
1861 1868
1862python do_package_setscene () { 1869python do_package_setscene () {