linux/debian
Ben Hutchings 6e6c9c982b Include <linux/sched.h> directly in speakup_soft.c now that other headers do not include it
svn path=/dists/trunk/linux-2.6/; revision=14466
2009-10-26 22:28:58 +00:00
..
bin Add simple build script for users to test patches. 2009-10-26 00:57:53 +00:00
config debian/config/config: Fix some options. 2009-10-24 16:30:14 +00:00
lib/python/debian_linux debian/lib/python/debian_linux/debian.py: 2009-09-14 09:42:44 +00:00
modules debian/modules/rules.include: 2007-10-10 14:13:14 +00:00
patches Include <linux/sched.h> directly in speakup_soft.c now that other headers do not include it 2009-10-26 22:28:58 +00:00
templates Improve package descriptions 2009-10-06 23:26:20 +00:00
README * Set compiler build dependencies from config informations. 2006-01-06 22:32:16 +00:00
README.Debian README.Debian: Add brief information about building specific binary packages (Closes: #546182) 2009-10-26 01:09:57 +00:00
README.build small Readme.build addition 2008-05-25 08:55:32 +00:00
changelog Update to 2.6.32-rc5. 2009-10-26 02:57:16 +00:00
compat * debian/changelog: Update. 2009-03-17 18:51:02 +00:00
copyright Fix Linus' name in copyright file (Closes: #530620) 2009-07-17 21:10:00 +00:00
rules debian/rules: Disallow all rules to run parallel. 2009-08-28 21:01:54 +00:00
rules.defs * Use generated rules, effectively remove second flavour resolver. 2005-08-14 19:59:43 +00:00
rules.real * [ia64] Fix call to elilo in postinst 2009-10-08 01:03:21 +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.