Re: purpose of kernel-tree packages
On Thu, 2005-02-10 at 00:24 +0100, martin f krafft wrote:
> I am wondering what the purpose of the kernel-tree packages is.
Here's a snippet of a doc I wrote for work some time ago - hopefully
others will jump in if there are inaccuracies.
kernel-tree & kernel-patch-debian
In the Debian archive, there are typically multiple kernel-image
build using a given kernel source package; e.g.,
kernel-image-2.4.25-ia64 may both Build-Depend on kernel-source-2.4.25
bug fixes and security updates to common source only need to occur in
Since the unstable archive is always changing it is possible for a
of a kernel-source package to exist, when the latest version of a given
kernel-image package was built against a version < X of the
Here's an example of such a situation:
1) kernel-source-2.4.25 (2.4.25-1) is added to the archive.
2) kernel-image-2.4.25-i386 (2.4.25-1) is built against
kernel-source-2.4.25 (2.4.25-1) and is added to the archive.
3) kernel-source-2.4.25 (2.4.25-2) is uploaded.
At this point, the archive contains an inconsistency. It is no longer
to rebuild kernel-image-2.4.25-i386 and get matching binary packages,
build at this point would use the 2.4.25-2 source instead of the
source. If a release happens at this point, it can have harmful
It may be that the changes between the 2.4.25-1 and 2.4.25-2
kernel-source-2.4.25 releases makes kernel-image-2.4.25-i386
Or, using the example above, it maybe that a security vulnerability
what should be a minor rebuild of kernel-image to now also include some
additional features added in the kernel-source-2.4.25 (2.4.25-2). This
To avoid the situation where an update to the core kernel-source package
one of the kernel-image packages that depend on it, the kernel-tree
created. The kernel-tree system provides a mechanism for rolling back a
source tree to an earlier version.
kernel-patch-debian provides the patches necessary for rolling back to
previous releases. In each release, an additional reverse patch is
this package which can be used to roll back to the previous version.
non-intuitive since kernel-patch packages typically provide patches that
features or bug fixes, whereas kernel-patch-debian provides patches that
remove the features and bug fixes that have been added to the
The kernel-tree packages are virtual packages used to specify the
the source tree that can be created by a given kernel-source package and
associated debian-patch package. If a kernel-tree-2.4.25 package
kernel-tree-2.4.25-2, and kernel-tree-2.4.25-3, then the build process
know that it can get back to the either one of those by applying patches
the associatied kernel-patch-debian package.