ti-devshell: TI version of devshell that has all the 'DVSDK' environment vars set
authorKoen Kooi <koen@openembedded.org>
Fri, 14 May 2010 19:33:56 +0000 (21:33 +0200)
committerKoen Kooi <koen@openembedded.org>
Fri, 14 May 2010 19:34:42 +0000 (21:34 +0200)
recipes/ti/ti-devshell.bb [new file with mode: 0644]

diff --git a/recipes/ti/ti-devshell.bb b/recipes/ti/ti-devshell.bb
new file mode 100644 (file)
index 0000000..610a79b
--- /dev/null
@@ -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