diff options
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r-- | meta/classes/package.bbclass | 25 |
1 files changed, 16 insertions, 9 deletions
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() { 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 () { |