From: Ralf Jung Date: Thu, 13 Sep 2012 10:06:22 +0000 (+0200) Subject: make the prefix options optional; fix SVN for the case that the parent folder does... X-Git-Url: https://git.ralfj.de/mass-build.git/commitdiff_plain/d81d19eaf43a265baba2b9d8e97d771ee66cde01 make the prefix options optional; fix SVN for the case that the parent folder does not yet exist; update sample config --- diff --git a/build_system.py b/build_system.py index bdca10a..1c0411b 100644 --- a/build_system.py +++ b/build_system.py @@ -25,9 +25,9 @@ class CMake: if waitAfterConfig: raw_input('Configuration done. Hit "Enter" to build the project. ') # run compilation - subprocess.check_call(self.config['buildCmdPrefix'] + ['make', '-j'+str(self.config['jobs'])]) + subprocess.check_call(self.config.get('buildCmdPrefix', []) + ['make', '-j'+str(self.config['jobs'])]) # run installation - subprocess.check_call(self.config['installCmdPrefix'] + ['make', 'install']) + subprocess.check_call(self.config.get('installCmdPrefix', []) + ['make', 'install']) # if auto-debuild is available, provide a wrapper for it try: diff --git a/mass-build.conf.kde.sample b/mass-build.conf.kde.sample index 535b6d4..4af7aaf 100644 --- a/mass-build.conf.kde.sample +++ b/mass-build.conf.kde.sample @@ -1,36 +1,36 @@ # global configuration installDir = '/opt/kde' +buildSystem = 'cmake' buildDir = 'build' buildType = 'Debug' jobs = 2 buildCmdPrefix = ['nice'] installCmdPrefix = [] -# helper function for the KDE modules - per default, they assume an SC module -defaultGitVersion = 'origin/master' # or 'origin/KDE/4.8' or 'v4.8.4' -defaultSvnVersion = 'trunk/KDE' # or 'branches/KDE/4.8' or 'tags/KDE/4.8.4' -def KDEGitModule(name, version=defaultGitVersion, **module): +# helper function for the modules +def KDEGitModule(name, **module): module['name'] = name - module['build-system'] = 'cmake' module['vcs'] = 'git' - module['url'] = 'kde:'+name # relies on the kde: prefix being set up for git - module['version'] = version + if 'url' not in module: module['url'] = 'kde:'+name return module -def KDESvnModule(name, svnPath=defaultSvnVersion, **module): +def KDESCSvnModule(name, svnPath='trunk/KDE', **module): module['name'] = name - module['build-system'] = 'cmake' module['vcs'] = 'svn' - module['url'] = 'svn://svn.kde.org/home/kde/'+svnPath+'/'+name + if 'url' not in module: module['url'] = 'svn://svn.kde.org/home/kde/'+svnPath+'/'+name return module # the modules we are interested in projects = [ # KDE support - {'folder': 'kdesupport', 'projects': [ + {'name': 'kdesupport', + 'projects': [ ]}, # KDE SC - {'folder': 'kde-sc', 'projects': [ + {'name': 'kde-sc', + 'version': 'origin/master', + 'projects': [ # KDE core - KDESvnModule('oxygen-icons', '/trunk/kdesupport'), # released within the SC, but located in kdesupport... + KDESCSvnModule('oxygen-icons', '/trunk/kdesupport'), # released within the SC, but located in kdesupport... KDEGitModule('kdelibs'), + KDEGitModule('nepomuk-core'), KDEGitModule('kactivities'), KDEGitModule('kdepimlibs'), KDEGitModule('kde-runtime'), @@ -38,13 +38,13 @@ projects = [ KDEGitModule('kde-baseapps'), KDEGitModule('kdepim-runtime'), # KDE applications - KDESvnModule('kde-wallpapers'), KDEGitModule('konsole'), KDEGitModule('kate'), KDEGitModule('kwallet'), ]}, # Extragear - {'folder': 'extragear', 'projects': [ - KDEGitModule('networkmanagement', 'v0.9.0.4') + {'name': 'extragear', + 'projects': [ + KDEGitModule('networkmanagement', version='v0.9.0.4') ]}, ] diff --git a/vcs.py b/vcs.py index 785a9ba..0dc9685 100644 --- a/vcs.py +++ b/vcs.py @@ -71,4 +71,5 @@ class SVN: if forceVersion: subprocess.check_call(['svn', 'revert', '-R', '.']) subprocess.check_call(['svn', 'switch', self.url]) # and update to the URL we got else: + os.makedirs(self.folder) # if even the parent folder does not exist, svn fails subprocess.check_call(['svn', 'co', self.url, self.folder]) # just download it