aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/ti/ti-eula-unpack.inc
diff options
context:
space:
mode:
authorKoen Kooi <k-kooi@ti.com>2009-11-16 10:17:24 +0100
committerKoen Kooi <koen@openembedded.org>2009-12-04 19:46:02 +0100
commitb788499815bfc1974d4277c0a261b9a7c24aa816 (patch)
tree6c0546c0891d884f835355d851ec07147165ddd2 /recipes/ti/ti-eula-unpack.inc
parent08dcecdc77ceb6a3673605216493905859f11982 (diff)
downloadopenembedded-b788499815bfc1974d4277c0a261b9a7c24aa816.tar.gz
recipes/ti: merge in updates
* New codec recipes from Arago team in Germantown * Updated dm6446 and dm355 from Brijesh Singh * cmem, gst-ti and dmai fixes from Brijesh Singh angstrom: introduce SOC_FAMILY and start using it TI recipes as a testing ground * SOC_FAMILY tells you which system on chip is used in the MACHINE, e.g. omap3, dm355, pxa25x, s3c24xx. This avoids having to duplicate lots of overrides in machine specific recipes. This is *NOT* intended to be used as a package arch.
Diffstat (limited to 'recipes/ti/ti-eula-unpack.inc')
-rw-r--r--recipes/ti/ti-eula-unpack.inc62
1 files changed, 62 insertions, 0 deletions
diff --git a/recipes/ti/ti-eula-unpack.inc b/recipes/ti/ti-eula-unpack.inc
new file mode 100644
index 0000000000..1c5a776e0b
--- /dev/null
+++ b/recipes/ti/ti-eula-unpack.inc
@@ -0,0 +1,62 @@
+# This file defines function used for unpacking the .bin file downloaded over
+# the http and display EULA.
+# BINFILE - name of the install jammer .bin file
+# TARFILE - name of the tar file inside the install jammer
+# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be
+# passed while unpacking the bin file. The keyword
+# workdir expands to WORKDIR and commands are appendded
+# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir"
+# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put
+# the output in some internal directory
+
+python do_unpack () {
+ bb.build.exec_func('base_do_unpack', d)
+ bb.build.exec_func('ti_bin_do_unpack', d)
+}
+
+TI_BIN_UNPK_WDEXT += ""
+python ti_bin_do_unpack() {
+
+ import os
+
+ localdata = bb.data.createCopy(d)
+ bb.data.update_data(localdata)
+
+ binfile = bb.data.getVar('BINFILE', localdata)
+ binfile = bb.data.expand(binfile, localdata)
+
+ # Change to the working directory
+ save_cwd = os.getcwd()
+ workdir = bb.data.getVar('WORKDIR', localdata)
+ workdir = bb.data.expand(workdir, localdata)
+ os.chdir(workdir)
+
+ # Get unpack commands
+ cmd_string = bb.data.getVar('TI_BIN_UNPK_CMDS', localdata)
+ cmd_list = cmd_string.split( ":" )
+
+ # Make the InstallJammer binary executable so we can run it
+ os.chmod(binfile, 0755)
+
+ # Run the InstallJammer binary and accept the EULA
+ filename = "HOME=%s ./%s" % (workdir, binfile)
+ f = os.popen(filename,'w')
+ for cmd in cmd_list:
+ if cmd == "workdir":
+ wdext = bb.data.getVar('TI_BIN_UNPK_WDEXT', localdata)
+ wdext = bb.data.expand(wdext, localdata)
+ cmd = workdir+wdext
+ print >>f, "%s\n" % cmd
+ f.close()
+
+ # Expand the tarball that was created if required
+ tarfile = bb.data.getVar('TARFILE', localdata)
+ if bool(tarfile) == True:
+ tarfile = bb.data.expand(tarfile, localdata)
+ tcmd = 'tar xz --no-same-owner -f %s -C %s' % (tarfile, workdir)
+ os.system(tcmd)
+
+ # Return to the previous directory
+ os.chdir(save_cwd)
+}
+