From deaea737cb8197cbd8c333f3158692774683dc9c Mon Sep 17 00:00:00 2001 From: Jeremy Laine Date: Sun, 18 May 2008 19:52:49 +0000 Subject: oestats-client.bbclass: upload log file when a task fails --- classes/oestats-client.bbclass | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'classes') diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index 880f02e62d..69c708c151 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -6,7 +6,7 @@ # # INHERIT += "oestats-client" # OESTATS_SERVER = "some.server.org:8000" -# OESTATS_BUILDER = "some title" +# OESTATS_BUILDER = "some_nickname" def oestats_setid(d, val): import bb @@ -18,7 +18,7 @@ def oestats_getid(d): f = file(bb.data.getVar('TMPDIR', d, True) + '/oestats.id', 'r') return f.read() -def oestats_send(server, action, vars = {}): +def oestats_send(server, action, vars = {}, files = {}): import httplib # build body @@ -30,6 +30,14 @@ def oestats_send(server, action, vars = {}): output.append('Content-Disposition: form-data; name="%s"' % key) output.append('') output.append(vars[key]) + for key in files: + assert files[key] + output.append('--' + bound) + output.append('Content-Disposition: form-data; name="%s"; filename="%s"' % (key, files[key]['filename'])) + output.append('Content-Type: %s' % files[key]['content-type']) + + output.append('') + output.append(files[key]['content']) output.append('--' + bound + '--') output.append('') body = "\r\n".join(output) @@ -90,6 +98,7 @@ def oestats_stop(server, d, status): def oestats_task(server, d, task, status): import bb + import glob import time # retrieve build id @@ -101,7 +110,19 @@ def oestats_task(server, d, task, status): elapsed = time.time() - float(bb.data.getVar('OESTATS_STAMP', d, True)) except: elapsed = 0 - + + # send the log for failures + files = {} + if status == 'Failed': + logs = glob.glob("%s/log.%s.*" % (bb.data.getVar('T', d, True), task)) + if len(logs) > 0: + log = logs[0] + bb.note("oestats: sending log file : %s" % log) + files['log'] = { + 'filename': 'log.txt', + 'content': file(log).read(), + 'content-type': 'text/plain'} + # send report try: response = oestats_send(server, "/builds/task/%s/" % id, { @@ -111,7 +132,7 @@ def oestats_task(server, d, task, status): 'task': task, 'status': status, 'time': str(elapsed), - }) + }, files) except: bb.note("oestats: error sending task, disabling stats") oestats_setid(d, "") -- cgit v1.2.3 From f941d53a64f990702b56e5ef93b2d5e76a9bb944 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 18 May 2008 20:54:49 +0000 Subject: image.bbclass: Fix image creation locking so creating multiple images at once works (#4193). Remap PACKAGE_INSTALL variable so packages to install can include names which are changed by debian.bbclass. (from poky) --- classes/image.bbclass | 3 +++ 1 file changed, 3 insertions(+) (limited to 'classes') diff --git a/classes/image.bbclass b/classes/image.bbclass index f8d896d813..35080c19eb 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -32,6 +32,8 @@ python () { for dep in (bb.data.getVar('EXTRA_IMAGEDEPENDS', d, True) or "").split(): deps += " %s:do_populate_staging" % dep bb.data.setVarFlag('do_rootfs', 'depends', deps, d) + + runtime_mapping_rename("PACKAGE_INSTALL", d) } # @@ -66,6 +68,7 @@ LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVa do_rootfs[nostamp] = "1" do_rootfs[dirs] = "${TOPDIR}" +do_rootfs[lockfiles] = "${IMAGE_ROOTFS}.lock" do_build[nostamp] = "1" # Must call real_do_rootfs() from inside here, rather than as a separate -- cgit v1.2.3 From 4be5061f23e7be7783ab2a70b6b49631ccb0ea9c Mon Sep 17 00:00:00 2001 From: Jeremy Laine Date: Mon, 19 May 2008 16:16:42 +0000 Subject: oestats-client.bbclass: switch to new URL scheme --- classes/oestats-client.bbclass | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'classes') diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index 69c708c151..ff07d6edca 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -5,7 +5,7 @@ # To make use of this class, add to your local.conf: # # INHERIT += "oestats-client" -# OESTATS_SERVER = "some.server.org:8000" +# OESTATS_SERVER = "some.server.org" # OESTATS_BUILDER = "some_nickname" def oestats_setid(d, val): @@ -44,7 +44,7 @@ def oestats_send(server, action, vars = {}, files = {}): # build headers headers = { - "User-agent": "oestats-client/0.1", + "User-agent": "oestats-client/0.2", "Content-type": "multipart/form-data; boundary=%s" % bound, "Content-length": str(len(body))} @@ -64,7 +64,7 @@ def oestats_start(server, builder, d): # send report id = "" try: - data = oestats_send(server, "/builds/start/", { + data = oestats_send(server, "/builds/", { 'builder': builder, 'revision': bb.data.getVar('METADATA_REVISION', d, True), 'machine': bb.data.getVar('MACHINE', d, True), @@ -90,7 +90,7 @@ def oestats_stop(server, d, status): # send report try: - response = oestats_send(server, "/builds/stop/%s/" % id, { + response = oestats_send(server, "/builds/%s/" % id, { 'status': status, }) except: @@ -125,7 +125,8 @@ def oestats_task(server, d, task, status): # send report try: - response = oestats_send(server, "/builds/task/%s/" % id, { + response = oestats_send(server, "/tasks/", { + 'build': id, 'package': bb.data.getVar('PN', d, True), 'version': bb.data.getVar('PV', d, True), 'revision': bb.data.getVar('PR', d, True), -- cgit v1.2.3 From d8f506cb09a7cecc7102c1cad4e894b0ce5ca488 Mon Sep 17 00:00:00 2001 From: Jeremy Laine Date: Mon, 19 May 2008 20:15:34 +0000 Subject: oestats-clients.bbclass: discriminate between Succeeded and Failed builds --- classes/oestats-client.bbclass | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index ff07d6edca..63380328bc 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -81,7 +81,7 @@ def oestats_start(server, builder, d): bb.note("oestats: error starting build, disabling stats") oestats_setid(d, id) -def oestats_stop(server, d, status): +def oestats_stop(server, d, failures): import bb # retrieve build id @@ -89,6 +89,11 @@ def oestats_stop(server, d, status): if not id: return # send report + if failures > 0: + status = "Failed" + else: + status = "Succeeded" + try: response = oestats_send(server, "/builds/%s/" % id, { 'status': status, @@ -155,7 +160,7 @@ python oestats_eventhandler () { if getName(e) == 'BuildStarted': oestats_start(server, builder, e.data) elif getName(e) == 'BuildCompleted': - oestats_stop(server, e.data, 'Completed') + oestats_stop(server, e.data, e.getFailures()) elif getName(e) == 'TaskStarted': bb.data.setVar('OESTATS_STAMP', repr(time.time()), e.data) elif getName(e) == 'TaskSucceeded': -- cgit v1.2.3 From f859bad02c38ba5b30feef13c3bfe9cf981ba7a9 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 20 May 2008 10:06:35 +0000 Subject: gtk-icon-cache.bbclass: Remove '-' characters from function names fixing issues with recent bitbakes (from poky) --- classes/gtk-icon-cache.bbclass | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'classes') diff --git a/classes/gtk-icon-cache.bbclass b/classes/gtk-icon-cache.bbclass index b86562890a..b256365175 100644 --- a/classes/gtk-icon-cache.bbclass +++ b/classes/gtk-icon-cache.bbclass @@ -3,14 +3,18 @@ RDEPENDS += "hicolor-icon-theme" # This could run on the host as icon cache files are architecture independent, # but there is no gtk-update-icon-cache built natively. -gtk-icon-cache_postinst() { +gtk_icon_cache_postinst() { if [ "x$D" != "x" ]; then exit 1 fi + +# Update the pixbuf loaders in case they haven't been registered yet +gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders + gtk-update-icon-cache -q /usr/share/icons/hicolor } -gtk-icon-cache_postrm() { +gtk_icon_cache_postrm() { gtk-update-icon-cache -q /usr/share/icons/hicolor } @@ -29,13 +33,13 @@ python populate_packages_append () { postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1) if not postinst: postinst = '#!/bin/sh\n' - postinst += bb.data.getVar('gtk-icon-cache_postinst', d, 1) + postinst += bb.data.getVar('gtk_icon_cache_postinst', d, 1) bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d) postrm = bb.data.getVar('pkg_postrm_%s' % pkg, d, 1) or bb.data.getVar('pkg_postrm', d, 1) if not postrm: postrm = '#!/bin/sh\n' - postrm += bb.data.getVar('gtk-icon-cache_postrm', d, 1) + postrm += bb.data.getVar('gtk_icon_cache_postrm', d, 1) bb.data.setVar('pkg_postrm_%s' % pkg, postrm, d) } -- cgit v1.2.3 From e8f7c8bf87b8fd06199be9c3990145b36b7a4227 Mon Sep 17 00:00:00 2001 From: Jeremy Laine Date: Tue, 20 May 2008 10:59:46 +0000 Subject: oestats-client.bbclass: add the DEPENDS variable to task reports --- classes/oestats-client.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index 63380328bc..c05ede481f 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -44,7 +44,7 @@ def oestats_send(server, action, vars = {}, files = {}): # build headers headers = { - "User-agent": "oestats-client/0.2", + "User-agent": "oestats-client/0.3", "Content-type": "multipart/form-data; boundary=%s" % bound, "Content-length": str(len(body))} @@ -135,6 +135,7 @@ def oestats_task(server, d, task, status): 'package': bb.data.getVar('PN', d, True), 'version': bb.data.getVar('PV', d, True), 'revision': bb.data.getVar('PR', d, True), + 'depends': bb.data.getVar('DEPENDS', d, True), 'task': task, 'status': status, 'time': str(elapsed), -- cgit v1.2.3 From 33f7b07fc5083c5951fc4dbbd64409752bde7c83 Mon Sep 17 00:00:00 2001 From: Jeremy Laine Date: Wed, 21 May 2008 13:18:46 +0000 Subject: base.bbclass: add a METADATA_BRANCH variable --- classes/base.bbclass | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 7ffb472058..3c6f5a15a1 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -706,6 +706,17 @@ def base_get_scmbasepath(d): path_to_bbfiles = bb.data.getVar( 'BBFILES', d, 1 ).split() return path_to_bbfiles[0][:path_to_bbfiles[0].rindex( "packages" )] +def base_get_metadata_monotone_branch(d): + monotone_branch = "" + try: + monotone_branch = file( "%s/_MTN/options" % base_get_scmbasepath(d) ).read().strip() + if monotone_branch.startswith( "database" ): + monotone_branch_words = monotone_branch.split() + monotone_branch = monotone_branch_words[ monotone_branch_words.index( "branch" )+1][1:-1] + except: + pass + return monotone_branch + def base_get_metadata_monotone_revision(d): monotone_revision = "" try: @@ -725,6 +736,7 @@ def base_get_metadata_svn_revision(d): pass return revision +METADATA_BRANCH ?= "${@base_get_metadata_monotone_branch(d)}" METADATA_REVISION ?= "${@base_get_metadata_monotone_revision(d)}" addhandler base_eventhandler @@ -757,7 +769,7 @@ python base_eventhandler() { if name.startswith("BuildStarted"): bb.data.setVar( 'BB_VERSION', bb.__version__, e.data ) - statusvars = ['BB_VERSION', 'METADATA_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU'] + statusvars = ['BB_VERSION', 'METADATA_BRANCH', 'METADATA_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU'] statuslines = ["%-17s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars] statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines) print statusmsg -- cgit v1.2.3 From b60d9d85853919d8b5c22332d3562bc530eaa150 Mon Sep 17 00:00:00 2001 From: Jeremy Laine Date: Wed, 21 May 2008 13:19:52 +0000 Subject: oestats-client.bbclass: report METADATA_BRANCH variable --- classes/oestats-client.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index c05ede481f..ed81a0377e 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -44,7 +44,7 @@ def oestats_send(server, action, vars = {}, files = {}): # build headers headers = { - "User-agent": "oestats-client/0.3", + "User-agent": "oestats-client/0.4", "Content-type": "multipart/form-data; boundary=%s" % bound, "Content-length": str(len(body))} @@ -66,6 +66,7 @@ def oestats_start(server, builder, d): try: data = oestats_send(server, "/builds/", { 'builder': builder, + 'branch': bb.data.getVar('METADATA_BRANCH', d, True), 'revision': bb.data.getVar('METADATA_REVISION', d, True), 'machine': bb.data.getVar('MACHINE', d, True), 'distro': bb.data.getVar('DISTRO', d, True), -- cgit v1.2.3 From 6dcedb8aaf489fdebb3049ae6c493c8b4451a1f3 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 21 May 2008 20:55:56 +0000 Subject: image.bbclass: Cleanup whitespace (from poky) --- classes/image.bbclass | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'classes') diff --git a/classes/image.bbclass b/classes/image.bbclass index 35080c19eb..af9d4a298c 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -45,17 +45,17 @@ python () { # is searched for in the BBPATH (same as the old version.) # def get_devtable_list(d): - import bb - devtable = bb.data.getVar('IMAGE_DEVICE_TABLE', d, 1) - if devtable != None: - return devtable - str = "" - devtables = bb.data.getVar('IMAGE_DEVICE_TABLES', d, 1) - if devtables == None: - devtables = 'files/device_table-minimal.txt' - for devtable in devtables.split(): - str += " %s" % bb.which(bb.data.getVar('BBPATH', d, 1), devtable) - return str + import bb + devtable = bb.data.getVar('IMAGE_DEVICE_TABLE', d, 1) + if devtable != None: + return devtable + str = "" + devtables = bb.data.getVar('IMAGE_DEVICE_TABLES', d, 1) + if devtables == None: + devtables = 'files/device_table-minimal.txt' + for devtable in devtables.split(): + str += " %s" % bb.which(bb.data.getVar('BBPATH', d, 1), devtable) + return str IMAGE_POSTPROCESS_COMMAND ?= "" MACHINE_POSTPROCESS_COMMAND ?= "" @@ -86,10 +86,10 @@ fakeroot do_rootfs () { rootfs_${IMAGE_PKGTYPE}_do_rootfs - insert_feed_uris + insert_feed_uris ${IMAGE_PREPROCESS_COMMAND} - + export TOPDIR=${TOPDIR} export DISTRO=${USERDISTRO} export MACHINE=${MACHINE} @@ -122,19 +122,19 @@ do_deploy_to () { insert_feed_uris () { echo "Building feeds for [${DISTRO}].." - + for line in ${FEED_URIS} do # strip leading and trailing spaces/tabs, then split into name and uri line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`" feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`" - feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`" + feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`" echo "Added $feed_name feed with URL $feed_uri" # insert new feed-sources echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/opkg/${feed_name}-feed.conf - done + done # Allow to use package deploy directory contents as quick devel-testing # feed. This creates individual feed configs for each arch subdir of those @@ -162,7 +162,7 @@ log_check() { else echo "Cannot find logfile [$lf_path]" fi - echo "Logfile is clean" + echo "Logfile is clean" done set -x @@ -173,7 +173,7 @@ log_check() { zap_root_password () { sed 's%^root:[^:]*:%root:*:%' < ${IMAGE_ROOTFS}/etc/passwd >${IMAGE_ROOTFS}/etc/passwd.new - mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd + mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd } create_etc_timestamp() { -- cgit v1.2.3 From 79c932022e1b9bbf3c75e38f8272ee243f227ae0 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 21 May 2008 20:59:07 +0000 Subject: image.bbclass: Remove use of bbimage (from poky) --- classes/image.bbclass | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'classes') diff --git a/classes/image.bbclass b/classes/image.bbclass index af9d4a298c..6350a733e8 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -57,6 +57,22 @@ def get_devtable_list(d): str += " %s" % bb.which(bb.data.getVar('BBPATH', d, 1), devtable) return str +def get_imagecmds(d): + import bb + cmds = "\n" + old_overrides = bb.data.getVar('OVERRIDES', d, 0) + for type in bb.data.getVar('IMAGE_FSTYPES', d, True).split(): + localdata = bb.data.createCopy(d) + bb.data.setVar('OVERRIDES', '%s:%s' % (type, old_overrides), localdata) + bb.data.update_data(localdata) + cmd = "\t#Code for image type " + type + "\n" + cmd += "\t${IMAGE_CMD_" + type + "}\n" + cmd += "\tcd ${DEPLOY_DIR_IMAGE}/\n" + cmd += "\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}." + type + "\n" + cmd += "\tln -s ${IMAGE_NAME}.rootfs." + type + " ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}." + type + "\n\n" + cmds += bb.data.expand(cmd, localdata) + return cmds + IMAGE_POSTPROCESS_COMMAND ?= "" MACHINE_POSTPROCESS_COMMAND ?= "" ROOTFS_POSTPROCESS_COMMAND ?= "" @@ -90,21 +106,7 @@ fakeroot do_rootfs () { ${IMAGE_PREPROCESS_COMMAND} - export TOPDIR=${TOPDIR} - export DISTRO=${USERDISTRO} - export MACHINE=${MACHINE} - - for type in ${IMAGE_FSTYPES}; do - if test -z "$FAKEROOTKEY"; then - fakeroot -i ${TMPDIR}/fakedb.image ${PYTHON} `which bbimage` -t $type -e ${FILE} - else - ${PYTHON} `which bbimage` -n "${IMAGE_NAME}" -t "$type" -e "${FILE}" - fi - - cd ${DEPLOY_DIR_IMAGE}/ - rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.$type - ln -s ${IMAGE_NAME}.rootfs.$type ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.$type - done + ${@get_imagecmds(d)} ${IMAGE_POSTPROCESS_COMMAND} -- cgit v1.2.3 From b0dd048c1678cad32e3457a4dfad7fbb24641125 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 21 May 2008 20:59:49 +0000 Subject: devshell.bbclass: Export variables used by the class (from poky) --- classes/devshell.bbclass | 3 +++ 1 file changed, 3 insertions(+) (limited to 'classes') diff --git a/classes/devshell.bbclass b/classes/devshell.bbclass index 35456b517b..2944dbbfc2 100644 --- a/classes/devshell.bbclass +++ b/classes/devshell.bbclass @@ -3,6 +3,9 @@ EXTRA_OEMAKE[export] = "1" do_devshell[dirs] = "${S}" do_devshell[nostamp] = "1" +export DISPLAY +export XAUTHORITY + devshell_do_devshell() { export TERMWINDOWTITLE="Bitbake Developer Shell" ${TERMCMD} -- cgit v1.2.3 From 2818d8b7be1a0d9a59ad3528091d47517d59328b Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 22 May 2008 14:44:46 +0000 Subject: kernel.bbclass: comment initramfs stuff till rootfs locking works properly (initramfs should be optional as well) --- classes/kernel.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 47bb4b91ef..a7d34ca476 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -91,9 +91,9 @@ do_builtin_initramfs() { # Make sure to kill injected initramfs, in case someone will do "-c compile -f" rm usr/initramfs_data.cpio.gz } -addtask builtin_initramfs after do_compile -do_builtin_initramfs[nostamp] = "1" -do_builtin_initramfs[depends] = "${INITRAMFS_IMAGE_TARGET}:do_rootfs" +#addtask builtin_initramfs after do_compile +#do_builtin_initramfs[nostamp] = "1" +#do_builtin_initramfs[depends] = "${INITRAMFS_IMAGE_TARGET}:do_rootfs" kernel_do_stage() { ASMDIR=`readlink include/asm` -- cgit v1.2.3 From 197bd064d5e8e08e8d3112a7765d5147da1b3e3a Mon Sep 17 00:00:00 2001 From: Jeremy Laine Date: Fri, 23 May 2008 08:50:10 +0000 Subject: seppuku.bbclass,oestats-client.bbclass: add bug number and tracker to oestats --- classes/oestats-client.bbclass | 9 ++++++--- classes/seppuku.bbclass | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'classes') diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index ed81a0377e..25388f4636 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -44,7 +44,7 @@ def oestats_send(server, action, vars = {}, files = {}): # build headers headers = { - "User-agent": "oestats-client/0.4", + "User-agent": "oestats-client/0.5", "Content-type": "multipart/form-data; boundary=%s" % bound, "Content-length": str(len(body))} @@ -66,8 +66,9 @@ def oestats_start(server, builder, d): try: data = oestats_send(server, "/builds/", { 'builder': builder, - 'branch': bb.data.getVar('METADATA_BRANCH', d, True), - 'revision': bb.data.getVar('METADATA_REVISION', d, True), + 'build_arch': bb.data.getVar('BUILD_ARCH', d, True), + 'metadata_branch': bb.data.getVar('METADATA_BRANCH', d, True), + 'metadata_revision': bb.data.getVar('METADATA_REVISION', d, True), 'machine': bb.data.getVar('MACHINE', d, True), 'distro': bb.data.getVar('DISTRO', d, True), }) @@ -140,6 +141,8 @@ def oestats_task(server, d, task, status): 'task': task, 'status': status, 'time': str(elapsed), + 'bug_number': bb.data.getVar('OESTATS_BUG_NUMBER', d, True) or "", + 'bug_tracker': bb.data.getVar('OESTATS_BUG_TRACKER', d, True) or "", }, files) except: bb.note("oestats: error sending task, disabling stats") diff --git a/classes/seppuku.bbclass b/classes/seppuku.bbclass index 1bdee28fa1..ab8096eb45 100644 --- a/classes/seppuku.bbclass +++ b/classes/seppuku.bbclass @@ -380,5 +380,10 @@ python seppuku_eventhandler() { else: print >> debug_file, "Not trying to create an attachment for bug #%s" % bug_number + # store bug number for oestats-client + if bug_number: + bb.data.setVar('OESTATS_BUG_NUMBER', bug_number, event.data) + bb.data.setVar('OESTATS_BUG_TRACKER', "http://bugs.openembedded.net/", event.data) + return NotHandled } -- cgit v1.2.3 From 41800d1e3a6804674d3fc807d7a2993aec241f34 Mon Sep 17 00:00:00 2001 From: Jeremy Laine Date: Fri, 23 May 2008 09:37:14 +0000 Subject: oestats-client.bbclass: don't include bug number/tracker if empty --- classes/oestats-client.bbclass | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'classes') diff --git a/classes/oestats-client.bbclass b/classes/oestats-client.bbclass index 25388f4636..968aa42c3b 100644 --- a/classes/oestats-client.bbclass +++ b/classes/oestats-client.bbclass @@ -118,7 +118,7 @@ def oestats_task(server, d, task, status): except: elapsed = 0 - # send the log for failures + # prepare files files = {} if status == 'Failed': logs = glob.glob("%s/log.%s.*" % (bb.data.getVar('T', d, True), task)) @@ -130,20 +130,25 @@ def oestats_task(server, d, task, status): 'content': file(log).read(), 'content-type': 'text/plain'} + # prepare report + vars = { + 'build': id, + 'package': bb.data.getVar('PN', d, True), + 'version': bb.data.getVar('PV', d, True), + 'revision': bb.data.getVar('PR', d, True), + 'depends': bb.data.getVar('DEPENDS', d, True), + 'task': task, + 'status': status, + 'time': str(elapsed)} + bug_number = bb.data.getVar('OESTATS_BUG_NUMBER', d, True) + bug_tracker = bb.data.getVar('OESTATS_BUG_TRACKER', d, True) + if bug_number and bug_tracker: + vars['bug_number'] = bug_number + vars['bug_tracker'] = bug_tracker + # send report try: - response = oestats_send(server, "/tasks/", { - 'build': id, - 'package': bb.data.getVar('PN', d, True), - 'version': bb.data.getVar('PV', d, True), - 'revision': bb.data.getVar('PR', d, True), - 'depends': bb.data.getVar('DEPENDS', d, True), - 'task': task, - 'status': status, - 'time': str(elapsed), - 'bug_number': bb.data.getVar('OESTATS_BUG_NUMBER', d, True) or "", - 'bug_tracker': bb.data.getVar('OESTATS_BUG_TRACKER', d, True) or "", - }, files) + response = oestats_send(server, "/tasks/", vars, files) except: bb.note("oestats: error sending task, disabling stats") oestats_setid(d, "") -- cgit v1.2.3