[SCM] guitarix/master: Add patch to make waf log to stdout; fixes mipsel build timeouts
viccuad-guest at users.alioth.debian.org
viccuad-guest at users.alioth.debian.org
Sun Apr 3 20:57:34 UTC 2016
The following commit has been merged in the master branch:
commit 9dae2f29434b08f9dadaf61c51c1f2333ce2b10d
Author: Víctor Cuadrado Juan <me at viccuad.me>
Date: Sun Apr 3 22:43:00 2016 +0200
Add patch to make waf log to stdout; fixes mipsel build timeouts
The patch is already upstreamed (it comes from
upstream)
diff --git a/debian/patches/06-log-stdout.patch b/debian/patches/06-log-stdout.patch
new file mode 100644
index 0000000..08c16bf
--- /dev/null
+++ b/debian/patches/06-log-stdout.patch
@@ -0,0 +1,165 @@
+Description: Patch waf to log to stdout instead of stderr
+Author: Hermann Meyer <brummer- at web.de>
+Origin: upstream
+Applied-Upstream: yes
+---
+--- a/wafadmin/Logs.py
++++ b/wafadmin/Logs.py
+@@ -2,7 +2,7 @@
+ # encoding: utf-8
+
+ import ansiterm
+-import os,re,logging,traceback,sys
++import os,re,logging,traceback,types,sys
+ from Constants import*
+ zones=''
+ verbose=0
+@@ -11,7 +11,7 @@ got_tty=False
+ term=os.environ.get('TERM','dumb')
+ if not term in['dumb','emacs']:
+ try:
+- got_tty=sys.stderr.isatty()or(sys.platform=='win32'and term in['xterm','msys'])
++ got_tty=sys.stderr.isatty() or sys.stdout.isatty()
+ except AttributeError:
+ pass
+ import Utils
+@@ -25,6 +25,38 @@ class foo(object):
+ return get_color(a)
+ def __call__(self,a):
+ return get_color(a)
++class WafStdStream(logging.Handler):
++ def __init__(self):
++ logging.Handler.__init__(self)
++ self.strm_out = sys.stdout
++ self.strm_err = sys.stderr
++ def flush(self):
++ if self.strm_out and hasattr(self.strm_out, "flush"):
++ self.strm_out.flush()
++ if self.strm_err and hasattr(self.strm_err, "flush"):
++ self.strm_err.flush()
++ def emit(self, record):
++ try:
++ msg = self.format(record)
++ # anything with level WARNING or above goes to stderr, otherwise to stdout
++ stream = self.strm_err if record.levelno >= logging.WARNING else self.strm_out
++ fs = "%s\n"
++ if not hasattr(types, "UnicodeType"): #if no unicode support...
++ stream.write(fs % msg)
++ else:
++ try:
++ if (isinstance(msg, unicode) or
++ getattr(stream, 'encoding', None) is None):
++ stream.write(fs % msg)
++ else:
++ stream.write(fs % msg.encode(stream.encoding))
++ except UnicodeError:
++ stream.write(fs % msg.encode("UTF-8"))
++ stream.flush()
++ except (KeyboardInterrupt, SystemExit):
++ raise
++ except:
++ self.handleError(record)
+ colors=foo()
+ re_log=re.compile(r'(\w+): (.*)',re.M)
+ class log_filter(logging.Filter):
+@@ -88,7 +120,7 @@ def init_log():
+ log=logging.getLogger()
+ log.handlers=[]
+ log.filters=[]
+- hdlr=logging.StreamHandler()
++ hdlr=WafStdStream()
+ hdlr.setFormatter(formatter())
+ log.addHandler(hdlr)
+ log.addFilter(log_filter())
+--- a/wafadmin/Build.py
++++ b/wafadmin/Build.py
+@@ -639,7 +639,7 @@ class BuildContext(Utils.Context):
+ self.cwd=kw['cwd']=self.bldnode.abspath()
+ return Utils.exec_command(cmd,**kw)
+ def printout(self,s):
+- f=self.log or sys.stderr
++ f=self.log or sys.stdout
+ f.write(s)
+ f.flush()
+ def add_subdirs(self,dirs):
+--- a/wafadmin/Scripting.py
++++ b/wafadmin/Scripting.py
+@@ -107,7 +107,7 @@ def prepare(t,cwd,ver,wafdir):
+ error(str(e))
+ sys.exit(1)
+ except KeyboardInterrupt:
+- Utils.pprint('RED','Interrupted')
++ Utils.eprint('RED','Interrupted')
+ sys.exit(68)
+ def main():
+ global commands
+--- a/wafadmin/Tools/intltool.py
++++ b/wafadmin/Tools/intltool.py
+@@ -56,7 +56,7 @@ def apply_intltool_po(self):
+ task.set_outputs(node.change_ext('.mo'))
+ if self.bld.is_install:task.install=install_translation
+ else:
+- Utils.pprint('RED',"Error no LINGUAS file found in po directory")
++ Utils.eprint('RED',"Error no LINGUAS file found in po directory")
+ Task.simple_task_type('po','${POCOM} -o ${TGT} ${SRC}',color='BLUE',shell=False)
+ Task.simple_task_type('intltool','${INTLTOOL} ${INTLFLAGS} ${INTLCACHE} ${INTLPODIR} ${SRC} ${TGT}',color='BLUE',after="cc_link cxx_link",shell=False)
+ def detect(conf):
+--- a/wafadmin/Tools/unittestw.py
++++ b/wafadmin/Tools/unittestw.py
+@@ -101,7 +101,7 @@ class unit_test(object):
+ if Options.options.progress_bar:sys.stdout.write(Logs.colors.cursor_on)
+ def print_results(self):
+ if not Options.commands[self.run_if_waf_does]:return
+- p=Utils.pprint
++ e=Utils.pprint
+ if self.total_num_tests==0:
+ p('YELLOW','No unit tests present')
+ return
+@@ -118,9 +118,9 @@ class unit_test(object):
+ elif result:n+=7
+ else:n+=3
+ line='%s %s'%(label,'.'*n)
+- if err:p('RED','%sERROR'%line)
++ if err:e('RED','%sERROR'%line)
+ elif result:p('GREEN','%sOK'%line)
+- else:p('YELLOW','%sFAILED'%line)
++ else:e('YELLOW','%sFAILED'%line)
+ percentage_ok=float(self.num_tests_ok)/float(self.total_num_tests)*100.0
+ percentage_failed=float(self.num_tests_failed)/float(self.total_num_tests)*100.0
+ percentage_erroneous=float(self.num_tests_err)/float(self.total_num_tests)*100.0
+--- a/wafadmin/Utils.py
++++ b/wafadmin/Utils.py
+@@ -306,6 +306,10 @@ def h_fun(fun):
+ pass
+ return h
+ def pprint(col,str,label='',sep='\n'):
++ "print messages in color on stdout"
++ sys.stdout.write("%s%s%s %s%s"%(Logs.colors(col),str,Logs.colors.NORMAL,label,sep))
++def eprint(col,str,label='',sep='\n'):
++ "print messages in color on stderr"
+ sys.stderr.write("%s%s%s %s%s"%(Logs.colors(col),str,Logs.colors.NORMAL,label,sep))
+ def check_dir(dir):
+ try:
+--- a/wscript
++++ b/wscript
+@@ -248,10 +248,7 @@ def set_options(opt):
+ #
+
+ def print_msg(msg, nl=True):
+- if HEXVERSION > 0x10500:
+- s = sys.stderr
+- else:
+- s = sys.stdout
++ s = sys.stdout
+ if nl:
+ t = "\n"
+ else:
+@@ -270,7 +267,7 @@ def display_msg(msg, status = None, colo
+ print_msg("%s" % msg.ljust(g_maxlen))
+
+ def error_msg(msg):
+- Utils.pprint('RED', msg)
++ Utils.eprint('RED', msg)
+
+ def display_feature(msg, build):
+ if build:
diff --git a/debian/patches/series b/debian/patches/series
index 5408399..3337d7d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+06-log-stdout.patch
05-fix-spelling.patch
04-fix-desktop.patch
03-update-changelog.patch
--
guitarix packaging
More information about the pkg-multimedia-commits
mailing list