aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@opendreambox.org>2012-09-05 09:55:52 +0200
committerAndreas Oberritter <obi@opendreambox.org>2012-09-05 09:55:52 +0200
commit633be8890db7d357e5794522b1285f3e83f54286 (patch)
tree59bdadec48b29268ade66770b127440def3bb0b2
parent0ba8294b3746980b7b93c2dbb9b9cba235c67c67 (diff)
downloadopenembedded-core-contrib-633be8890db7d357e5794522b1285f3e83f54286.tar.gz
fixup! sstate.bbclass: don't remove shared pkgdata if PACKAGE_ARCH changed to MACHINE_ARCH
-rw-r--r--meta/classes/sstate.bbclass23
1 files changed, 18 insertions, 5 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index a9d70e6cd9..becb3a0521 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -222,7 +222,13 @@ def sstate_clean_manifest(manifest, d):
from glob import glob
import oe.path
- check_package_arch = manifest.endswith('.package')
+ manifest_ending = '.package'
+ check_package_arch = manifest.endswith(manifest_ending)
+ if not check_package_arch:
+ deploy_pos = manifest.find('.deploy-')
+ check_package_arch = deploy_pos != -1
+ else:
+ deploy_pos = 0
if check_package_arch:
package_arch = d.getVar('PACKAGE_ARCH', True)
machine = d.getVar('MACHINE', True)
@@ -231,8 +237,15 @@ def sstate_clean_manifest(manifest, d):
pkg_set = set()
pn = d.getVar('PN', True)
sstate_manifests = d.getVar('SSTATE_MANIFESTS', True)
- pkgdata_dir = d.getVar('PKGDATA_DIR', True)
- pkgdata_root = '/'.join(pkgdata_dir.split('/')[:-1]) + '/'
+ if deploy_pos:
+ pkg_type = manifest[deploy_pos+8:]
+ manifest_ending = '.deploy-' + pkg_type
+ pkgdata_root = d.getVar('DEPLOY_DIR', True) + '/' + pkg_type + '/'
+ pkgdata_split_char = '/'
+ else:
+ pkgdata_dir = d.getVar('PKGDATA_DIR', True)
+ pkgdata_root = '/'.join(pkgdata_dir.split('/')[:-1]) + '/'
+ pkgdata_split_char = '-'
mfile = open(manifest)
entries = mfile.readlines()
@@ -241,11 +254,11 @@ def sstate_clean_manifest(manifest, d):
for entry in entries:
if check_package_arch:
if not package_arch_old and entry.startswith(pkgdata_root):
- package_arch_old = entry[len(pkgdata_root):].split('-')[0]
+ package_arch_old = entry[len(pkgdata_root):].split(pkgdata_split_char)[0]
if package_arch_old:
if package_arch_old != package_arch:
if not dir_scanned:
- for f in glob('%s/manifest-*-%s.package' % (sstate_manifests, pn)):
+ for f in glob('%s/manifest-*-%s%s' % (sstate_manifests, pn, manifest_ending)):
if f == manifest:
continue
tfile = open(f)