]> spindle.queued.net Git - midori/commitdiff
use a patched waf for hppa, thanks to Jakub Wilk (Closes: #559989)
authorRyan Niebur <ryanryan52@gmail.com>
Mon, 29 Mar 2010 07:34:59 +0000 (00:34 -0700)
committerRyan Niebur <ryanryan52@gmail.com>
Mon, 29 Mar 2010 07:34:59 +0000 (00:34 -0700)
debian/changelog
debian/rules
debian/runner-append [new file with mode: 0644]

index 1041cd49a3d90bf11774bcf4149d5028ec04be3e..9958ed7b277773f72f84eca0b2083623ae8894aa 100644 (file)
@@ -1,3 +1,9 @@
+midori (0.2.4-2) UNRELEASED; urgency=low
+
+  * use a patched waf for hppa, thanks to Jakub Wilk (Closes: #559989)
+
+ -- Ryan Niebur <ryan@debian.org>  Mon, 29 Mar 2010 00:34:33 -0700
+
 midori (0.2.4-1) unstable; urgency=low
 
   * New Upstream Version
index 3ac22cd7d87319cbcaddcdc95be6da487724f365..518bb8d30f715c2f181d5299198daf0dfaae00dd 100755 (executable)
@@ -19,7 +19,8 @@ override_dh_quilt_patch:
        $(CMD)
 
 #WAF=/usr/bin/waf
-WAF=./waf
+BASE_WAF=./waf
+WAF=env WAFDIR=debian/ $(BASE_WAF)
 
 debian/presubj: debian/presubj.in
        @echo "presubj parameters:"
@@ -33,20 +34,23 @@ debian/presubj: debian/presubj.in
 override_dh_install: debian/presubj
        $(CMD)
 
-override_dh_auto_clean:
+WAFADMIN_FILE=debian/wafadmin/Runner.py
+WAFADMIN_APPEND=debian/runner-append
+
+override_dh_auto_clean: $(WAFADMIN_FILE)
        $(WAF) --nocache distclean
        rm -rf _build_
 
-override_dh_auto_configure:
+override_dh_auto_configure: $(WAFADMIN_FILE)
        $(WAF) --nocache configure --prefix /usr
 
-override_dh_auto_build:
+override_dh_auto_build: $(WAFADMIN_FILE)
        $(WAF) --nocache build --debug full
 
-override_dh_auto_test:
+override_dh_auto_test: $(WAFADMIN_FILE)
        xvfb-run $(WAF) --nocache check
 
-override_dh_auto_install:
+override_dh_auto_install: $(WAFADMIN_FILE)
        $(WAF) --nocache install --destdir debian/tmp
        rm -f debian/tmp/usr/share/doc/midori/COPYING debian/tmp/usr/share/doc/midori/TRANSLATE
        rm -f debian/tmp/usr/share/midori/res/mootools.js
@@ -57,8 +61,15 @@ PRIORITY=$(shell sed -r -e '/DEBIAN_WWW_ALTERNATIVES_PRIORITY/ !d' -e 's/.* ([^
 debian/midori.postinst: debian/midori.postinst.base
        sed "s/DEBIAN_WWW_ALTERNATIVES_PRIORITY/$(PRIORITY)/g" debian/midori.postinst.base > debian/midori.postinst
 
+$(WAFADMIN_FILE): $(BASE_WAF) $(WAFADMIN_APPEND)
+       rm -fr debian/wafadmin/ .waf-*
+       $(BASE_WAF) --help >/dev/null
+       cp -a ./.waf-*/wafadmin debian/
+       rm -fr .waf-*
+       cat $(WAFADMIN_APPEND) >> $(WAFADMIN_FILE)
+
 override_dh_clean:
-       rm -fr .waf-1.5.3-575529c232c0559c3efb0adb3d077447/
+       rm -fr debian/wafadmin
        $(CMD)
 
 override_dh_installdeb: debian/midori.postinst
diff --git a/debian/runner-append b/debian/runner-append
new file mode 100644 (file)
index 0000000..17a4eeb
--- /dev/null
@@ -0,0 +1,100 @@
+# curl "http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=43;filename=xmms2-hppa.diff;att=1;bug=558983" | grep ^+ | grep -v ^+++ | sed 's/^+//' > debian/runner-append
+
+class Serial(object):
+
+       def __init__(self, bld, j=1):
+               self.manager = bld.task_manager
+               self.outstanding = []
+
+               # progress bar
+               self.total = self.manager.total()
+               self.processed = 0
+               self.error = 0
+
+               self.switchflag = 1 # postpone
+               
+               self.consumers = None
+
+       # warning, this one is recursive ..
+       def get_next(self):
+               if self.outstanding:
+                       t = self.outstanding.pop(0)
+                       self.processed += 1
+                       return t
+
+               # handle case where only one wscript exist
+               # that only install files
+               if not self.manager.groups:
+                       return None
+
+               (_, self.outstanding) = self.manager.get_next_set()
+               if not self.outstanding: return None
+
+               return self.get_next()
+
+       def postpone(self, tsk):
+               self.processed -= 1
+               self.switchflag *= -1
+               # this actually shuffle the list
+               if self.switchflag>0: self.outstanding.insert(0, tsk)
+               else:                 self.outstanding.append(tsk)
+
+       def start(self):
+               debug('runner: Serial start called')
+               while 1:
+                       # get next Task
+                       tsk = self.get_next()
+                       if tsk is None: break
+
+                       if Logs.verbose: debug('runner: retrieving %r' % tsk)
+
+                       st = tsk.runnable_status()
+                       if st == ASK_LATER:
+                               debug('runner: postponing %r' % tsk)
+                               self.postpone(tsk)
+                               continue
+
+                       #continue
+                       if st == SKIP_ME:
+                               tsk.hasrun = SKIPPED
+                               self.manager.add_finished(tsk)
+                               continue
+
+                       tsk.position = (self.processed, self.total)
+
+                       # display the command that we are about to run
+                       tsk.generator.bld.printout(tsk.display())
+
+                       # run the command
+                       if tsk.__class__.stat: ret = tsk.__class__.stat(tsk)
+                       else: ret = tsk.run()
+                       self.manager.add_finished(tsk)
+
+                       # non-zero means something went wrong
+                       if ret:
+                               self.error = 1
+                               tsk.hasrun = CRASHED
+                               tsk.err_code = ret
+                               if Options.options.keep: continue
+                               else: return -1
+
+                       try:
+                               tsk.post_run()
+                       except OSError:
+                               self.error = 1
+                               tsk.hasrun = MISSING
+                               if Options.options.keep: continue
+                               else: return -1
+                       else:
+                               tsk.hasrun = SUCCESS
+
+               if self.error:
+                       return -1
+
+import subprocess
+print "== Using patched Runner.py for HPPA =="
+p = subprocess.Popen(['dpkg', '--print-architecture'], stdout=subprocess.PIPE)
+arch = p.stdout.read().strip()
+p.wait()
+if arch == 'hppa':
+       Parallel = Serial