denzil pull request
cover denzil pull request
Hello,
This is a pull request for denzil. It includes a bitbake fix from MatthewM (poky-based tree only) and some Fedora 18 build fixes from Koen.
Build status: 100% Green.
nightly-x86: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-x86/builds/885
nightly-x86-lsb: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-x86-lsb/builds/214
nightly-x86-64: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-x86-64/builds/810
nightly-x86-64-lsb: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-x86-64-lsb/builds/209
nightly-arm: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-arm/builds/814
nightly-arm-lsb: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-arm-lsb/builds/207
nightly-mips: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-mips/builds/786
nightly-mips-lsb: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-mips-lsb/builds/213
nightly-ppc: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-ppc/builds/765
nightly-ppc-lsb: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-ppc-lsb/builds/217
nightly-non-gpl3: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-non-gpl3/builds/443
nightly-multilib: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-multilib/builds/444
nightly-tiny: Green
http://autobuilder.yoctoproject.org:8010/builders/nightly-tiny/builds/420
build-appliance: Green
http://autobuilder.yoctoproject.org:8010/builders/build-appliance/builds/220
eclipse-plugin: Green
http://autobuilder.yoctoproject.org:8010/builders/eclipse-plugin/builds/763
The following changes since commit 3456295898bf157e40ea1f8c335f0b7285d3d8a7:
build-appliance-image: Bump SRCREV (2013-01-04 22:23:43 +0000)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib sgarman/denzil-next
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=sgarman/denzil-next
Christopher Larson (1):
bitbake: command: add error to return of runCommand
Martin Jansa (1):
bison: move remove-gets.patch to BASE_SRC_URI, it's needed for
bison-native too if host has (e)glibc-2.16
Nitin A Kamble (1):
libtasn1: fix build with automake 1.12
Richard Purdie (2):
bitbake: command: Add missing import traceback
bitbake: command: Fix getCmdLineAction bugs
Saul Wold (2):
libtasn1: Update to 2.12
libtasn1: Upgrade to 2.13
bitbake/lib/bb/command.py | 46 +++++++++++++-------
bitbake/lib/bb/server/process.py | 2 +-
bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 5 ++-
bitbake/lib/bb/ui/depexp.py | 38 ++++++++++------
bitbake/lib/bb/ui/goggle.py | 17 +++++---
bitbake/lib/bb/ui/knotty.py | 45 +++++++++++++------
bitbake/lib/bb/ui/ncurses.py | 21 ++++++---
meta/recipes-devtools/bison/bison_2.5.bb | 4 +-
.../libtasn1/libtasn1_fix_for_automake_1.12.patch | 28 ++++++++++++
.../gnutls/{libtasn1_2.11.bb => libtasn1_2.13.bb} | 8 ++--
10 files changed, 150 insertions(+), 64 deletions(-)
create mode 100644 meta/recipes-support/gnutls/libtasn1/libtasn1_fix_for_automake_1.12.patch
rename meta/recipes-support/gnutls/{libtasn1_2.11.bb => libtasn1_2.13.bb} (65%)Signature · 1 line
1.7.9.5
PATCH 1/7 bison: move remove-gets.patch to BASE_SRC_URI, it's needed for bison-native too if host has (e)glibc-2.16
From: Martin Jansa <[email protected]>
--- meta/recipes-devtools/bison/bison_2.5.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-devtools/bison/bison_2.5.bb +2 -2
@@ -9,15 +9,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SECTION = "devel" DEPENDS = "bison-native flex-native" -PR = "r2" +PR = "r3" BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \ file://m4.patch \ + file://remove-gets.patch \ " SRC_URI = "${BASE_SRC_URI} \ file://fix_cross_manpage_building.patch \ - file://remove-gets.patch \ " SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
Signature · 1 line
1.7.9.5
PATCH 2/7 libtasn1: Update to 2.12
In reply to Scott GarmanFrom: Saul Wold <[email protected]>
Use the GUN_MIRROR correctly
---
.../gnutls/{libtasn1_2.11.bb => libtasn1_2.12.bb} | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
rename meta/recipes-support/gnutls/{libtasn1_2.11.bb => libtasn1_2.12.bb} (71%)meta/recipes-support/gnutls/libtasn1_2.12.bb renamed from meta/recipes-support/gnutls/libtasn1_2.11.bb +3 -3
@@ -10,10 +10,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ PR = "r0" -SRC_URI = "ftp://ftp.gnu.org/gnu/libtasn1/libtasn1-${PV}.tar.gz" +SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz" -SRC_URI[md5sum] = "ee8076752f2afcbcd12f3dd9bc622748" -SRC_URI[sha256sum] = "f4d43c77c12ceabf1a72911472fc8c67e43728b328dfb1b83fd519ed5d079afb" +SRC_URI[md5sum] = "4eba39fb962d6cf5a370267eae8ff52b" +SRC_URI[sha256sum] = "0e257a8a01c80e464f73262e13c226e04a15165c2ad087a340f53902281a1c5d" inherit autotools binconfig lib_package
Signature · 1 line
1.7.9.5
PATCH 3/7 libtasn1: fix build with automake 1.12
In reply to Scott GarmanFrom: Nitin A Kamble <[email protected]>
--- .../libtasn1/libtasn1_fix_for_automake_1.12.patch | 28 ++++++++++++++++++++ meta/recipes-support/gnutls/libtasn1_2.12.bb | 6 +++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-support/gnutls/libtasn1/libtasn1_fix_for_automake_1.12.patch
meta/recipes-support/gnutls/libtasn1/libtasn1_fix_for_automake_1.12.patch new file +28 -0
@@ -0,0 +1,28 @@ +Upstream-Status: Pending + +This patch avoids following issues with automake 1.12: + +| automake: warnings are treated as errors +| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/automake-1.12/am/ltlibrary.am: warning: 'libtasn1.la': linking libtool libraries using a non-POSIX +| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/x86_64-linux/usr/share/automake-1.12/am/ltlibrary.am: archiver requires 'AM_PROG_AR' in 'configure.ac' + +Signed-Off-By: Nitin A Kamble <[email protected]> +2012/05/02 + + +Index: libtasn1-2.11/configure.ac +=================================================================== +--- libtasn1-2.11.orig/configure.ac ++++ libtasn1-2.11/configure.ac +@@ -38,6 +38,11 @@ lgl_EARLY + AC_PROG_YACC + AC_PROG_LN_S + ++# automake 1.12 seems to require this, but automake 1.11 doesn't recognize it ++m4_pattern_allow([AM_PROG_AR]) ++AM_PROG_AR ++ ++ + dnl Checks for programs. + AC_PROG_INSTALL + AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
meta/recipes-support/gnutls/libtasn1_2.12.bb +4 -2
@@ -8,9 +8,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ file://README;endline=8;md5=c3803a3e8ca5ab5eb1e5912faa405351" -PR = "r0" +PR = "r1" -SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz" +SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ + file://libtasn1_fix_for_automake_1.12.patch \ + " SRC_URI[md5sum] = "4eba39fb962d6cf5a370267eae8ff52b" SRC_URI[sha256sum] = "0e257a8a01c80e464f73262e13c226e04a15165c2ad087a340f53902281a1c5d"
Signature · 1 line
1.7.9.5
PATCH 4/7 libtasn1: Upgrade to 2.13
In reply to Scott GarmanFrom: Saul Wold <[email protected]>
---
.../gnutls/{libtasn1_2.12.bb => libtasn1_2.13.bb} | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
rename meta/recipes-support/gnutls/{libtasn1_2.12.bb => libtasn1_2.13.bb} (80%)meta/recipes-support/gnutls/libtasn1_2.13.bb renamed from meta/recipes-support/gnutls/libtasn1_2.12.bb +3 -3
@@ -8,14 +8,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ file://README;endline=8;md5=c3803a3e8ca5ab5eb1e5912faa405351" -PR = "r1" +PR = "r0" SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ file://libtasn1_fix_for_automake_1.12.patch \ " -SRC_URI[md5sum] = "4eba39fb962d6cf5a370267eae8ff52b" -SRC_URI[sha256sum] = "0e257a8a01c80e464f73262e13c226e04a15165c2ad087a340f53902281a1c5d" +SRC_URI[md5sum] = "df27eaddcc46172377e6b907e33ddc83" +SRC_URI[sha256sum] = "a56e46483d1d42fe44ba58c9758620844042468d7c2d75f6318cdf3222745a91" inherit autotools binconfig lib_package
Signature · 1 line
1.7.9.5
PATCH 5/7 bitbake: command: add error to return of runCommand
In reply to Scott GarmanFrom: Christopher Larson <[email protected]>
Currently, command.py can return an error message from runCommand, due to being unable to run the command, yet few of our UIs (just hob) can handle it today. This can result in seeing a TypeError with traceback in certain rare circumstances.
To resolve this, we need a clean way to get errors back from runCommand, without having to isinstance() the return value. This implements such a thing by making runCommand also return an error (or None if no error occurred).
As runCommand now has a method of returning errors, we can also alter the getCmdLineAction bits such that the returned value is just the action, not an additional message. If a sync command wants to return an error, it raises CommandError(message), and the message will be passed to the caller appropriately.
Example Usage:
result, error = server.runCommand(...)
if error:
log.error('Unable to run command: %s' % error) return 1
(Bitbake rev: 717831b8315cb3904d9b590e633000bc897e8fb6)
--- bitbake/lib/bb/command.py | 43 +++++++++++++++---------- bitbake/lib/bb/server/process.py | 2 +- bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 5 ++- bitbake/lib/bb/ui/depexp.py | 38 ++++++++++++++-------- bitbake/lib/bb/ui/goggle.py | 17 +++++----- bitbake/lib/bb/ui/knotty.py | 45 ++++++++++++++++++--------- bitbake/lib/bb/ui/ncurses.py | 21 ++++++++----- 7 files changed, 112 insertions(+), 59 deletions(-)
bitbake/lib/bb/command.py +27 -16
@@ -44,6 +44,9 @@ class CommandFailed(CommandExit): self.error = message CommandExit.__init__(self, 1) +class CommandError(Exception): + pass + class Command: """ A queue of asynchronous commands for bitbake
@@ -57,21 +60,25 @@ class Command: self.currentAsyncCommand = None def runCommand(self, commandline): - try: - command = commandline.pop(0) - if command in CommandsSync.__dict__: - # Can run synchronous commands straight away - return getattr(CommandsSync, command)(self.cmds_sync, self, commandline) - if self.currentAsyncCommand is not None: - return "Busy (%s in progress)" % self.currentAsyncCommand[0] - if command not in CommandsAsync.__dict__: - return "No such command" - self.currentAsyncCommand = (command, commandline) - self.cooker.server_registration_cb(self.cooker.runCommands, self.cooker) - return True - except: - import traceback - return traceback.format_exc() + command = commandline.pop(0) + if hasattr(CommandsSync, command): + # Can run synchronous commands straight away + command_method = getattr(self.cmds_sync, command) + try: + result = command_method(self, commandline) + except CommandError as exc: + return None, exc.args[0] + except Exception: + return None, traceback.format_exc() + else: + return result, None + if self.currentAsyncCommand is not None: + return None, "Busy (%s in progress)" % self.currentAsyncCommand[0] + if command not in CommandsAsync.__dict__: + return None, "No such command" + self.currentAsyncCommand = (command, commandline) + self.cooker.server_registration_cb(self.cooker.runCommands, self.cooker) + return True, None def runAsyncCommand(self): try:
@@ -139,7 +146,11 @@ class CommandsSync: """ Get any command parsed from the commandline """ - return command.cooker.commandlineAction + cmd_action = command.cooker.commandlineAction + if cmd_action['msg']: + raise CommandError(msg) + else: + return cmd_action['action'] def getVariable(self, command, params): """
bitbake/lib/bb/server/process.py +1 -1
@@ -48,7 +48,7 @@ class ServerCommunicator(): if self.connection.poll(.5): return self.connection.recv() else: - return None + return None, "Timeout while attempting to communicate with bitbake server" except KeyboardInterrupt: pass
bitbake/lib/bb/ui/crumbs/hobeventhandler.py +4 -1
@@ -102,7 +102,10 @@ class HobHandler(gobject.GObject): def runCommand(self, commandline): try: - return self.server.runCommand(commandline) + result, error = self.server.runCommand(commandline) + if error: + raise Exception("Error running command '%s': %s" % (commandline, error)) + return result except Exception as e: self.commands_async = [] self.clear_busy()
bitbake/lib/bb/ui/depexp.py +25 -13
@@ -198,17 +198,23 @@ class gtkthread(threading.Thread): def main(server, eventHandler): try: - cmdline = server.runCommand(["getCmdLineAction"]) - if cmdline and not cmdline['action']: - print(cmdline['msg']) - return - elif not cmdline or (cmdline['action'] and cmdline['action'][0] != "generateDotGraph"): + cmdline, error = server.runCommand(["getCmdLineAction"]) + if error: + print("Error getting bitbake commandline: %s" % error) + return 1 + elif not cmdline: + print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") + return 1 + elif not cmdline or cmdline[0] != "generateDotGraph": print("This UI is only compatible with the -g option") - return - ret = server.runCommand(["generateDepTreeEvent", cmdline['action'][1], cmdline['action'][2]]) - if ret != True: - print("Couldn't run command! %s" % ret) - return + return 1 + ret, error = server.runCommand(["generateDepTreeEvent", cmdline[1], cmdline[2]]) + if error: + print("Error running command '%s': %s" % (cmdline, error)) + return 1 + elif ret != True: + print("Error running command '%s': returned %s" % (cmdline, ret)) + return 1 except xmlrpclib.Fault as x: print("XMLRPC Fault getting commandline:\n %s" % x) return
@@ -229,7 +235,9 @@ def main(server, eventHandler): try: event = eventHandler.waitEvent(0.25) if gtkthread.quit.isSet(): - server.runCommand(["stateStop"]) + _, error = server.runCommand(["stateStop"]) + if error: + print('Unable to cleanly stop: %s' % error) break if event is None:
@@ -302,9 +310,13 @@ def main(server, eventHandler): break if shutdown == 1: print("\nSecond Keyboard Interrupt, stopping...\n") - server.runCommand(["stateStop"]) + _, error = server.runCommand(["stateStop"]) + if error: + print('Unable to cleanly stop: %s' % error) if shutdown == 0: print("\nKeyboard Interrupt, closing down...\n") - server.runCommand(["stateShutdown"]) + _, error = server.runCommand(["stateShutdown"]) + if error: + print('Unable to cleanly shutdown: %s' % error) shutdown = shutdown + 1 pass
bitbake/lib/bb/ui/goggle.py +10 -7
@@ -80,16 +80,19 @@ def main (server, eventHandler): running_build.connect ("build-failed", running_build_failed_cb) try: - cmdline = server.runCommand(["getCmdLineAction"]) - if not cmdline: + cmdline, error = server.runCommand(["getCmdLineAction"]) + if err: + print("Error getting bitbake commandline: %s" % error) + return 1 + elif not cmdline: print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") return 1 - elif not cmdline['action']: - print(cmdline['msg']) + ret, error = server.runCommand(cmdline) + if error: + print("Error running command '%s': %s" % (cmdline, error)) return 1 - ret = server.runCommand(cmdline['action']) - if ret != True: - print("Couldn't get default commandline! %s" % ret) + elif ret != True: + print("Error running command '%s': returned %s" % (cmdline, ret)) return 1 except xmlrpclib.Fault as x: print("XMLRPC Fault getting commandline:\n %s" % x)
bitbake/lib/bb/ui/knotty.py +31 -14
73 lines not on this page · raw message
bitbake/lib/bb/ui/ncurses.py +14 -7
@@ -230,15 +230,18 @@ class NCursesUI: shutdown = 0 try: - cmdline = server.runCommand(["getCmdLineAction"]) + cmdline, error = server.runCommand(["getCmdLineAction"]) if not cmdline: print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") return - elif not cmdline['action']: - print(cmdline['msg']) + elif error: + print("Error getting bitbake commandline: %s" % error) return - ret = server.runCommand(cmdline['action']) - if ret != True: + ret, error = server.runCommand(cmdline) + if error: + print("Error running command '%s': %s" % (cmdline, error)) + return + elif ret != True: print("Couldn't get default commandlind! %s" % ret) return except xmlrpclib.Fault as x:
@@ -337,10 +340,14 @@ class NCursesUI: exitflag = True if shutdown == 1: mw.appendText("Second Keyboard Interrupt, stopping...\n") - server.runCommand(["stateStop"]) + _, error = server.runCommand(["stateStop"]) + if error: + print("Unable to cleanly stop: %s" % error) if shutdown == 0: mw.appendText("Keyboard Interrupt, closing down...\n") - server.runCommand(["stateShutdown"]) + _, error = server.runCommand(["stateShutdown"]) + if error: + print("Unable to cleanly shutdown: %s" % error) shutdown = shutdown + 1 pass
Signature · 1 line
1.7.9.5
PATCH 6/7 bitbake: command: Add missing import traceback
In reply to Scott GarmanFrom: Richard Purdie <[email protected]>
Without this, if an exception occurs the server will silently crash with no feedback to the user about why (since traceback isn't imported).
(Bitbake rev: e637a635bf7b5a9a2e9dc20afc18aceec98d578f)
--- bitbake/lib/bb/command.py | 1 + 1 file changed, 1 insertion(+)
bitbake/lib/bb/command.py +1 -0
@@ -69,6 +69,7 @@ class Command: except CommandError as exc: return None, exc.args[0] except Exception: + import traceback return None, traceback.format_exc() else: return result, None
Signature · 1 line
1.7.9.5
PATCH 7/7 bitbake: command: Fix getCmdLineAction bugs
In reply to Scott GarmanFrom: Richard Purdie <[email protected]>
Executing "bitbake" doesn't get a sane message since the None return value wasn't being handled correctly. Also fix msg -> cmd_action['msg'] as otherwise an invalid variable is accessed which then crashes the server due to the previous bug.
(Bitbake rev: c6211291ae07410832031a5274690437cc2b09a6)
--- bitbake/lib/bb/command.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
bitbake/lib/bb/command.py +4 -2
@@ -148,8 +148,10 @@ class CommandsSync: Get any command parsed from the commandline """ cmd_action = command.cooker.commandlineAction - if cmd_action['msg']: - raise CommandError(msg) + if cmd_action is None: + return None + elif 'msg' in cmd_action and cmd_action['msg']: + raise CommandError(cmd_action['msg']) else: return cmd_action['action']
Signature · 1 line
1.7.9.5
Richard Purdie
AppliedQuoted 5 lines · Scott Garman
Hello,
This is a pull request for denzil. It includes a bitbake fix from MatthewM (poky-based tree only) and some Fedora 18 build fixes from Koen.
[...]
Quoted 19 lines
The following changes since commit
3456295898bf157e40ea1f8c335f0b7285d3d8a7:build-appliance-image: Bump SRCREV (2013-01-04 22:23:43 +0000)
are available in the git repository at:
git://git.yoctoproject.org/poky-contribsgarman/denzil-next
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=sgarman/denzil-nextChristopher Larson (1):
bitbake: command: add error to return of runCommandMartin Jansa (1):
bison: move remove-gets.patch toBASE_SRC_URI, it's needed for
bison-native too if host has (e)glibc-2.16Nitin A Kamble (1):
libtasn1: fix build with automake 1.12
Quoted 7 lines
Richard Purdie (2):
bitbake: command: Add missing import traceback
bitbake: command: Fix getCmdLineAction bugsSaul Wold (2):
libtasn1: Update to 2.12
libtasn1: Upgrade to 2.13
Merged to denzil, thanks.
Richard