summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-05-26 11:27:03 +0000
committerRichard Purdie <richard@openedhand.com>2006-05-26 11:27:03 +0000
commit3ed0468a0f058c690bd5de9657aeacf4b35ae42e (patch)
treef465289e4c6c020f25bbc0258eda3dd929d615d8
parent88a2a44bbaa6ee842333b99bf93c2a9cd25f90c0 (diff)
downloadopenembedded-core-3ed0468a0f058c690bd5de9657aeacf4b35ae42e.tar.gz
openembedded-core-3ed0468a0f058c690bd5de9657aeacf4b35ae42e.tar.bz2
openembedded-core-3ed0468a0f058c690bd5de9657aeacf4b35ae42e.tar.xz
openembedded-core-3ed0468a0f058c690bd5de9657aeacf4b35ae42e.zip
Remove manifest code from base.bbclass, fixing the error shown by the puzzles .bb file
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@425 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--openembedded/classes/base.bbclass84
-rw-r--r--openembedded/classes/manifest.bbclass80
2 files changed, 81 insertions, 83 deletions
diff --git a/openembedded/classes/base.bbclass b/openembedded/classes/base.bbclass
index 5f0e0d2fc..1b31d4345 100644
--- a/openembedded/classes/base.bbclass
+++ b/openembedded/classes/base.bbclass
@@ -579,23 +579,10 @@ do_populate_staging[dirs] = "${STAGING_DIR}/${TARGET_SYS}/bin ${STAGING_DIR}/${T
addtask populate_staging after do_compile
-#python do_populate_staging () {
-# if not bb.data.getVar('manifest', d):
-# bb.build.exec_func('do_emit_manifest', d)
-# if bb.data.getVar('do_stage', d):
-# bb.build.exec_func('do_stage', d)
-# else:
-# bb.build.exec_func('manifest_do_populate_staging', d)
-#}
-
python do_populate_staging () {
- if bb.data.getVar('manifest_do_populate_staging', d):
- bb.build.exec_func('manifest_do_populate_staging', d)
- else:
- bb.build.exec_func('do_stage', d)
+ bb.build.exec_func('do_stage', d)
}
-#addtask install
addtask install after do_compile
do_install[dirs] = "${S} ${B}"
@@ -603,14 +590,6 @@ base_do_install() {
:
}
-#addtask populate_pkgs after do_compile
-#python do_populate_pkgs () {
-# if not bb.data.getVar('manifest', d):
-# bb.build.exec_func('do_emit_manifest', d)
-# bb.build.exec_func('manifest_do_populate_pkgs', d)
-# bb.build.exec_func('package_do_shlibs', d)
-#}
-
base_do_package() {
:
}
@@ -625,38 +604,6 @@ do_build[func] = "1"
SHLIBS = ""
RDEPENDS_prepend = " ${SHLIBS}"
-python read_manifest () {
- import sys
- mfn = bb.data.getVar("MANIFEST", d, 1)
- if os.access(mfn, os.R_OK):
- # we have a manifest, so emit do_stage and do_populate_pkgs,
- # and stuff some additional bits of data into the metadata store
- mfile = file(mfn, "r")
- manifest = bb.manifest.parse(mfile, d)
- if not manifest:
- return
-
- bb.data.setVar('manifest', manifest, d)
-}
-
-python parse_manifest () {
- manifest = bb.data.getVar("manifest", d)
- if not manifest:
- return
- for func in ("do_populate_staging", "do_populate_pkgs"):
- value = bb.manifest.emit(func, manifest, d)
- if value:
- bb.data.setVar("manifest_" + func, value, d)
- bb.data.delVarFlag("manifest_" + func, "python", d)
- bb.data.delVarFlag("manifest_" + func, "fakeroot", d)
- bb.data.setVarFlag("manifest_" + func, "func", 1, d)
- packages = []
- for l in manifest:
- if "pkg" in l and l["pkg"] is not None:
- packages.append(l["pkg"])
- bb.data.setVar("PACKAGES", " ".join(packages), d)
-}
-
def explode_deps(s):
r = []
l = s.split()
@@ -740,15 +687,6 @@ python __anonymous () {
use_nls = bb.data.getVar('USE_NLS_%s' % pn, d, 1)
if use_nls != None:
bb.data.setVar('USE_NLS', use_nls, d)
-
- try:
- bb.build.exec_func('read_manifest', d)
- bb.build.exec_func('parse_manifest', d)
- except exceptions.KeyboardInterrupt:
- raise
- except Exception, e:
- bb.error("anonymous function: %s" % e)
- pass
}
python () {
@@ -772,26 +710,6 @@ python () {
return
}
-
-addtask emit_manifest
-python do_emit_manifest () {
-# FIXME: emit a manifest here
-# 1) adjust PATH to hit the wrapper scripts
- wrappers = bb.which(bb.data.getVar("BBPATH", d, 1), 'build/install', 0)
- path = (bb.data.getVar('PATH', d, 1) or '').split(':')
- path.insert(0, os.path.dirname(wrappers))
- bb.data.setVar('PATH', ':'.join(path), d)
-# 2) exec_func("do_install", d)
- bb.build.exec_func('do_install', d)
-# 3) read in data collected by the wrappers
- bb.build.exec_func('read_manifest', d)
-# 4) mangle the manifest we just generated, get paths back into
-# our variable form
-# 5) write it back out
-# 6) re-parse it to ensure the generated functions are proper
- bb.build.exec_func('parse_manifest', d)
-}
-
EXPORT_FUNCTIONS do_clean do_mrproper do_fetch do_unpack do_configure do_compile do_install do_package do_patch do_populate_pkgs do_stage
MIRRORS[func] = "0"
diff --git a/openembedded/classes/manifest.bbclass b/openembedded/classes/manifest.bbclass
new file mode 100644
index 000000000..687f4b756
--- /dev/null
+++ b/openembedded/classes/manifest.bbclass
@@ -0,0 +1,80 @@
+
+python read_manifest () {
+ import sys, bb.manifest
+ mfn = bb.data.getVar("MANIFEST", d, 1)
+ if os.access(mfn, os.R_OK):
+ # we have a manifest, so emit do_stage and do_populate_pkgs,
+ # and stuff some additional bits of data into the metadata store
+ mfile = file(mfn, "r")
+ manifest = bb.manifest.parse(mfile, d)
+ if not manifest:
+ return
+
+ bb.data.setVar('manifest', manifest, d)
+}
+
+python parse_manifest () {
+ manifest = bb.data.getVar("manifest", d)
+ if not manifest:
+ return
+ for func in ("do_populate_staging", "do_populate_pkgs"):
+ value = bb.manifest.emit(func, manifest, d)
+ if value:
+ bb.data.setVar("manifest_" + func, value, d)
+ bb.data.delVarFlag("manifest_" + func, "python", d)
+ bb.data.delVarFlag("manifest_" + func, "fakeroot", d)
+ bb.data.setVarFlag("manifest_" + func, "func", 1, d)
+ packages = []
+ for l in manifest:
+ if "pkg" in l and l["pkg"] is not None:
+ packages.append(l["pkg"])
+ bb.data.setVar("PACKAGES", " ".join(packages), d)
+}
+
+python __anonymous () {
+ try:
+ bb.build.exec_func('read_manifest', d)
+ bb.build.exec_func('parse_manifest', d)
+ except exceptions.KeyboardInterrupt:
+ raise
+ except Exception, e:
+ bb.error("anonymous function: %s" % e)
+ pass
+}
+
+#python do_populate_staging () {
+# if not bb.data.getVar('manifest', d):
+# bb.build.exec_func('do_emit_manifest', d)
+# if bb.data.getVar('do_stage', d):
+# bb.build.exec_func('do_stage', d)
+# else:
+# bb.build.exec_func('manifest_do_populate_staging', d)
+#}
+
+#addtask populate_pkgs after do_compile
+#python do_populate_pkgs () {
+# if not bb.data.getVar('manifest', d):
+# bb.build.exec_func('do_emit_manifest', d)
+# bb.build.exec_func('manifest_do_populate_pkgs', d)
+# bb.build.exec_func('package_do_shlibs', d)
+#}
+
+addtask emit_manifest
+python do_emit_manifest () {
+# FIXME: emit a manifest here
+# 1) adjust PATH to hit the wrapper scripts
+ wrappers = bb.which(bb.data.getVar("BBPATH", d, 1), 'build/install', 0)
+ path = (bb.data.getVar('PATH', d, 1) or '').split(':')
+ path.insert(0, os.path.dirname(wrappers))
+ bb.data.setVar('PATH', ':'.join(path), d)
+# 2) exec_func("do_install", d)
+ bb.build.exec_func('do_install', d)
+# 3) read in data collected by the wrappers
+ print("Got here2 213")
+ bb.build.exec_func('read_manifest', d)
+# 4) mangle the manifest we just generated, get paths back into
+# our variable form
+# 5) write it back out
+# 6) re-parse it to ensure the generated functions are proper
+ bb.build.exec_func('parse_manifest', d)
+}