KernelCompile - incorrect instructions for usage of AUTOBUILD

Bug #669886 reported by Vince McIntyre
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-docs (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: ubuntu-docs

This is a report about help.ubuntu.com/community/Kernel/Compile.
I didn't just dive in and change it because I wanted to check I wasn't making things worse. If you think I'm right let me know & I'll go fix the page.

I think the information on this page regarding building ubuntu kernels from the ubuntu git repository has some errors. I may be doing some thing wrong but here is what I observe.

I want to build a checkout somewhere between two tags
(eg revision 47309c6a6af8cce3586c735788fc978bbcd7249f.)

Setting the AUTOBUILD variable is supposed to make the build process append a string to the ABI number. Instead of packages like linux-image-2.6.32-25-generic, I should get linux-image-2.6.32-25-47349f-generic.

To make this happen I have to run the build like this:
  fakeroot debian/rules clean AUTOBUILD=1
  fakeroot debian/rules binary-generic AUTOBUILD=1

HOWEVER, doing it as described in the page
  fakeroot debian/rules clean
  AUTOBUILD=1 fakeroot debian/rules binary-generic
does not work, for two reasons.
1. if AUTOBUILD is not set when you run debian/rules clean, the ABI number is not given the extra suffix when debian/control is created. So the kernel build goes ahead but the packaging step fails with an error like this:
        dpkg-gencontrol: error: package linux-image-2.6.32-24-47349f-generic not in control info

2. I find that placing the AUTOBUILD=1 before the 'fakeroot' does not work, neither this way:
     AUTOBUILD=1 fakeroot debian/rules ...
   nor this way
      export AUTOBUILD=1 ; fakeroot debian/rules ...
    Doing it with AUTOBUILD=1 given after the makefile name (debian/rules) does work.

To reproduce:
 * check out the kernel git as per https://wiki.ubuntu.com/KernelTeam/KernelGitGuide
 * run the 'printenv' target of debian/rules with AUTOBUILD set or not set.

Here are my results:
  $ git remote -v
  origin git://kernel.ubuntu.com/ubuntu/ubuntu-lucid.git (fetch)
  origin git://kernel.ubuntu.com/ubuntu/ubuntu-lucid.git (push)

  $ git show
  commit 47309c6a6af8cce3586c735788fc978bbcd7249f
  ...
  $ echo $SHELL
  /bin/bash
  $ fakeroot debian/rules printenv|grep abinum
  abinum = 25
  $ AUTOBUILD=1 fakeroot debian/rules printenv|grep abinum
  abinum = 25
  $ fakeroot debian/rules printenv AUTOBUILD=1 |grep abinum
  abinum = 25-47349f

  $ cat /etc/lsb-release
  DISTRIB_ID=Ubuntu
  DISTRIB_RELEASE=10.04
  DISTRIB_CODENAME=lucid
  DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"

Tags: wiki
John Kim (kotux)
tags: added: wiki
description: updated
Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Hi Vince, and thanks for your report!

Please note that the page in question is a wiki page which anybody can edit - including you. ;-)
https://help.ubuntu.com/community/WikiGuide
Since you seem to know how it should be changed, it would be great if you could fix it.

Due to the nature of the community help wiki, you can't request changes to it in the form of bug reports.

Changed in ubuntu-docs (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.