]> Frank Brehm's Git Trees - profitbricks/jenkins-build-scripts.git/commitdiff
put flavour into version number to support upgrades + more refactoring
authorHolger Levsen <holger@layer-acht.org>
Sun, 18 Sep 2011 16:06:30 +0000 (18:06 +0200)
committerHolger Levsen <holger@layer-acht.org>
Sun, 18 Sep 2011 16:06:30 +0000 (18:06 +0200)
kernel_build.py
kernel_inpbuilder.py

index 2a581c7be00cebf2bcb3978a440fde16b37697f5..5b01597a7fa54d7d9ca2506f304bdd757b8307c3 100644 (file)
@@ -194,6 +194,7 @@ if __name__ == '__main__':
     atexit.register(remove_git_target_workspace)
     kernel_revision_obj = get_last_kernel_revision_obj()
     new_version = kernel_revision_obj.last_version + 1
+    # FIXME: hotfix branch needs same persistance as master branch
     if not update_kernel_revision_obj(kernel_revision_obj, new_version):
         logger.info(
                 'Could not update persistence version to %s for %s'
index 5e344003b2e04c89a4aa7c100e9e3814b887d0cf..8cc5450c5058151ce9f79a4b92a8dad7c8c21929 100644 (file)
@@ -202,12 +202,11 @@ def build_kernel(version, revision, parallel_jobs='auto', distcc=False):
     else:
         parallel_jobs = int(parallel_jobs)
 
-    create_file('/etc/kernel-pkg.conf', 'maintainer := Profitbricks GmbH\nemail := %s\npriority := Low\ndebian = $(version)-%s' % (GIT_COMMITTER_EMAIL, revision))
 
     cmd = [MAKE_KPKG, '-j', '%s' %(parallel_jobs), '--arch',
             '%s' %(BUILD_ARCH), '--rootcmd', 'fakeroot',
             '--append-to-version', '-%s' %(version),
-            '--initrd', '--arch-in-name', 
+            '--initrd', '--arch_in_name', 
             'kernel_image' ]
 
     #'kernel_debug',
@@ -252,8 +251,9 @@ def create_file(path,data):
     except:
         raise
 
-def add_local_version_to_config(kernel_build_revision):
+def determine_kernel_flavour():
     # don't put the branch names into the packages names
+    # instead just use the flavour part:
     if GIT_BRANCH_NAME.startswith('master-'):
         flavour = GIT_BRANCH_NAME[7:]
     elif GIT_BRANCH_NAME.startswith('develop-'):
@@ -266,6 +266,20 @@ def add_local_version_to_config(kernel_build_revision):
         logger.error('GIT_BRANCH_NAME is %s, flavour is none.' % GIT_BRANCH_NAME)
         flavour = 'none'
 
+    # slightly different version numbers per branch
+    if flavour in ('master', 'hotfix'):
+        debian_version = '$(version)-build%s' % REVISION
+    elif flavour == 'release':
+        debian_version = '$(version)~rc%s' % REVISION
+    else:
+        debian_version = '$(version)~develop%s' % REVISION
+
+    # create appropriate /etc/kernel-pkg.conf
+    content = 'maintainer := Profitbricks GmbH\nemail := %s\npriority := Low\ndebian = %s\n' % (GIT_COMMITTER_EMAIL, debian_version)
+    create_file('/etc/kernel-pkg.conf', content)
+    logger.info('/etc/kernel-pkg.conf created with this content: %s' % content)
+
+    # return safely
     localversion = 'profitbricks-%s' % flavour
     return localversion
 
@@ -386,9 +400,8 @@ if __name__ == '__main__':
     if not git_checkout_branch():
         exit(ERROR)
 
-    new_version = REVISION
-    kernel_version = add_local_version_to_config(new_version)
-    logger.info('REVISION = %s, kernel_version = %s' %(REVISION,kernel_version))
+    kernel_flavour = determine_kernel_flavour()
+    logger.info('REVISION = %s, kernel_flavour = %s' %(REVISION,kernel_flavour))
 
     logger.debug('changing dir to %s' %(GIT_TARGET_DIR))
     os.chdir(GIT_TARGET_DIR)
@@ -398,7 +411,7 @@ if __name__ == '__main__':
             logger.error('Error during installation of extra kernel modules')
             exit(ERROR)
 
-    if not build_kernel(kernel_version, new_version):
+    if not build_kernel(kernel_flavour, REVISION):
         exit(ERROR)
     else:
         ftp = FTP(