More modularization.

Arjan van de Ven arjan at fenrus.demon.nl
Sun Nov 20 07:40:05 UTC 2005


On Sat, 2005-11-19 at 23:49 +0300, Peter Lemenkov wrote:
> On Sat, 19 Nov 2005, Arjan van de Ven wrote:
> 
> >> Who tolds about stable ABI-interface? I just suggest to split kernel 
> >> into a number of packages and add "virtual" one, that install all of 
> >> them. Of course, then someone will upgrade the kernel *all* installed 
> >> packages would be upgraded.
> 
> > abi matters a lot in this really. If you don't have a stable ABI, the
> > version dependencies get *really* messy, and the user experience goes
> > down the drain unless.. you make all drivers mandatory again. At which
> > point you have to ask yourself: "Why do this again"
> 
> Who told about ABI at all? I told about splitting kernel-package within 
> the particular version, *not* about partial upgrade (say, kernel will be 
> 2.6.14-1.1700, although video-driver is still from some previous kernel - 
> that's a situation there ABI do matter!). User will be forced to upgrade 
> all its modules, then he changes its kernel.

if you do that.. then what again is the gain you're trying to achieve?

> 
> Everything will be ok, if every little package with kernel module inside 
> will have
> 
> > Requires: kernel = 2.6.14-1.1688

> or something of that kind.

that is not enough; while it makes the module require the kernel, it
won't make depsolvers install a new version of the module on a new
kernel.


> Ok, summarizing - i suggest a way to strip down the kernel package, thus 
> reducing its weight (my handmade kernel for my PC weights about 2 mbytes - 
> compare with 40+ mbytes of FC's generic kernel). If every module would 
> have proper "requires"-field, all would be OK. :)

however if you then make all of them installed, you have MORE weight,
because now you have rpm package overhead times 1000. This could only
every be a gain if you would go to a "install minimum set" kind of
thing, which is also increasingly getting harder due to hotplug.. eg you
need all drivers of hotplugable hardware (USB and stuff, but
increasingly PCI too) installed always, as well as anything they use
(scsi, filesystems etc etc).

you could say "so split uncommon stuff out". Well that was done for
RHEL3, and customers absolutely hated it, and as a result our support
folks did too because they got an incredible amount of support calls
about it.

So for me you still haven't said what the gain was you were trying to
achieve: either you install everything anyway, and then there are only
downsides, or you start doing selective installs, but those are tricky
and generally upset slightly less technical people and the user
experience is just nasty.




More information about the fedora-devel-list mailing list