Dependencies on kernel-image-x.y [was: NPTL support in kernel 2.4 series]
Hi,
I would like to have some clarification on whether it is sensible to
declare a package dependency on kernel-image-x.y (e.g. kernel-image-2.6,
_not_ a full kernel version kernel-image-x.y.z)
In the thread mentioned in the subject I was told by several developers
that it does not make sense to depend on kernel-image-x.y because
A) even if kernel-image-x.y is installed you cannot assume that a kernel
of version x.y is actually running.
B) most people compile their own kernels and don't bother registering
those with dpkg, e.g. via kernel-package, and therefore their systems,
-while actually running a suitable kernel- do not provide the required
virtual package.
With A) I absolutely agree, but I think B) is not a valid objection to
having a dependency on kernel-image-x.y, especially since it is very
easy to create a custom kernel package with kernel-package. Also the
reasoning of B) could be applied to any package, starting with
java2-runtime and then going all the way to libc.
But even with A) being a valid objection, I still consider it to be
cleaner to state a dependency on kernel-image-x.y because
1) it explicitely and visibly states the dependency that is inherent in
the package
2) the information the dependency provides is visible _before_ the
package is even downloaded
3) on systems that only have kernel images of kernel version x.y
installed and where those kernel images are properly registered (and I
would argue that this is the majority of systems out there), having the
dependency just works.
I know, that because of A) you will always have to have run-time checks,
but I'd say that the advantages of declaring the dependency outweigh the
hassle of building a .deb for your custom kernel (people installing
java2 packages have been living with the necessity to create dummy
packages/use java-package for quite a while already)
However, if having a dependency on kernel-image-x.y really is a no-no,
why do these virtual packages exist in the first place, and in that
case, wouldn't it be better to remove them altogether to avoid confusion?
To those who read the previous thread, sorry for coming up with this
again, but I just wanted to make sure the audience for the discussion is
broad enough.
Best wishes,
Martin.
Reply to: