[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