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

Re: Modules packaging policy - call for discussion



On Mon, Apr 03, 2006 at 10:37:43PM -0700, Jurij Smakov wrote:
> Hi,
> 
> In the discussion I've seen so far most people tend to favor the system, 
> in which each individual module package builds the binary packages 
> matching the current kernels. Based on that I've written a very 
> preliminary draft of the policy (below). One problem with the 
> described scheme is that there seems to be no way to ensure that a binary 
> kernel module package gets upgraded when the kernel gets upgraded. If you 
> have any ideas on how to achieve this, please share. I'll continue working 
> on a sample debian/rules file. Comments and suggestions are welcome!

There is already one available on
svn://svn.debian.org/pkg-voip/zaptel-modules/trunk/debian.
or
http://svn.debian.org/wsvn/pkg-voip/zaptel-modules/trunk/debian/

> Packaging scheme
> ----------------
> Each source package containing the out-of-tree kernel module source
> should produce the following binary packages: the binary-source
> package, which contains the module source in the form suitable for
> building by module-assistant, and binary-binary packages, matching the
> kernels currently available in the archive.

Take a look at the zaptel-modules package.

> Source package
> --------------
> It should be possible to build all the binary packages from the source
> package simply by invoking the 'debian/rules binary' command. In order
> to build the binary-binary module packages for all supported flavours
> of the official kernels, the source package should Build-Depend on the 
> following packages:
> 
> * linux-headers-$(VERSION)-all: will pull in the linux-headers for
>   all supported flavours for current architecture.
> * module-assistant: recommended tool to build the binary modules.
> * linux-support-$(VERSION)-$(ABINAME): the support scripts and
>   Makefile snippets to simplify the building of the modules for
>   all flavours.

The have to use modules/gencontrol.py to generate informations about
available flavours, dependencies, build dependencies and compiler
settings.

> Binary-source package
> ---------------------
> The purpose of this package is to give the users a possibility to
> build the modules for a custom-built kernel. It should be adopted for
> building with module assistant, see m-a documentation for details.
> This package should have the name $(STEM)-source. It should include
> all files necessary for building the binary modules from source
> against the official linux-headers packages. If linux-headers does not
> contain all the files required for a module build, they should be
> shipped as a part of the package.
> 
> Binary-binary packages
> ----------------------
> Binary-binary packages should be named
> $(STEM)-linux-modules-$(VERSION)-$(ABI)-$(FLAVOUR), where $(VERSION), $(ABI)
> and $(FLAVOUR) parameters should match the corresponding values of the
> official linux-image package for which the module is built.

linux-modules-$NAME-$VERSION.

>                                                             Kernel modules 
> shipped in the package should be installed in
> /lib/modules/$(VERSION)-$(ABINAME)-$(FLAVOUR)/$(STEM) directory.

/lib/modules/$UNAME/extra/$NAME

>                                                                  The
> package should invoke 'depmod -a' in its postinst

and postrm

>                                                   script if the 
> version, abiname and flavour of the kernel running at the installation
> time is the same as the version of the kernel it has been built for. 
> The recommended way to build these packages is by

a real source package.

Bastian

-- 
Ahead warp factor one, Mr. Sulu.

Attachment: signature.asc
Description: Digital signature


Reply to: