First working prototype of auto-debuild integration
[mass-build.git] / build_system.py
index 073d432663ee5143f3c49831e18f0bca3747690c..5634f9dd1be6e10ce87ae56274f40686d2c234f7 100644 (file)
@@ -37,16 +37,32 @@ class CMake:
 try:
        import auto_debuild
        class AutoDebuild:
-               def __init__(self, sourceFolder, module):
-                       self.autoDebuildConfig = {}
+               def __init__(self, sourceFolder, module, vcs, config):
+                       self.sourceFolder = os.path.abspath(sourceFolder)
+                       self.autoDebuildConfig = {
+                               'sourceName': module['name'],
+                               'debDir': os.path.abspath(config['debDir']),
+                               'buildSystem': module.get('build-system', 'cmake'),
+                       }
+                       self.vcs = vcs
+                       self.configured = False # make sure configure is called before build/install
 
                def configure(self, force=False): # force is ignored
+                       self.autoDebuildConfig['version'] = self.vcs.version() # by now, data has been fetched, so this is possible
+                       os.chdir(self.sourceFolder)
+                       print self.sourceFolder,self.autoDebuildConfig
                        self.files = auto_debuild.createDebianFiles(self.autoDebuildConfig)
+                       self.configured = True
 
                def build(self):
+                       if not self.configured: self.configure()
+                       os.chdir(self.sourceFolder)
                        auto_debuild.buildDebianPackage(self.autoDebuildConfig)
 
                def install(self):
+                       if not self.configured: self.configure()
+                       os.chdir(self.sourceFolder)
                        subprocess.check_call(['sudo', 'dpkg', '--install'] + self.files)
 except ImportError:
+       print "auto_debuild not found, disabling auto-debuild system"
        pass