deiban packaging of linux kernel with sysmocom modifications
Go to file
Jurij Smakov 7cf165867d "Good enough to build broken i386 packages" commit.
Everything is more or less in place, need to audit
the build procedure for individual arches and put
in the remaining bits and pieces.

svn path=/branches/kernel-image-2.6.11/; revision=3113
2005-05-15 05:30:44 +00:00
arch "Good enough to build broken i386 packages" commit. 2005-05-15 05:30:44 +00:00
bin * Implemented 'unpack' target completely. 2005-05-11 02:05:18 +00:00
debian "Good enough to build broken i386 packages" commit. 2005-05-15 05:30:44 +00:00
README "Good enough to build broken i386 packages" commit. 2005-05-15 05:30:44 +00:00
header-install.in * Updated README. 2005-05-14 05:55:07 +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.
arch/<arch>/config.default   - the arch-specific config file used
                               to build the kernel-headers.
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. Typical usage:

  include_common_config := no

headers_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). See header-install.in file for detail. Typical usage:
  
  headers_dirs := sparc | sparc64

headers_subarch

  The subarch to pass to the --subarch option for the make-kpkg
  call to build the kernel-headers. Typical usage:

  headers_subarch := sparc64

added_patches

  Setting this variable to non-empty value will cause an option
  --added_patches to be added to the make-kpkg 'build' and
  'kernel-image' calls. The value of the variable will be
  given as an argument for the --added-patchs option. The value
  of this variable may contain a special string @uver@ which
  is going to be expanded into the upstream kernel's version
  with dots replaced by underscores (for example, 2_6_11 for the
  kernel version 2.6.11). Typical usage:

  added_patches := debian,hppa-@uver@

build_subarch

  Setting this variable to non-empty value will cause an option
  --subarch to be added to 'build' and 'kernel-image' make-kpkg
  calls, followed by the flavour for which the kernel is built.
  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. Typical usage:

  build_subarch := yes

  Note that the value of this variable is ignored.

build_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

  build_makeflags := 'CC=amd64-linux-gcc V=1'

  The value of the variable must be properly quoted.