User Tools

Site Tools


project:kernel-autobuild:patching

patching kernel sources (as of 0.7)

  • kab_unpack_kernel_source:
    • uncompress & untar kernel source code to $BUILD_DIR (“build/”)
  • kab_apply_vserver_patch:
    • prepare vserver patch
      • make a copy of $RAW_PATCHNAME to “$RAW_PATCHNAME-as-downloaded” - if it doesn't exists already
      • otherwise restore $RAW_PATCHNAME from $RAW_PATCHNAME-as-downloaded
      • make a copy of $RAW_PATCHNAME to “generic.diff”
      • if patches are given by –vspatch-patch, expire older ones to $SRC_DIR/00-expired
      • if current kernel source version does not match the kernel version of the latest patch:
        • look for files named [0-9][0-9]-*.diff and apply them to “generic.diff”
          • therefore replace the name of the patch file to be patched by “generic.diff”
      • extract the value of the “NAME” variable from the current kernel source Makefile
      • replace VERSION PATCHLEVEL EXTRAVERSION and NAME inside kernel source Makefile to:
        • at least attach our signature
        • fix version information
      • save the patched vserver patch file to $PATCHNAME
    • apply the patch $PATCHNAME to the kernel source tree
    • return $KERN_FULL_VERSION to calling process
  • kab_apply_post_vserver_patch_patches:
    • apply patches specified with ”–add-patch”
      • this is where linux-*/script/package/builddeb is modified
  • kab_compile_and_package

patching kernel sources (as of 0.6)

  • kab_unpack_kernel_source:
    • uncompress & untar kernel source code to $BUILD_DIR (“build/”)
  • kab_apply_vserver_patch:
    • prepare vserver patch
      • make a copy of $RAW_PATCHNAME to “generic.diff”
      • if current kernel source version does not match the kernel version of the latest patch:
        • look for files named [0-9][0-9]-*.diff and apply them to “generic.diff”
          • therefore replace the name of the patch file to be patched by “generic.diff”
      • extract the value of the “NAME” variable from the current kernel source Makefile
      • replace VERSION PATCHLEVEL EXTRAVERSION and NAME inside kernel source Makefile to:
        • at least attach our signature
        • fix version information
      • save the patched vserver patch file to $PATCHNAME
    • apply the patch $PATCHNAME to the kernel source tree
    • return $KERN_FULL_VERSION to calling process
  • kab_apply_post_vserver_patch_patches:
    • apply patches specified with ”–add-patch”
      • this is where linux-*/script/package/builddeb is modified
  • kab_compile_and_package
project/kernel-autobuild/patching.txt · Last modified: 2016/03/31 13:59 by 79.250.120.183