DOs

DON'Ts

Workflow

Environment

  1. Setup your git environment. e.g. Add these lines (appropriately modified) to your .bashrc

        export GIT_AUTHOR_NAME="Amit Kucheria";
        export GIT_AUTHOR_EMAIL="amit.kucheria@ubuntu.com";
        export GIT_COMMITTER_NAME="Amit Kucheria";
        export GIT_COMMITTER_EMAIL="amit.kucheria@ubuntu.com"; 
  2. Clone the git tree from zinc

        git clone git://kernel.ubuntu.com/amitk/ubuntu-intrepid-lpia.git 
  3. You need an lpia chroot to work with the kernel. Creating one is covered in DebootstrapChroot.

Rebasing

  1. Enter the kernel directory and run the rebase script. This should download the latest version of the Ubuntu kernel tree, export your patches, and rebase your patchset on top of the Ubuntu kernel commits.

        debian/scripts/misc/rebase-intrepid . 
    1. If everything goes smoothly (no conflicts during rebase), you will be left with your patches rebased on an updated Ubuntu Intrepid kernel in a new branch auto-tmp-remote

    2. There are instructions on how to make this your master branch if it passes your inspection
    3. If the rebase fails, fix the offending patch(es) and carry these changes to your master branch as above

New patches

  1. When committing a new patch, use the following commands

        git add <file names>
        git commit -s -F debian/commit-templates/sauce-patch -e 
    1. This ensures that your new patch is marked SAUCE. This allows the rebase script to treat it correctly.

Config changes

  1. To change configs, I find it convenient to use the prepare target in the build system as follows

    1. First merge the split configs

          cd debian/configs/lpia
          for cfg in config.*; do
            cat config >> $cfg
          done
          rm config
          cd ../../.. 
    2. Make changes to the config and copy it over

          fakeroot debian/rules prepare-lpia
          make O=debian/build/build-lpia/ menuconfig   (Make config changes as required)
          cp debian/build/build-lpia/.config debian/configs/lpia/config.lpia 
    3. Run splitconfig

          fakeroot debian/rules updateconfigs 
    4. Commit the config changes as a SAUCE patch

Uploads

  1. For doing ABI bumps and the actual uploads, please read the KernelMaintenanceStarter and KernelMaintenance wiki pages.

Tips

References