Provided by: kernel-package_13.018_all bug

NAME

       kernel-pkg.conf - configuration file for make-kpkg

SYNOPSIS

       /etc/kernel-pkg.conf or ~/.kernel-pkg.conf

DESCRIPTION

       The  file  /etc/kernel-pkg.conf  or  ~/.kernel-pkg.conf  is  actually  a  Makefile snippet
       included during the kernel packages build  process,  and  hence  you  may  put  any  legal
       Makefile directive in that file (just make very sure you know what you are doing).  If the
       per user configuration file ~/.kernel-pkg.conf exists, it is loaded in favor of the system
       wide configuration file /etc/kernel-pkg.conf.

       All  the  variables have reasonable default values, and maybe overridden on a per run or a
       per individual basis by using environment variables.  Some of the variables can further be
       overridden by options to make-kpkg.

       At the moment, the user modifiable variables supported are:

       maintainer
              Local  kernel  (image,  header,  doc,  etc.)  package maintainer. Set up at package
              installation by the postinst.   Can  be  overridden  by  the  environment  variable
              KPKG_MAINTAINER.  Please note that any apostrophes "'" shall have to be quoted like
              so: maintainer = John O'\''Brien. Yes, this is ugly, but this works.

       email  The email address of that person.  Set up at package installation by the  postinst.
              Can be overridden by the environment variable KPKG_EMAIL.

       pgp    A  key-ID  to  use when signing packages. Usually passed along to dpkg-buildpackage
              using the -k option, and  also  third  party  modules  in  the  KMAINT  environment
              variable,  if separate modules (like pcmcia, etc.) are being built in $MODULE_PATH.
              Can be overridden by the environment  variable  PGP_SIGNATURE,  and  is  overridden
              (again) by the --pgpsign option of make-kpkg.  Defaults to maintainer.  (Optional)

       debian The  version  of  the  kernel  packages, includes both the upstream version and the
              Debian revision. Can be overridden by the environment variable DEBIAN_REVISION, and
              is  overridden  (again)  by  the  --revision  option  of  make-kpkg.   Defaults  to
              <VERSION>-10.0.0.Custom (Optional)

       debian_revision_mandatory
              Normally unset. If this, or the environment variable DEBIAN_REVISION_MANDATORY  are
              set,  then not providing a Debian revision results in an error (and make-kpkg shall
              not provide a default value of 10.0.0.Custom)

       kimage The kernel image type  (i.e.  zImage  or  bzImage).  Can  be  overridden  from  the
              environment  variable IMAGE_TYPE, and is overridden (again) by the options --zimage
              or --bzimage of make-kpkg.  Defaults to bzImage.  (Optional)

       config_target
              What type of configure step to do.   Defaults  to  oldconfig,  which  is  good  for
              non-interactive  (or  minimally  interactive)  runs.   (ENV  variable CONFIG_TARGET
              overrides this setting.)  If the value of config_target is not recognized, then  it
              is reset to oldconfig.

       use_saved_config
              This  is  an  experts  only  variable.  If set to NO (ENV variable USE_SAVED_CONFIG
              overrides this), the file .config.save in the top level directory is ignored.

       root_cmd
              This is a variable meant to be passed on to dpkg-buildpackage in  the  buildpackage
              target.   This  should  be set to a means of gaining superuser access (for example,
              `sudo' or `fakeroot') as needed by dpkg-buildpackages' -r option.  The  environment
              variable  ROOT_CMD  overrides  this.  Use the environment variable UNSIGN_SOURCE to
              pass an option to dpkg-buildpackage to not sign  the  source;  similarly,  use  the
              environment variable UNSIGN_CHANGELOG to pass an option to dpkg-buildpackage to not
              sign the changelog. Again, this  variable  is  only  useful  for  the  buildpackage
              target. Set the  environment variable ROOT_CMD if you just wish to build the kernel
              image, for instance.

       delete_build_link
              If set to YES, the symbolic link /lib/modules/$VERSION/build shall be removed  from
              the  resulting  .deb package.  The environment variable DELETE_BUILD_LINK overrides
              this. The default is unset. Note that this is case sensitive, yes shall not work.

       do_clean
              Set to YES, this causes a make clean to be run in  the  kernel  source  tree  after
              building  the kernel image package. The environment variable CLEAN_SOURCE overrides
              this.  The default is unset. Note that this is case sensitive, yes shall not work.

       install_vmlinux
              Set to YES to install the uncompressed kernel ELF image  along  with  the  bootable
              compressed  kernel  image  (vmlinuz).  The default is unset. Note that this is case
              sensitive, yes shall not work.

       image_clean_hook
              Set to point to an executable, this shall cause that executable to run from the top
              level  of  the  (temporary)  kernel image tree before the kernel image is packaged.
              This has no effect on anything other than the image that is being  packaged  --  if
              the  script operates on the current directory and its children, the original source
              tree should remain intact.  This is to facilitate messaging  of  the  kernel  image
              that is packaged.

       source_clean_hook
              Set to point to an executable, this shall cause that executable to run from the top
              level of the (temporary) kernel  source  tree  before  the  sources  are  packaged,
              ./debian/tmp-source/usr/src/kernel-source-X.X.XX.   This  has no effect on anything
              other than the sources that are being packaged -- if the  script  operates  on  the
              current  directory and its children, the original source tree should remain intact.
              This is to facilitate messaging of  the  kernel  sources  that  are  packaged  (for
              example,  to  remove  version  control  directories,  or  to  prune  away  unwanted
              architectures).

       header_clean_hook
              Set to point to an executable, this shall cause that executable to run from the top
              level  of the kernel headers before the headers are packaged. This has no effect on
              anything other than the sources that are being packaged -- if the  script  operates
              on  the  current directory and its children, the original source tree should remain
              intact. This is to facilitate messaging of the kernel  headers  that  are  packaged
              (for  example,  to  remove  version  control directories, or to prune away unwanted
              architectures).

       doc_clean_hook
              Set to point to an executable, this shall cause that executable to run from the top
              of  the  documentation  tree  before kernel documentation is packaged.  This has no
              effect on anything other than the documentation that is being packaged  --  if  the
              script operates on the current directory and its children, the original source tree
              should remain intact. This is to facilitate messaging of the  kernel  documentation
              that  is  packaged (for example, to remove version control directories, or to prune
              away unwanted architectures).

       extra_docs
              This variable should be set to the path of any extra documentation that  should  be
              installed  in  /usr/share/doc/kernel-image-X.X.XX/  directory. There is no checking
              for name conflicts, and the files are not compressed. Hence, if you want the  files
              to  be  compressed,  please  precompress  it and provide the path of the compressed
              file.  The environment variable EXTRA_DOCS overrides this, and would most likely be
              how extra documentation is specified.

       kpkg_follow_symlinks_in_src
              This  option  is  especially  useful  for  people  who use symlink farms to compile
              kernels. With this option, kernel-source and kernel-header packages  shall  not  be
              just  full  of  dangling  symlinks,  instead, the symbolic links shall be followed.
              Please note that any symbolic links in the kernel sources  would  be  flattened  as
              well.   The  environment  variable KPKG_FOLLOW_SYMLINKS_IN_SRC overrides this.  The
              default is unset.

       make_libc_headers
              This is meant to be used by the libc6 maintainer, when he compiles libc6,  to  also
              package up the corresponding headers.  DO NOT SET THIS unless you know what you are
              doing, since a mismatch between the headers you package and libc6 may well create a
              subtle  instability in all code compiled on your machine. You have been warned. The
              environment variable MAKE_LIBC_HEADERS overrides this.  The default is unset.

       CONCURRENCY_LEVEL
              If defined, this variable sets the concurrency level of make used  to  compile  the
              kernel  and  the  modules set using -j flags to the sub make in the build target of
              make-kpkg.  Should be a (small) integer, if used.

       ARCH_IN_NAME
              If defined, this variable causes make-kpkg to use an extended name for  the  kernel
              image  package  by  embedding  the subarchitecture  in the image name, so one could
              write a script to create multiple subarchitectures one after  the   other.   Please
              note that  only  the package name is  affected,  not module locations etc.

       CONFDIR
              Set this variable, either in the environment or in the config file, to point to the
              location where the kernel config files are located. These are architecture specific
              .config  files  (look  at  /usr/share/kernel-package/Config  for examples). This is
              useful for people who need  to  compile  for  several  architectures.  Defaults  to
              /usr/share/kernel-package/Config

       IMAGEDIR
              If  you  want  the image to be stored elsewhere than /boot set this variable to the
              dir where you want the image. This may be of help to  loadlin  users.  Defaults  to
              /boot.

       MODULE_LOC
              Set this variable, either in the environment or in the config file, to point to the
              location where the add-on modules are located. Defaults to /usr/src/modules

              The value of a variable can be set so:

       a)     Defaults exist in the rules file. These are the values used if no customization  is
              done.

       b)     Variables  can  be  set  in  the  config  file  /etc/kernel-pkg.conf.  These values
              override the defaults.

       c)     Variables can also be set by setting a corresponding environment  variable.   These
              values override the config file and the defaults.

       d)     Using make-kpkg options, or, if using the rules file directly, on command line
              # xxx/rules DEBIAN_REVISION=2.0a kernel_image
              This overrides all the above methods.

FILES

       The file described here is /etc/kernel-pkg.conf or ~/.kernel-pkg.conf.

SEE ALSO

       make(1), make-kpkg(1), kernel-img.conf(5), The GNU Make manual

BUGS

       There are no bugs.  Any resemblance thereof is delirium. Really.

AUTHOR

       This  manual  page  was  written by Manoj Srivastava <srivasta@debian.org>, for the Debian
       GNU/Linux system.