Better packaging for older hardware?

Mike A. Harris mharris at redhat.com
Sat Oct 18 09:02:37 UTC 2003


On Sat, 18 Oct 2003, M. Fioretti wrote:

>> > almost transparent to power end users: they would continue to
>> > install/update as usual "kde desktop", "gnome desktop", and so on,
>> > without ever noticing what happened below.
>> 
>> IMHO it is bloat. I thought the idea was to reduce the size of FC. See below.
>
>The kernel is a special case, I agree, and it is not really the most
>important things. Proper packages are. Why do you think the
>repackaging I suggest would be against reducing the size of FC (Fedora
>Core, right? Sorry, I just came in...)? Which size do you refer to?
>
>byte size would increase little or nothing: I'm proposing to make 10
>packages of 1 MB instead of 1 of 10 MB (very rough approximation, I
>agree)
>
>Pure *Number* of binary packages: that would increase a lot, yes, but
>not the complexity or maintenance effort. If you keep the same source
>kdebase RPM you have today (one only) and modify the spec file so that
>it creates kde_app1.rpm, kde_app2.rpm, etc... you still have *one*
>code base: you apply patches to that one, and packages are rebuilt
>automatically.  Please let me know if and why this is not possible.

It _is_ possible, and in fact our KDE used to be split up into 
more packages.  There are _always_ tradeoffs in this world 
however, and more packages and subpackages _DO_ increase package 
maintenance efforts.  That doesn't mean subpackages should be 
avoided, but it does very much mean that a balance is needed, and 
that there are many other factors which determine things.

Should I put every single binary application which comes with 
XFree86 in it's own separate rpm for example?  Do you use xcalc?  
Someone might put forth that including xcalc, xditview, etc. are 
bloat, and that they only want to install the apps they will 
actually use.  They might even make the bogus disk space claim.

What's funny though, is that for XFree86 packaging at least, 
every single sub package consumes at least a minimum of 150-200Kb 
each on your hard disk, even if the package were to contain zero 
files.  This is because the rpm spec file changelog is stored in 
the rpm database once per installed package (instead of merging 
and refcounting, unless this has changed and I'm wrong now), so 
any subpackage that isn't at least 400-500Kb or more in size 
argueably is *wasting* space and should be merged into a 
different subpackage.  ;o)

Someone out there is now no doubt multiplying the size of the 
changelog by the number of subpackages and calculating the total 
wasted disk space in the rpm database when XFree86 is installed.  
If not, it'll likely be something to the effect of:

$ rpm -q --changelog $(rpm -qa |grep ^XFree86) |wc -c
4433085

Or roughly 4.5Mb of your RPM database files is XFree86 
changelogs.  Wowsers.  ;o)

Before someone asks/complains/flames/whatever about this 
wasteage, I'm considering trimming the changelog down so that it 
only includes changes since 4.1.0, and moving the older changes 
into /usr/share/doc/XFree86-* somewhere with a pointer to them at 
the end of the rpm changelog.  I just checked and removing all 
changelog entries from 4.2.1 and older would cut wasteage only in 
half, so not that huge of a gain anyway.  ;o)



-- 
Mike A. Harris     ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat





More information about the fedora-devel-list mailing list