changeset 268:ae4746a0033c

use separate build handling
author hanwen <hanwen@xs4all.nl>
date Sun, 18 Dec 2005 15:46:21 +0100
parents 7e99a7b46461
children 686c5bdfdb74
files specs/gub.py
diffstat 1 files changed, 20 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/specs/gub.py	Sun Dec 18 15:45:18 2005 +0100
+++ b/specs/gub.py	Sun Dec 18 15:46:21 2005 +0100
@@ -1,9 +1,13 @@
+# own
 import cpm
 import cross
 import cvs
 import download
 import glob
+import buildnumber
 
+
+# sys
 import pickle
 import os
 import re
@@ -13,7 +17,6 @@
 import time
 
 
-
 log_file = None
 
 def grok_sh_variables (file):
@@ -107,17 +110,14 @@
 		raise 'read_pipe failed'
 	return output
 
-
-
-
-
+	
 class Package:
 	def __init__ (self, settings):
 		self.settings = settings
 		self.url = ''
 		self.download = self.wget
-		self.build_db = self.settings.topdir + '/.build_db.pickle'
-
+		self._build = get_build_number (self)
+		
 	def package_dict (self, env={}):
 		dict = self.settings.get_substitution_dict ()
 		for (k, v) in self.__dict__.items():
@@ -173,6 +173,9 @@
 		system (cmd % dict, env=dict, ignore_error=ignore_error,
 			verbose=self.settings.verbose)
 
+	def build ():
+		return '%d' % self._build
+
 	def skip (self):
 		pass
 
@@ -230,17 +233,16 @@
 	def name_version (self):
 		return '%s-%s' % (self.name (), self.version ())
 
-	def get_builds (self):
-		if os.path.exists (self.build_db):
-			return pickle.load (open (self.build_db))
-		return {}
-
-	def build (self):
-		k = self.name_version ()
-		builds = self.get_builds ()
-		if builds.has_key (k):
-			return builds[k]
-		return cpm.split_version (self.ball_version)[-1]
+	def get_builds  (self):
+		return builds
+	
+	def set_current_build (self):
+		bs = self.get_builds ()
+		bs.sort()
+		if bs:
+			self._build = bs[-1] + 1
+		else:
+			self._build = 1
 
 	def srcdir (self):
 		return self.settings.allsrcdir + '/' + self.basename ()