Provided by: kernel-package_9.001ubuntu15_all bug

NAME

       kernel-pkg.conf - site wide 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 favour of the system
       wide confguration 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-*   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    Name to search for in the pgp database if separate modules (like
              pcmcia etc)  are  being  built  in  /usr/src/modules/.   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 Debian revision of the kernel packages. Can be overridden by
              the environment  variable  DEBIAN_REVISION,  and  is  overridden
              (again)  by  the  --revision  option  of make-kpkg.  Defaults to
              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)

       link_in_boot
              Set  to  True if you want the symbolic link to the kernel image,
              namely, vmlinuz in /boot rather than  the  default  /.   Can  be
              overridden  by  the environment variable LINK_IN_BOOT.  Defaults
              to undefined.  (Optional)

       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)

       no_symlinks
              Whether  to use symlinks to the image file. Can be overridden by
              the  environment  variable  NO_SYMLINK  Mutualy   exclusive   to
              reverse_symlinks.   Can be used with link_in_boot.  The image is
              placed in vmlinuz (instead  of  /boot/vmlinuz-X.X.XX).  The  old
              vmlinuz is moved to vmlinuz.old unconditionally. (Normally, that
              is only done if the version of the new image differes  from  the
              old  one).  This  restricts  you  to two images, unless you take
              additional action and save copies of older images. This  is  for
              people  who  have  /boot  on a system that does not use symbolic
              links (and say, they use loadlin as a boot loader).  This  is  a
              Hack.  Defaults to  undefined (optional)

       reverse_symlinks
              Whether  to  use reverse symlinks (that is, the real file is the
              one without the version number, and the numberd version  is  the
              link)  to  the  image file. Can be overridden by the environment
              variable REVERSE_SYMLINK Mutualy exclusive to no_symlinks.   Can
              be  used  with link_in_boot.  Just like no_symlinks, except that
              the /boot/vmlinuz-X.XX is  symlinked  to  the  real  new  image,
              vmlinuz.  This,  too,  restricts  you  to just two images unless
              further action is taken. The older symlinks are  left  dangling.
              This  is  for people with /boot on umsdos, and who can’t see the
              link in dos, but do want to  know  the  image  version  when  in
              Linux.  This is a Hack.  Defaults to  undefined. (optional)

       patch_the_kernel
              This  is  an  experts only variable. If set to YES (ENV variable
              PATCH_THE_KERNEL  overrides  this),  the  build  process  causes
              run-parts           to           be           run           over
              /usr/src/kernel-patches/$(architecture)/apply  and   (hopefully)
              reverses  the  process  during  clean  by running run-parts over
              /usr/src/kernel-patches/$(architecture)/unpatch.   The   special
              architecture all is used for arch independent patches.

       config_target
              What type of configure step to do.  Defaults to oldconfig, which
              is good for non-interactive (or minimally interactive) runs.  If
              you  are setting patch_the_kernel to YES and some of the patches
              change what configuration settings are available, then  you  may
              wish to set this to something else (like menuconfig or xconfig).
              (ENV variable CONFIG_TARGET overrides  this  setting.)   If  the
              value   of   config_target  is  other  than  config,  oldconfig,
              menuconfig or xconfig 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,   similarily,   use   the   environment   variable
              UNSIGN_CHANGELOG  to  pass an option to dpkg-buildpackage to not
              sign the changelog. Again, this variable is only usefule 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.

       do_clean
              Set to anything but YES, this shall forego the make  clean  done
              in  the  kernel  source  tree  after  building  the kernel image
              package. The environment variable CLEAN_SOURCE overrides this.

       install_vmlinux
              Set to YES to install the uncompressed kernel  ELF  image  along
              with the bootable compressed kernel image (vmlinuz).  This image
              is necessary for profiling kernel and  userspace  with  oprofile
              (oprofile.sourceforge.net, i386 only).

       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 massaging 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 massaging 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 massaging 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
              massaging  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  symlinc
              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.

       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 instablity in all code compiled on your machine.
              You have been warned. The environment variable MAKE_LIBC_HEADERS
              overrides this.

       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
              This variable should  be  set  to  a  directory  which  contains
              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

       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. Defaults to /usr/share/kernel-package/Config

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

       ALL_PATCH_DIR
              Set this variable, either in the environment or  in  the  config
              file, to point to the location where the add-on arch independent
              kernel      patches      are      located.      Defaults      to
              /usr/src/kernel-patches/all

       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-kpkg(1), kernel-img.conf(5), make(1), 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.