]> code.ossystems Code Review - openembedded-core.git/commitdiff
sstate: Get rid of crazy name mapping
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 18 Dec 2013 13:56:02 +0000 (13:56 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 18 Dec 2013 17:06:57 +0000 (17:06 +0000)
When originally developed, it was thought a task may have more than one associated
sstate archive. The way the code has grown that idea is now not possible or needed.
We can therefore assume one sstate archive per task and drop the crazy name
mapping code. Simpler is better in this case.

The downside is that various sstate archives will change name so this forces a cache
rebuild. Given the other sstate changes going in at this time, this isn't really
a bad thing as things would rebuild anyway.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/archive-configured-source.bbclass
meta/classes/archive-original-source.bbclass
meta/classes/archive-patched-source.bbclass
meta/classes/deploy.bbclass
meta/classes/license.bbclass
meta/classes/package.bbclass
meta/classes/package_deb.bbclass
meta/classes/package_ipk.bbclass
meta/classes/package_rpm.bbclass
meta/classes/sstate.bbclass
meta/classes/staging.bbclass

index 54c234406ae4ffb162e629e157d64f9fe6cd6c0a..961a53282a29fb5eec6c44bde707f3855651b972 100644 (file)
@@ -45,7 +45,6 @@ ARCHIVE_SSTATE_SCRIPTS_LOGS_INDIR = "${WORKDIR}/script-logs/"
 ARCHIVE_SSTATE_DIFFGZ_ENVDATA_INDIR = "${WORKDIR}/diffgz-envdata/"
 
 SSTATETASKS += "do_archive_scripts_logs"
-do_archive_scripts_logs[sstate-name] = "archive_scripts_logs"
 do_archive_scripts_logs[sstate-inputdirs] = "${ARCHIVE_SSTATE_SCRIPTS_LOGS_INDIR}"
 do_archive_scripts_logs[sstate-outputdirs] = "${ARCHIVE_SSTATE_OUTDIR}"
 
@@ -56,7 +55,6 @@ python do_archive_scripts_logs_setscene () {
 addtask do_archive_scripts_logs_setscene
 
 SSTATETASKS += "do_dumpdata_create_diff_gz"
-do_dumpdata_create_diff_gz[sstate-name] = "dumpdata_create_diff_gz"
 do_dumpdata_create_diff_gz[sstate-inputdirs] = "${ARCHIVE_SSTATE_DIFFGZ_ENVDATA_INDIR}"
 do_dumpdata_create_diff_gz[sstate-outputdirs] = "${ARCHIVE_SSTATE_OUTDIR}"
 
index 7e9ed6d11100db352a39b61ab71cbfa52ba36221..e271a08146790b0ce20b4504e8631a00c6a8e41a 100644 (file)
@@ -45,7 +45,6 @@ ARCHIVE_SSTATE_SCRIPTS_LOGS_INDIR = "${WORKDIR}/script-logs/"
 ARCHIVE_SSTATE_DIFFGZ_ENVDATA_INDIR = "${WORKDIR}/diffgz-envdata/"
 
 SSTATETASKS += "do_archive_scripts_logs"
-do_archive_scripts_logs[sstate-name] = "archive_scripts_logs"
 do_archive_scripts_logs[sstate-inputdirs] = "${ARCHIVE_SSTATE_SCRIPTS_LOGS_INDIR}"
 do_archive_scripts_logs[sstate-outputdirs] = "${ARCHIVE_SSTATE_OUTDIR}"
 
@@ -56,7 +55,6 @@ python do_archive_scripts_logs_setscene () {
 addtask do_archive_scripts_logs_setscene
 
 SSTATETASKS += "do_dumpdata_create_diff_gz"
-do_dumpdata_create_diff_gz[sstate-name] = "dumpdata_create_diff_gz"
 do_dumpdata_create_diff_gz[sstate-inputdirs] = "${ARCHIVE_SSTATE_DIFFGZ_ENVDATA_INDIR}"
 do_dumpdata_create_diff_gz[sstate-outputdirs] = "${ARCHIVE_SSTATE_OUTDIR}"
 
index d8d494a45d28135c26331d7cc8d4fc8f5ff958f3..c5f5cca3823f7401bc2a5ef7039742a8e3b98fbf 100644 (file)
@@ -45,7 +45,6 @@ ARCHIVE_SSTATE_SCRIPTS_LOGS_INDIR = "${WORKDIR}/script-logs/"
 ARCHIVE_SSTATE_DIFFGZ_ENVDATA_INDIR = "${WORKDIR}/diffgz-envdata/"
 
 SSTATETASKS += "do_archive_scripts_logs"
-do_archive_scripts_logs[sstate-name] = "archive_scripts_logs"
 do_archive_scripts_logs[sstate-inputdirs] = "${ARCHIVE_SSTATE_SCRIPTS_LOGS_INDIR}"
 do_archive_scripts_logs[sstate-outputdirs] = "${ARCHIVE_SSTATE_OUTDIR}"
 
@@ -56,7 +55,6 @@ python do_archive_scripts_logs_setscene () {
 addtask do_archive_scripts_logs_setscene
 
 SSTATETASKS += "do_dumpdata_create_diff_gz"
-do_dumpdata_create_diff_gz[sstate-name] = "dumpdata_create_diff_gz"
 do_dumpdata_create_diff_gz[sstate-inputdirs] = "${ARCHIVE_SSTATE_DIFFGZ_ENVDATA_INDIR}"
 do_dumpdata_create_diff_gz[sstate-outputdirs] = "${ARCHIVE_SSTATE_OUTDIR}"
 
index c3371421d8ab1cce443c91567f649569f8259038..78f5e4a7baccc2dfea1cb34962161c3acf35868d 100644 (file)
@@ -1,6 +1,5 @@
 DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
 SSTATETASKS += "do_deploy"
-do_deploy[sstate-name] = "deploy"
 do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"
 do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
 
index 8ad55f8031aa2bedf3dfc02c49185499ebefdba4..f075f593408b6e4ca02938ed512b47f313073344 100644 (file)
@@ -351,7 +351,6 @@ def check_license_flags(d):
     return None
 
 SSTATETASKS += "do_populate_lic"
-do_populate_lic[sstate-name] = "populate-lic"
 do_populate_lic[sstate-inputdirs] = "${LICSSTATEDIR}"
 do_populate_lic[sstate-outputdirs] = "${LICENSE_DIRECTORY}/"
 
index 44a852f3f6ee2f411c9372507f3977ffb4eaa086..eb4cf44ef08a045e1de26f05cb20714f6aff716f 100644 (file)
@@ -1931,7 +1931,6 @@ addtask package before do_build after do_install
 
 PACKAGELOCK = "${STAGING_DIR}/package-output.lock"
 SSTATETASKS += "do_package"
-do_package[sstate-name] = "package"
 do_package[cleandirs] = "${PKGDEST} ${PKGDESTWORK}"
 do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST} ${PKGDESTWORK}"
 do_package[sstate-lockfile-shared] = "${PACKAGELOCK}"
@@ -1949,7 +1948,6 @@ do_packagedata () {
 addtask packagedata before do_build after do_package
 
 SSTATETASKS += "do_packagedata"
-do_packagedata[sstate-name] = "packagedata"
 do_packagedata[sstate-inputdirs] = "${PKGDESTWORK}"
 do_packagedata[sstate-outputdirs] = "${PKGDATA_DIR}"
 do_packagedata[sstate-lockfile-shared] = "${PACKAGELOCK}"
index d18c250ecc4f6e3be60a4f5f279d25d55eb41417..82ff432f712ae59c49602319a08bb7c1698b8ae4 100644 (file)
@@ -412,7 +412,6 @@ python do_package_deb () {
 }
 
 SSTATETASKS += "do_package_write_deb"
-do_package_write_deb[sstate-name] = "deploy-deb"
 do_package_write_deb[sstate-inputdirs] = "${PKGWRITEDIRDEB}"
 do_package_write_deb[sstate-outputdirs] = "${DEPLOY_DIR_DEB}"
 
index d0db9454d181e5fcfbc1df8421bddcfa34f96eaf..e7b275577a90cac0237343639f975081e257840e 100644 (file)
@@ -415,7 +415,6 @@ python do_package_ipk () {
 }
 
 SSTATETASKS += "do_package_write_ipk"
-do_package_write_ipk[sstate-name] = "deploy-ipk"
 do_package_write_ipk[sstate-inputdirs] = "${PKGWRITEDIRIPK}"
 do_package_write_ipk[sstate-outputdirs] = "${DEPLOY_DIR_IPK}"
 
index 346b7abd53f4f5c0f1d078840018c27834d91b5b..fcde73ebe97c91d2e0893308b2ecf54eb2fefd3f 100644 (file)
@@ -1172,7 +1172,6 @@ python () {
 }
 
 SSTATETASKS += "do_package_write_rpm"
-do_package_write_rpm[sstate-name] = "deploy-rpm"
 do_package_write_rpm[sstate-inputdirs] = "${PKGWRITEDIRRPM}"
 do_package_write_rpm[sstate-outputdirs] = "${DEPLOY_DIR_RPM}"
 # Take a shared lock, we can write multiple packages at the same time...
index 9df9ac2429786df527675dd8636806c95a1f0189..199a5b3fc4e11049bb14b1f4d58b4d7f764c7f5d 100644 (file)
@@ -69,12 +69,9 @@ python () {
 
     unique_tasks = set((d.getVar('SSTATETASKS', True) or "").split())
     d.setVar('SSTATETASKS', " ".join(unique_tasks))
-    namemap = []
     for task in unique_tasks:
-        namemap.append(d.getVarFlag(task, 'sstate-name'))
         d.prependVarFlag(task, 'prefuncs', "sstate_task_prefunc ")
         d.appendVarFlag(task, 'postfuncs', " sstate_task_postfunc")
-    d.setVar('SSTATETASKNAMES', " ".join(namemap))
 }
 
 def sstate_init(name, task, d):
@@ -94,7 +91,9 @@ def sstate_state_fromvars(d, task = None):
             bb.fatal("sstate code running without task context?!")
         task = task.replace("_setscene", "")
 
-    name = d.getVarFlag("do_" + task, 'sstate-name', True)
+    name = task
+    if task.startswith("do_"):
+        name = task[3:]
     inputs = (d.getVarFlag("do_" + task, 'sstate-inputdirs', True) or "").split()
     outputs = (d.getVarFlag("do_" + task, 'sstate-outputdirs', True) or "").split()
     plaindirs = (d.getVarFlag("do_" + task, 'sstate-plaindirs', True) or "").split()
@@ -297,7 +296,7 @@ def sstate_clean_cachefile(ss, d):
 
 def sstate_clean_cachefiles(d):
     for task in (d.getVar('SSTATETASKS', True) or "").split():
-        ss = sstate_state_fromvars(d, task[3:])
+        ss = sstate_state_fromvars(d, task)
         sstate_clean_cachefile(ss, d)
 
 def sstate_clean_manifest(manifest, d):
@@ -365,11 +364,9 @@ python sstate_cleanall() {
     if not os.path.exists(manifest_dir):
         return
 
-    namemap = d.getVar('SSTATETASKNAMES', True).split()
     tasks = d.getVar('SSTATETASKS', True).split()
-    for name in namemap:
-        taskname = tasks[namemap.index(name)]
-        shared_state = sstate_state_fromvars(d, taskname[3:])
+    for name in tasks:
+        shared_state = sstate_state_fromvars(d, name)
         sstate_clean(shared_state, d)
 }
 
@@ -592,20 +589,11 @@ sstate_unpack_package () {
        tar -xmvzf ${SSTATE_PKG}
 }
 
-# Need to inject information about classes not in the global configuration scope
-EXTRASSTATEMAPS += "do_deploy:deploy"
-
 BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
 
 def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
 
     ret = []
-    mapping = {}
-    for t in d.getVar("SSTATETASKS", True).split():
-        mapping[t] = d.getVarFlag(t, "sstate-name", True)
-    for extra in d.getVar("EXTRASSTATEMAPS", True).split():
-        e = extra.split(":")
-        mapping[e[0]] = e[1]
 
     def getpathcomponents(task, d):
         # Magic data from BB_HASHFILENAME
@@ -614,8 +602,6 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
         extrapath = splithashfn[0]
 
         tname = sq_task[task][3:]
-        if sq_task[task] in mapping:
-            tname = mapping[sq_task[task]]
 
         if tname in ["fetch", "unpack", "patch"] and splithashfn[2]:
             spec = splithashfn[2]
index 3985763f4b67d83b475edf6865b0144ec40a4549..d17a53ebefac5e1889a02ebbd3f50fb129f70865 100644 (file)
@@ -97,7 +97,6 @@ python do_populate_sysroot () {
 
 SSTATETASKS += "do_populate_sysroot"
 do_populate_sysroot[cleandirs] = "${SYSROOT_DESTDIR}"
-do_populate_sysroot[sstate-name] = "populate-sysroot"
 do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}"
 do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_HOST}/"
 do_populate_sysroot[stamp-extra-info] = "${MACHINE}"