'name': config['debName'],
'email': config['debEMail'],
}
- if buildSystem == 'cmakeParameters':
- self.autoDebuildConfig['cmakeParameters'] = module.get('cmakeParameters', [])
+ self.copyOption(config, 'jobs', 'parallelJobs')
+ self.copyOption(module, 'dbgPackage')
+ self.copyOption(module, 'skipFiles', 'binarySkipFiles')
+ self.copyOption(module, 'installFiles', 'binaryInstall')
+ self.copyOption(module, 'buildDepends')
+ self.copyOption(module, 'binaryDepends')
+ self.copyOption(module, 'binaryRecommends')
+ if buildSystem == 'cmake':
+ self.copyOption(module, 'cmakeParameters')
self.vcs = vcs
self.configured = False # make sure configure is called before build/install
+ def copyOption(self, src, name, dstName = None):
+ if dstName is None: dstName = name # per default, stick with original name
+ if name in src:
+ self.autoDebuildConfig[dstName] = src[name]
+
def configure(self, force=False): # force is ignored
+ if self.configured: return # do not configure twice
self.autoDebuildConfig['version'] = self.vcs.version() # by now, data has been fetched, so this is possible
- self.vcs.ignore('/debian/') # make sure the debian folder is ignored
+ if self.autoDebuildConfig['version'] is None:
+ raise Exception("VCS did not provide us with a proper version, please fix this")
os.chdir(self.sourceFolder)
- print self.autoDebuildConfig
+ #print self.autoDebuildConfig
self.files = auto_debuild.createDebianFiles(self.autoDebuildConfig)
self.configured = True
def build(self):
- if not self.configured: self.configure()
+ self.configure() # make sure we are configured (this call is idempotent)
os.chdir(self.sourceFolder)
auto_debuild.buildDebianPackage(self.autoDebuildConfig)
def install(self):
- if not self.configured: self.configure()
+ self.configure() # make sure we are configured (this call is idempotent)
os.chdir(self.sourceFolder)
subprocess.check_call(['sudo', 'dpkg', '--install'] + self.files)
except ImportError: