[oe-commits] Koen Kooi : ti-devshell: TI version of devshell that has all the 'DVSDK' environment vars set

git version control git at git.openembedded.org
Fri May 14 19:37:04 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: eac38ab6958baef79a30a58b46f57d51ca2a802f
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=eac38ab6958baef79a30a58b46f57d51ca2a802f

Author: Koen Kooi <koen at openembedded.org>
Date:   Fri May 14 21:33:56 2010 +0200

ti-devshell: TI version of devshell that has all the 'DVSDK' environment vars set

---

 recipes/ti/ti-devshell.bb |   70 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/recipes/ti/ti-devshell.bb b/recipes/ti/ti-devshell.bb
new file mode 100644
index 0000000..610a79b
--- /dev/null
+++ b/recipes/ti/ti-devshell.bb
@@ -0,0 +1,70 @@
+DESCRIPTION = "Runs a shell in an environment as emitted by BitBake to execute tasks"
+LICENSE = "GPL"
+
+inherit autotools pkgconfig
+
+require ti-paths.inc 
+
+
+do_configure() {
+	:
+}
+
+def devshell_emit_env(o, d, all=False, funcwhitelist=None):
+    """Emits all items in the data store in a format such that it can be sourced by a shell."""
+
+    env = bb.data.keys(d)
+
+    for e in env:
+        if bb.data.getVarFlag(e, "func", d):
+            continue
+        bb.data.emit_var(e, o, d, all) and o.write('\n')
+
+    for e in env:
+        if not bb.data.getVarFlag(e, "func", d):
+            continue
+        if not funcwhitelist:
+            bb.data.emit_var(e, o, d) and o.write('\n')
+            continue
+        for i in funcwhitelist:
+            if e.startswith(i):
+                bb.data.emit_var(e, o, d) and o.write('\n')
+                break
+
+python do_compile() {
+	import os
+	import os.path
+
+	workdir = bb.data.getVar('WORKDIR', d, 1)
+	shellfile = os.path.join(workdir, bb.data.expand("${TARGET_PREFIX}${DISTRO}-${MACHINE}-ti-devshell", d))
+
+	f = open(shellfile, "w")
+
+	# emit variables and shell functions
+        devshell_emit_env(f, d, False, ["die", "oe", "autotools_do_configure"])
+
+	f.close()
+}
+
+do_install() {
+	:
+}
+
+do_deploy() {
+	shellfile="${TARGET_PREFIX}${DISTRO}-${MACHINE}-ti-devshell"
+
+	cd ${WORKDIR}
+
+	cp $shellfile tmpfile
+	echo "#!/bin/bash --rcfile" > $shellfile
+	sed -e "s:${S}:.:g" -e "s:exit 1:true:" tmpfile >> $shellfile
+
+	echo "export PS1='[OE::${TARGET_PREFIX}${DISTRO}-${MACHINE}]:\w\$ '" >> $shellfile
+	echo "alias ./configure=oe_runconf" >> $shellfile
+	echo "alias make=oe_runmake" >> $shellfile
+
+	mkdir -p ${DEPLOY_DIR}/addons
+	install -m 755 $shellfile ${DEPLOY_DIR}/addons
+}
+
+addtask deploy after do_install before do_package





More information about the Openembedded-commits mailing list