You are not logged in.

#1 2007-11-02 13:17:29

franck_v
Member
Registered: 2007-11-02
Posts: 4

Why does external modules not depend on a specific kernel version ?

Hi,

I'm quite new to Archlinux and there are a few things I don't understand about the way pacman handles kernel and modules packages.
I understand that modules in the repository are only build against the current kernel version and that you should update both at the same time to keep your system in a working state, however I don't understand why the package system does not enforce that.
For example if I look at the current nvidia modules (100.14.19-3), it will install its stuff in lib/modules/2.6.23-ARCH and hence (should) depends on kernel26>=2.6.23.
However if I take a look at the package itself, it only depends on kernel26.
If I upgrade the modules without upgrading the kernel or upgrade the kernel without upgrading the modules, I will break my system.
In my opinion (but I may be missing something) the package manager should be robust and should make sure your system stay in a coherent state.
Is there a technical reason for this or is this only to avoid having to modify the packages dependencies each time a new kernel is release ?

Offline

#2 2007-11-02 13:35:30

Cerebral
Forum Fellow
From: Waterloo, ON, CA
Registered: 2005-04-08
Posts: 3,108
Website

Re: Why does external modules not depend on a specific kernel version ?

I agree with your points - it's up to the individual packager to ensure dependencies are that way.  I package the fglrx (AMD/ATI proprietary) kernel modules and I keep them as versioned dependencies.

The best way to get this addressed is to file a bug report (Bugs link at the top of the page)

Offline

#3 2007-11-02 13:46:44

franck_v
Member
Registered: 2007-11-02
Posts: 4

Re: Why does external modules not depend on a specific kernel version ?

I did file a bug report actually (FS#8484 for the iwlwifi package), but it was immediately closed with a "not a bug, this is the way it is intended" answer.
Since I'm new to archlinux, I didn't insist and came here to find some answers.

Offline

#4 2007-11-02 17:58:40

broch
Banned
From: L.A. California
Registered: 2006-11-13
Posts: 975

Re: Why does external modules not depend on a specific kernel version ?

Dynamic Kernel Module Support (DKMS)
http://linux.dell.com/projects.shtml#dkms
and sources are here
http://linux.dell.com/dkms/
there is a pretty old Dell's tool that recently re-surfaced, that allows to manage modules irrelevant of kernel. Basically upgrading/adding modules or kernel will not break anything. Sort of better version of nvidia -K switch that allow to install module once and copy many times so in effect you will have all installed kernels running with nvidia. Better because whole info is stored in a one place so distribution of updated info/modules is painless.
Project is 4 yrs old. For long time was lurking and not really developed, now since Dell teamed with Ubuntu, you may expect that project will take off.

Anyway, what you described (problem) is not a bug but general linux limitation which might be sorted out with the help of DKMS or similar tools.

Offline

#5 2007-11-02 18:09:19

Cerebral
Forum Fellow
From: Waterloo, ON, CA
Registered: 2005-04-08
Posts: 3,108
Website

Re: Why does external modules not depend on a specific kernel version ?

franck_v wrote:

I did file a bug report actually (FS#8484 for the iwlwifi package), but it was immediately closed with a "not a bug, this is the way it is intended" answer.

I've reopened that ticket - I'm not satisfied with that response.

Offline

#6 2007-11-02 18:20:05

tpowa
Developer
From: Lauingen , Germany
Registered: 2004-04-05
Posts: 2,322

Re: Why does external modules not depend on a specific kernel version ?

Offline

#7 2007-11-02 19:16:29

franck_v
Member
Registered: 2007-11-02
Posts: 4

Re: Why does external modules not depend on a specific kernel version ?

Very interesting, I was right when I said I was probably missing something smile
As I said in my first post, I'm a new archlinux user. I'm more familiar with debian/ubuntu systems.
The way they are solving this kind of issue is simply by putting the kernel version number in the package name.
For example you have nvidia-kernel-2.6.23-1 which depends on linux-image-2.6.23-1.
This solves these kind of upgrade issues (I did a search in the forums before creating this thread and I saw there were a hell lot of kernel/modules dependency issues that have already been reported by other users).
The advantage of this system is that you can keep both the old and the new kernel package on your system at the same time are revert to the previous version if something goes wrong.
However the drawback is that you have to maintain several versions of the same package in the repository at the same time, which may be contrary to the archlinux philosophy...

Offline

Board footer

Powered by FluxBB