deiban packaging of linux kernel with sysmocom modifications
Go to file
Jurij Smakov 754c6795b1 * 'build' target implemented.
* Additional variables which can be defined
  on per-arch basis (in Makefile.inc) introduced
  and documented in README.

svn path=/branches/kernel-image-2.6.11/; revision=3044
2005-05-12 05:58:57 +00:00
arch * 'build' target implemented. 2005-05-12 05:58:57 +00:00
bin * Implemented 'unpack' target completely. 2005-05-11 02:05:18 +00:00
debian * 'build' target implemented. 2005-05-12 05:58:57 +00:00
README * 'build' target implemented. 2005-05-12 05:58:57 +00:00
header-install * Implemented 'unpack' target completely. 2005-05-11 02:05:18 +00:00
post-install Initial commit of common kernel-image infrastructure. 2005-05-10 04:16:53 +00:00

README

Config files
------------
All the config files live in the arch subdirectory. The config
file for a particular subarch is constructed by concatenating
the following files (any of them can be missing):

arch/config.common          - architecture-independent config file
arch/<arch>/config.common   - subarch-independent config file
                              for a particular architecture
arch<arch>/config.<subarch> - subarch-specific config file.

It is possible to avoid the inclusion of the arch-independent
config file (handy for the transitional period) by setting the
include_common_config variable to 'no' in arch/<arch>/Makefile.inc.

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 concatenating the 
common debian/control.in and all the arch/<arch>/control.in 
files, and performing the variable substitution. Currently the 
following variables are going to be substituted:

@karch@     Replaced by the architecture string, identical to
            DEB_HOST_ARCH, as returned by dpkg-architecture.
@version@   Upstream kernel version, for example 2.6.11.
@ktver@     Minor version of kernel-tree to build-depend on. 
@abiname@   Abiname value for this set of packages.
@kbpkg@     Current name and version of the kernel-build
            package to build-depend on. Typical value may 
            be 'kernel-build-2.6-3', for example.

After variable substitution the resulting file is formatted to
ensure that the only blank lines are the ones separating the
entries (i.e. before the next Package: line).

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:

include_common_config	

  Setting it to 'no' will prevent the common kernel config from being
  included for this particular architecture.

header_dirs		

  This variable is substituted into the headers-install script,
  controlling which asm-* directories are included into the
  kernel-headers package. By default it is set to karch (see
  above). For sparc, for example, if will have to be set to
  'sparc | sparc64' for the correct packages to be generated. See
  headers-install file for details.

arch_makeflags

  This variable may contain the make flags settings for the
  make-kpkg invocation in the 'build' target. Currently it is
  only used by amd64, where it should be set to something like

  arch_makeflags = 'CC=amd64-linux-gcc V=1"

added_patches

  Setting this variable to non-empty value will cause an option
  --added_patches to be added to the make-kpkg call in 'build'
  target, followed by the contents of this variable. Currently
  hppa is using it and it looks like ia64 have used it before.

arch_with_subarch

  Setting this variable to non-empty value will cause an option
  --subarch to be added to make-kpkg call in 'build' target,
  followed by the flavour for which the kernel is built. NOTE
  that the contents of this variable are completely ignored,
  any non-empty value indicates that --subarch option should
  be added. In general, if you wish to add subarch support for
  your architecture, you should contact kernel-package maintainer
  to ensure that the flavour name correctly maps onto a kernel
  subarch name. Currently only mips and sparc are using this
  facility, and both of them should be fine.