support new autogen option of auto-debuild
[mass-build.git] / build_system.py
index 75b55376aff6b85ec68d6ead64da0352282349ae..d761f998ac162222fa080db6ee00116cab4be8d6 100644 (file)
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-import os, shutil, subprocess
+import os, shutil, subprocess, multiprocessing
 
 '''A build system must have a "build" method with parameters "reconfigure" and "waitAfterConfig".'''
 
 
 '''A build system must have a "build" method with parameters "reconfigure" and "waitAfterConfig".'''
 
@@ -67,12 +67,12 @@ class CMake:
                self.restoreEnv('XDG_CONFIG_DIRS', oldXDGConfigDirs)
                # if asked to do so, wait
                if waitAfterConfig:
                self.restoreEnv('XDG_CONFIG_DIRS', oldXDGConfigDirs)
                # if asked to do so, wait
                if waitAfterConfig:
-                       raw_input('Configuration done. Hit "Enter" to build the project. ')
+                       input('Configuration done. Hit "Enter" to build the project. ')
                # run compilation
                # run compilation
-               jobs = int(self.config['jobs'])
+               jobs = multiprocessing.cpu_count()+1
                subprocess.check_call(self.config.get('buildCmdPrefix', []) + ['make', '-j'+str(jobs)])
                # run installation
                subprocess.check_call(self.config.get('buildCmdPrefix', []) + ['make', '-j'+str(jobs)])
                # run installation
-               subprocess.check_call(self.config.get('installCmdPrefix', []) + ['make', 'install', '-j'+str((jobs+1)/2)]) # jobs/2, rounded up
+               subprocess.check_call(self.config.get('installCmdPrefix', []) + ['make', 'install', '-j'+str((jobs+1)//2)]) # jobs/2, rounded up
 
 # if auto-debuild is available, provide a wrapper for it
 try:
 
 # if auto-debuild is available, provide a wrapper for it
 try:
@@ -98,7 +98,6 @@ try:
                                'buildDir': self.buildFolder,
                                'name': self.config['debName'],
                                'email': self.config['debEMail'],
                                'buildDir': self.buildFolder,
                                'name': self.config['debName'],
                                'email': self.config['debEMail'],
-                               'parallelJobs': self.config['jobs'],
                                'version': versionName + self.config.get('versionSuffix', ''),
                                'waitAfterConfig': waitAfterConfig,
                        }
                                'version': versionName + self.config.get('versionSuffix', ''),
                                'waitAfterConfig': waitAfterConfig,
                        }
@@ -106,13 +105,12 @@ try:
                        for option in ('epoch', 'dbgPackage', 'section', 'withPython2', 'withSIP', 'binarySkipFiles', 'binaryInstallFiles',
                                        'buildDepends', 'binaryDepends', 'binaryShims', 'binaryRecommends', 'binaryProvides', 'binaryConflicts', 'binaryBreaks',
                                        'binaryReplaces', 'binaryBreaksReplaces',
                        for option in ('epoch', 'dbgPackage', 'section', 'withPython2', 'withSIP', 'binarySkipFiles', 'binaryInstallFiles',
                                        'buildDepends', 'binaryDepends', 'binaryShims', 'binaryRecommends', 'binaryProvides', 'binaryConflicts', 'binaryBreaks',
                                        'binaryReplaces', 'binaryBreaksReplaces',
-                                       'alternatives', 'cmakeParameters', 'automakeParameters'):
+                                       'alternatives', 'cmakeParameters', 'automakeParameters', 'autogen'):
                                if option in self.config:
                                        autoDebuildConfig[option] = self.config[option]
                        # create Debian files
                        os.chdir(self.sourceFolder)
                                if option in self.config:
                                        autoDebuildConfig[option] = self.config[option]
                        # create Debian files
                        os.chdir(self.sourceFolder)
-                       if os.path.isdir('debian'): # clean previous build attempts
-                               shutil.rmtree('debian')
+                       auto_debuild.deleteDebianFolder()
                        files = auto_debuild.createDebianFiles(autoDebuildConfig)
                        # build package(s)
                        auto_debuild.buildDebianPackage(autoDebuildConfig)
                        files = auto_debuild.createDebianFiles(autoDebuildConfig)
                        # build package(s)
                        auto_debuild.buildDebianPackage(autoDebuildConfig)