Re: RFC: DKMS - Dynamic Kernel Module Support
On Thu, Sep 11, 2008 at 08:02:53PM +0200, David Paleino wrote:
> On Thu, 11 Sep 2008 17:52:39 +0000, Tzafrir Cohen wrote:
>
> > On Thu, Sep 11, 2008 at 07:43:39PM +0200, Josselin Mouette wrote:
> > > Le jeudi 11 septembre 2008 à 19:23 +0200, David Paleino a écrit :
> > > > > One of the issues I’m wondering about is: how do you ensure you always
> > > > > have the kernel headers for the installed kernels?
> > > >
> > > > Some kind of check inside DKMS? In the end, that's a Bash script, and the
> > > > Debian maintainer (i.e. me, in this case) could just maintain a patch for
> > > > this (or just issue a warning at the kernel post-inst hook looking like
> > > > "Hey, if you do not install linux-headers-foo, you won't be able to use
> > > > these modules: foo bar baz buz").
> > >
> > > Yes, and if dkps depends on linux-headers-2.6-$subarch, that will do the
> > > trick at least for the default kernel. (Depending on just
> > > linux-headers-2.6 is not enough, since linux-headers-2.6.xx-y-$subarch
> > > provides it).
> >
> > I think you meant:
> >
> > depend on linux-headers-2.6.26-1-all
> >
> > There is no linux-headers-2.6-all-latest
>
> Well, that could always be added as a package...
>
> > And even that means tying a nice and little package to a specific kernel
> > version, which is probably not such a nice idea.
>
> You do that with m-a, and you have to rebuild modules manually at every kernel
> change.
>
> > Especially not for those who build their own kernel.
>
> Could you please elaborate on this? Why would that be different?
>
> > For i386 the situation is particualrily bad, as the -all will pull a
> > hosts of other packages.
>
> Sure, but who said to get -all?
>
> apt-get is able to determine the architecture he's running on, right? Anyways,
> dkms is a shells script, it could use dpkg-architecture to get the right string
> to append to the package name. And, with the idea I exposed before, of those
> "triggers", that should be feasible (i.e. "mark the package
> linux-headers-$version-`dpkg-architecture | grep blabla` as to be installed").
linux-headers-`uname -r` is correct if you run it before the upgrade.
tzafrir@erdesh:~$ dpkg-architecture
DEB_BUILD_ARCH=i386
DEB_BUILD_ARCH_OS=linux
DEB_BUILD_ARCH_CPU=i386
DEB_BUILD_GNU_CPU=i486
DEB_BUILD_GNU_SYSTEM=linux-gnu
DEB_BUILD_GNU_TYPE=i486-linux-gnu
DEB_HOST_ARCH=i386
DEB_HOST_ARCH_OS=linux
DEB_HOST_ARCH_CPU=i386
DEB_HOST_GNU_CPU=i486
DEB_HOST_GNU_SYSTEM=linux-gnu
DEB_HOST_GNU_TYPE=i486-linux-gnu
tzafrir@erdesh:~$ uname -r
2.6.18-6-vserver-686
OK. I must have missed something obvious.
--
Tzafrir Cohen | tzafrir@jabber.org | VIM is
http://tzafrir.org.il | | a Mutt's
tzafrir@cohens.org.il | | best
ICQ# 16849754 | | friend
Reply to: