[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kernel packages skeleton



Wichert Akkerman wrote:
> I've finally gotten around to making a simple skeleton for packaging
> kernel modules. When I have some more free time I'll expand it a bit
> and write some documentation to go with it. Oh, and I might test it
> since it's currently completely untested :).
> 
> Anyway, for the interested the files are at
> http://www.wi.leidenuniv.nl/~wichert/debian/

I wrote up some basic docs on this a while ago and gave them to Manoj. here
they are again.

Kernel-package add on modules from the packager's perspective.
-------------------------------------------------------------

This explains how you, a developer, can integrate your package with
kernel-package, so when the user runs "make-kpkg modules_image",
kernel-package builds your kernel modules.

First, you need to make your package pack up its _source_ into a .deb file.
When this .deb is installed, it should place the source in
/usr/src/modules/<package>, or something similar. Or it can just install a
tarball in /usr/src/ that the user must manually unpack. There are
advantages and disadvantages to both approaches.

When the user runs make-kpkg, kernel-package looks at all
the directories in /usr/src/modules/. It cd's into each of them, and runs
"./debian/rules <target>". The rest is up to you; your debian/rules file
must provide the various targets kernel-package calls, which are:

  a) kdist_image      Compiles the modules and generates a .deb file containing them.
  b) kdist_configure  Configures your package.
  c) kdist            Generates the .deb, and also generates a .changes file
                     so the package may be uploaded.

Additionally, the following information is provided in the environment to
your debian/rules:
  a) KVERS  Contains the kernel version
  b) KSRC   Contains the location of the kernel sources 
  c) KMAINT Contains the Name of the maintainer to pass to PGP
  d) KEMAIL Caontains the email address of the maintainer

You typically want to put the .deb file you create in $(KSRC)/.. , which is
typically /usr/src, but may be something different.

You should encode the version of the kernel the modules are built for in the
package name, so you might use somthing like "<package>_$(KVERS)" as the
package name.

KMAINT and KEMAIL should be used in the .changes file generated by the kdist
target.

-- 
see shy jo


Reply to: