summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/sourcepkg.bbclass110
-rw-r--r--conf/machine/nokia770.conf6
-rw-r--r--conf/machine/tune-arm926ejs.conf2
3 files changed, 107 insertions, 11 deletions
diff --git a/classes/sourcepkg.bbclass b/classes/sourcepkg.bbclass
index 52cf2647b6..ee022c99d2 100644
--- a/classes/sourcepkg.bbclass
+++ b/classes/sourcepkg.bbclass
@@ -1,13 +1,111 @@
+DEPLOY_DIR_SRC ?= "${DEPLOY_DIR}/source"
+EXCLUDE_FROM ?= ".pc"
-do_tarballing(){
+# used as part of a path. make sure it's set
+DISTRO ?= "openembedded"
- mkdir -p ${DL_DIR}/sourcepkg/
+def get_src_tree(d):
+ import bb
+ import os, os.path
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ if not workdir:
+ bb.error("WORKDIR not defined, unable to find source tree.")
+ return
+
+ s = bb.data.getVar('S', d, 0)
+ if not s:
+ bb.error("S not defined, unable to find source tree.")
+ return
+
+ s_tree_raw = s.split('/')[1]
+ s_tree = bb.data.expand(s_tree_raw, d)
+
+ src_tree_path = os.path.join(workdir, s_tree)
+ try:
+ os.listdir(src_tree_path)
+ except OSError:
+ bb.fatal("Expected to find source tree in '%s' which doesn't exist." % src_tree_path)
+ bb.debug("Assuming source tree is '%s'" % src_tree_path)
+
+ return s_tree
+
+sourcepkg_do_create_orig_tgz(){
+
+ mkdir -p ${DEPLOY_DIR_SRC}
cd ${WORKDIR}
- echo '.pc' > tar-exclude
- tar cjvf ${DL_DIR}/sourcepkg/${P}.tar.bz2 `basename ${S}` -X tar-exclude
- md5sum ${DL_DIR}/sourcepkg/${P}.tar.bz2 > ${DL_DIR}/sourcepkg/${P}.tar.bz2.md5
+ for i in ${EXCLUDE_FROM}; do
+ echo $i >> temp/exclude-from-file
+ done
+
+ src_tree=${@get_src_tree(d)}
+
+ echo $src_tree
+ oenote "Creating .orig.tar.gz in ${DEPLOY_DIR_SRC}/${P}.orig.tar.gz"
+ tar cvzf ${DEPLOY_DIR_SRC}/${P}.orig.tar.gz $src_tree --exclude-from temp/exclude-from-file
+ cp -a $src_tree $src_tree.orig
+}
+
+sourcepkg_do_archive_bb() {
+
+ src_tree=${@get_src_tree(d)}
+ dest=${WORKDIR}/$src_tree/${DISTRO}
+ mkdir -p $dest
+
+ cp ${FILE} $dest
+}
+
+python sourcepkg_do_dumpdata() {
+ import os
+ import os.path
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ distro = bb.data.getVar('DISTRO', d, 1)
+ s_tree = get_src_tree(d)
+ openembeddeddir = os.path.join(workdir, s_tree, distro)
+ dumpfile = os.path.join(openembeddeddir, bb.data.expand("${P}-${PR}.showdata.dump",d))
+
+ try:
+ os.mkdir(openembeddeddir)
+ except OSError:
+ # dir exists
+ pass
+
+ bb.note("Dumping metadata into '%s'" % dumpfile)
+ f = open(dumpfile, "w")
+ # emit variables and shell functions
+ bb.data.emit_env(f, d, True)
+ # emit the metadata which isnt valid shell
+ for e in d.keys():
+ if bb.data.getVarFlag(e, 'python', d):
+ f.write("\npython %s () {\n%s}\n" % (e, bb.data.getVar(e, d, 1)))
+ f.close()
+}
+
+sourcepkg_do_create_diff_gz(){
+
+ cd ${WORKDIR}
+ for i in ${EXCLUDE_FROM}; do
+ echo $i >> temp/exclude-from-file
+ done
+
+
+ src_tree=${@get_src_tree(d)}
+
+ for i in `find . -maxdepth 1 -type f`; do
+ mkdir -p $src_tree/${DISTRO}/files
+ cp $i $src_tree/${DISTRO}/files
+ done
+
+ oenote "Creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz"
+ LC_ALL=C TZ=UTC0 diff --exclude-from=temp/exclude-from-file -Naur $src_tree.orig $src_tree | gzip -c > ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz
+ rm -rf $src_tree.orig
}
-addtask tarballing after do_patch before do_configure
+EXPORT_FUNCTIONS do_create_orig_tgz do_archive_bb do_dumpdata do_create_diff_gz
+addtask create_orig_tgz after do_unpack before do_patch
+addtask archive_bb after do_patch before do_dumpdata
+addtask dumpdata after archive_bb before do_create_diff_gz
+addtask create_diff_gz after do_dump_data before do_configure
diff --git a/conf/machine/nokia770.conf b/conf/machine/nokia770.conf
index c928093855..8b657281c7 100644
--- a/conf/machine/nokia770.conf
+++ b/conf/machine/nokia770.conf
@@ -11,8 +11,8 @@ XSERVER = "xserver-kdrive-omap"
# 800x480 is big enough for me
GUI_MACHINE_CLASS = "bigscreen"
-GPE_EXTRA_DEPENDS += "gaim sylpheed gpe-mini-browser"
-GPE_EXTRA_INSTALL += "gaim sylpheed gpe-mini-browser"
+GPE_EXTRA_DEPENDS += "gaim sylpheed gpe-mini-browser tscalib"
+GPE_EXTRA_INSTALL += "gaim sylpheed gpe-mini-browser tscalib"
# Use tune-arm926 per default. Machine independent feeds should be built with tune-strongarm.
include conf/machine/tune-arm926ejs.conf
@@ -56,5 +56,3 @@ pcmcia-cs apm ppp wireless-tools console-tools"
include conf/machine/handheld-common.conf
-
-
diff --git a/conf/machine/tune-arm926ejs.conf b/conf/machine/tune-arm926ejs.conf
index 563586c902..4e62a749dc 100644
--- a/conf/machine/tune-arm926ejs.conf
+++ b/conf/machine/tune-arm926ejs.conf
@@ -1,2 +1,2 @@
-TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ej-s"
+TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs"
PACKAGE_ARCH = "armv5te"