linux/debian
Maximilian Attems e6b0e1dad2 fix kernelvariables.patch
seems needed by build for non x86..

svn path=/dists/trunk/linux-2.6/; revision=12870
2009-02-19 14:46:05 +00:00
..
bin * debian/bin/buildcheck.py 2009-02-18 14:17:21 +00:00
config topconfig enable modular SQUASHFS 2009-02-19 14:11:23 +00:00
lib/python/debian_linux Merge /dists/sid/linux-2.6. 2008-12-28 16:55:48 +00:00
modules debian/modules/rules.include: 2007-10-10 14:13:14 +00:00
patches fix kernelvariables.patch 2009-02-19 14:46:05 +00:00
templates plain image simplify postinst 2009-02-18 02:01:03 +00:00
README * Set compiler build dependencies from config informations. 2006-01-06 22:32:16 +00:00
README.Debian kill ref to 2.4.19 change of the mem param. 2007-08-02 13:40:33 +00:00
README.build small Readme.build addition 2008-05-25 08:55:32 +00:00
changelog topconfig enable modular SQUASHFS 2009-02-19 14:11:23 +00:00
compat Initial commit of common kernel-image infrastructure. 2005-05-10 04:16:53 +00:00
copyright fix copyright xen upstream location 2008-07-23 23:20:04 +00:00
rules * debian/bin/abicheck.py, debian/bin/abiupdate.py: Use config dump. 2007-10-14 14:29:07 +00:00
rules.defs * Use generated rules, effectively remove second flavour resolver. 2005-08-14 19:59:43 +00:00
rules.real debian/rules.real: Drop removal of usr/include/scsi. 2009-02-18 15:15:03 +00:00

README

Migrating to the common kernel-image package
-------------------------------------------- 
Files for architecture <arch> should be placed into arch/<arch>. This
directory normally contains a common config file for this architecture
('config'), flavour-specific config files, Makefile.inc file,
controlling the build for this arch, and the defines file, containing
the machine descriptions for various flavours.  For arches with
subarches the subdirectory arch/<arch>/<subarch> with the same file
structure must be created for each subarch.

Kernel config files
-------------------
Configuration files are constructed dynamically by concatenating a number
of config files as described below. 

For architecture without subarches:

  arch/config
  arch/<arch>/config 
  arch/<arch>/config.<flavour>
  
For architecture with subarches:

  arch/config
  arch/<arch>/config
  arch/<arch>/<subarch>/config
  arch/<arch>/<subarch>/config.<flavour>

Control file
------------
The master control file debian/control must be generated before
the package is uploaded. debian/rules contains the debian/control 
target, which generates the control file by invoking the 
debian/bin/gencontrol.py script, which combines the templates from
the templates directory and arch/subarch specific defines file to
produce the debian/control file. Note that this target is intentionally
made to fail with a non-zero exit code to make sure that it is never
run during an automatic build. The following variables are substituted
into the templates:

@version@      Upstream kernel version, for example 2.6.11.
@major@        The major version, for example 2.6
@arch@         The Debian arch name, such as powerpc or i386.
@subarch@      The subarch - only used by powerpc right now.
@flavour@      The build flavour, such as 686 or k7-smp.
@class@        The CPU/architecture class; displayed in synopsis.  It should
               be fairly short, as the synopsis is supposed to be <80 chars.
               It should be in the form "foo class", and will show up in the
	       description as "foo class machines".
@longclass@    The CPU/architecture class; displayed in the extended
               description.  The same rules apply as in @class@.  If
	       this is unset, it will default to @class@.
@desc@         (Potentially) multi-line verbiage that's appended to
               -image descriptions.
@abiname@      Current abiname, a single digit.

Normally, the arch-specific contents should be controlled by
adjusting the corresponding defines file.

Makefile.inc
------------
Each architecture subdirectory in arch may contain a Makefile.inc
file, which is included by debian/rules after definining all the
variables. It may be used to override the standard variables on
per-architecture basis and other evil things. So far the valid uses of
this file include the setting of the following variables:

image_postproc

  A command to be run after the kernel image is built. As far as I know,
  it only required on sparc for stripping of the kernel which is too big
  to be booted otherwise. Typical use is too ugly to be presented here.