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 packages that build using a given kernel source package; e.g., kernel-image-2.4.25-i386 and kernel-image-2.4.25-ia64 may both Build-Depend on kernel-source-2.4.25 so that bug fixes and security updates to common source only need to occur in one place. Since the unstable archive is always changing it is possible for a version X 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 kernel-source. 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 possible to rebuild kernel-image-2.4.25-i386 and get matching binary packages, since a build at this point would use the 2.4.25-2 source instead of the 2.4.25-1 source. If a release happens at this point, it can have harmful after-effects. 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 unbuildable. Or, using the example above, it maybe that a security vulnerability causes 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 induces instability. To avoid the situation where an update to the core kernel-source package breaks one of the kernel-image packages that depend on it, the kernel-tree system was 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 added to this package which can be used to roll back to the previous version. This is non-intuitive since kernel-patch packages typically provide patches that add features or bug fixes, whereas kernel-patch-debian provides patches that remove the features and bug fixes that have been added to the kernel-source package. The kernel-tree packages are virtual packages used to specify the versions of the source tree that can be created by a given kernel-source package and the associated debian-patch package. If a kernel-tree-2.4.25 package "provides" kernel-tree-2.4.25-2, and kernel-tree-2.4.25-3, then the build process will know that it can get back to the either one of those by applying patches from the associatied kernel-patch-debian package. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]