[Pkg-xfce-commits] r4207 - goodies/trunk/gigolo/debian

Yves-Alexis Perez corsac at alioth.debian.org
Sun Aug 1 09:29:15 UTC 2010


Author: corsac
Date: 2010-08-01 21:29:14 +0000 (Sun, 01 Aug 2010)
New Revision: 4207

Added:
   goodies/trunk/gigolo/debian/waf-runner-append
Modified:
   goodies/trunk/gigolo/debian/changelog
   goodies/trunk/gigolo/debian/rules
Log:
* debian/rules, debian/waf-runner-append:
  - fix FTBFS on hppa by patching waf at build time. *yurk*
* debian/rules:
  - call dpkg-buildflags for CFLAGS and LDFLAGS, add --as-needed to LDFLAGS.

Modified: goodies/trunk/gigolo/debian/changelog
===================================================================
--- goodies/trunk/gigolo/debian/changelog	2010-07-31 14:47:41 UTC (rev 4206)
+++ goodies/trunk/gigolo/debian/changelog	2010-08-01 21:29:14 UTC (rev 4207)
@@ -3,8 +3,12 @@
   * New upstream release.
   * debian/control:
     - update standards version to 3.9.1.
+  * debian/rules, debian/waf-runner-append:
+    - fix FTBFS on hppa by patching waf at build time. *yurk*
+  * debian/rules:
+    - call dpkg-buildflags for CFLAGS and LDFLAGS, add --as-needed to LDFLAGS.
 
- -- Yves-Alexis Perez <corsac at debian.org>  Sat, 31 Jul 2010 16:45:08 +0200
+ -- Yves-Alexis Perez <corsac at debian.org>  Sun, 01 Aug 2010 23:25:41 +0200
 
 gigolo (0.4.0-1) unstable; urgency=low
 

Modified: goodies/trunk/gigolo/debian/rules
===================================================================
--- goodies/trunk/gigolo/debian/rules	2010-07-31 14:47:41 UTC (rev 4206)
+++ goodies/trunk/gigolo/debian/rules	2010-08-01 21:29:14 UTC (rev 4207)
@@ -1,17 +1,27 @@
 #!/usr/bin/make -f
 
-WAF = ./waf --nocache
+CFLAGS=$(shell dpkg-buildflags --get CFLAGS)
+LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS)
+LDFLAGS+=-Wl,-z,defs -Wl,--as-needed
 
+WAFDIR=debian/waf
+WAF=WAFDIR=$(WAFDIR) ./waf
+
 clean:
 	dh_testdir
 	dh_testroot
 	rm -f build-stamp
 	$(WAF) distclean
+	rm -rf $(WAFDIR)
 	dh_clean
 
 build: build-stamp
 build-stamp:
 	dh build --before configure
+	$(WAF) --help > /dev/null
+	mkdir debian/waf
+	cp -a .waf-*/wafadmin debian/waf
+	cat debian/waf-runner-append >> $(WAFDIR)/wafadmin/Runner.py
 	$(WAF) configure --prefix=/usr
 	$(WAF) build
 	dh build --after build

Added: goodies/trunk/gigolo/debian/waf-runner-append
===================================================================
--- goodies/trunk/gigolo/debian/waf-runner-append	                        (rev 0)
+++ goodies/trunk/gigolo/debian/waf-runner-append	2010-08-01 21:29:14 UTC (rev 4207)
@@ -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




More information about the Pkg-xfce-commits mailing list