+ def build(self, reconfigure=False): # reconfigure is ignored (we always do a reconfiguration)
+ # create auto-debuild configuration
+ autoDebuildConfig = {
+ 'sourceName': self.module['name'],
+ 'buildSystem': self.module['buildSystem'],
+ 'debDir': self.debDir,
+ 'buildDir': self.buildFolder,
+ 'name': self.debName,
+ 'email': self.debEMail,
+ 'parallelJobs': self.jobs,
+ 'version': self.vcs.version(),
+ 'waitAfterConfig': self.waitAfterConfig,
+ }
+ if autoDebuildConfig['version'] is None:
+ raise Exception("VCS did not provide us with a proper version number, please fix this")
+ # copy some more optional configuration
+ for option in ('dbgPackage', 'section', 'binarySkipFiles', 'binaryInstallFiles',
+ 'buildDepends', 'binaryDepends', 'binaryRecommends', 'binaryProvides',
+ 'cmakeParameters', 'automakeParameters'):
+ if option in self.module:
+ autoDebuildConfig[option] = self.module[option]
+ # create Debian files
+ os.chdir(self.sourceFolder)
+ if os.path.isdir('debian'): # clean previous build attempts
+ shutil.rmtree('debian')
+ files = auto_debuild.createDebianFiles(autoDebuildConfig)
+ # build package(s)
+ auto_debuild.buildDebianPackage(autoDebuildConfig)
+ # install package(s)
+ subprocess.check_call(['sudo', 'dpkg', '--install'] + files)