diff --git a/debian/Makefile b/debian/Makefile index 122a427de..148d7d7f3 100644 --- a/debian/Makefile +++ b/debian/Makefile @@ -174,8 +174,8 @@ $(kdir): post-install-$(subarch) $(controls) cat $(controls) | \ sed -e 's/@version@/$(version)/g' \ -e 's/@ltver@/$(ltver)/g' \ - -e 's/@subarch@/$(append)/g' \ -e 's/@major@/$(major)/g' \ + -e 's/@subarch@/$(append)/g' \ -e 's/@abiname@/$(abiname)/g' | \ sed '/^[[:space:]]*$$/d' | \ sed 's/^Package:/\n&/g' > $(tkdir)/debian/control diff --git a/debian/README b/debian/README index a9b8cae9f..de8da26c3 100644 --- a/debian/README +++ b/debian/README @@ -52,39 +52,33 @@ 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 Makefile.inc. -Debian and arch/subarch specific patches ------------------------------ -This is not really settled yet. Ideally we would like to integrate all -this stuff into the kernel-source package. So for now it is probably -reasonable to assume that common-arch debian patches are going to be -in debian/patches directory. As I understand, we will not need the -kernel-tree stuff, as the source with patches is going to accompany each -upload. So we might just place them there along with the list, which will -determine the order of application. For unmerged arch/subarch specific -patches we can do the same in the arch/subarch directory: patches/ -subdir will contain patches and a list. Currently the kernel is patched -using the kernel-source package only. - 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 control.in files found in -and in subdirectories of arch/, and performing the variable -substitution. Currently the following variables are going to be -substituted: +common templates for it and substituting the variables: -@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. +@version@ Upstream kernel version, for example 2.6.11. +@major@ The major version, for example 2.6 +@ltver@ linux-tree version, a single digit. +@srcver@ Source version, extracted from the changelog. + This is normally @version@-@ltver@. +@lt_depends@ The Depends field for the linux-tree package. +@lt_provides@ The Provides field for the linux-tree package. +@abiname@ Current abiname, a single digit. -After variable substitution the resulting file is formatted to +For each kernel image build the control.source.in template from +templates directory is concatenated with the control.in file from the +arch/ or arch// directory, and the following +variables are substituted: @version@, @ltver@, @major@, @abiname@. +A arch/subarch-specific control.in file should contain only entries +for binary linux-image-$(version)-$(abiname)-$(flavour) and +flavour-specific linux-headers-$(version)-$(abiname)-$(flavour) +packages. linux-headers-$(version)-$(abiname) package entry is +included automatically. + +After variable substitution the resulting files are formatted to ensure that the only blank lines are the ones separating the entries (i.e. before the next Package: line). @@ -115,14 +109,14 @@ headers_dirs headers_extra - This variable is substituted into the headers-install script,' + This variable is substituted into the headers-install script, and may be used to specify extra files, which a particular architecture would like to include in the kernel-headers package. Files should be specified with a full path relative to the top-level kernel directory, unquoted and separated by spaces. - Typical usage: - - headers_extra := arch/i386/kernel/asm-offsets.s + Note that you normally do not need to specify the files + arch/$(karch)/kernel/asm-offsets.s, they are going to be included + automatically. headers_subarch @@ -142,8 +136,6 @@ build_subarch build_subarch := pmac - Note that the value of this variable is ignored. - build_makeflags This variable may contain the make flags settings for the diff --git a/debian/templates/control.headers.in b/debian/templates/control.headers.in index 28bd4e86a..492020851 100644 --- a/debian/templates/control.headers.in +++ b/debian/templates/control.headers.in @@ -1,17 +1,17 @@ -Package: linux-headers@subarch@-@version@-@abiname@ +Package: linux-headers-@subarch@@version@-@abiname@ Architecture: any Section: devel Priority: optional Depends: coreutils | fileutils (>= 4.0) Provides: linux-headers, linux-headers-@major@ Description: Common architecture-specific header files for Linux kernel @version@ - This package provides the architecture-specific common kernel header files + This package provides the (sub)architecture-specific common kernel header files for Linux kernel version @version@, generally used for building out-of-tree kernel modules. To obtain a complete set of headers you also need to install - the linux-headers-@version@-@abiname@-(flavour) package, matching the flavour - of the kernel you intend the build for. To obtain such a set for the currently - running kernel it is sufficient to run a command + the linux-headers@subarch@@version@-@abiname@-(flavour) package, matching the + flavour of the kernel you intend the build for. To obtain such a set for the + currently running kernel it is sufficient to run a command apt-get install linux-headers-@version@-@abiname@-$(uname -r) . - and it will be unpacked in /usr/src/linux-headers-@version@-@abiname@-(flavour). + and it will be unpacked in /usr/src/linux-headers-@subarch@@version@-@abiname@-(flavour).