On 6/14/06, Brian Vincent brian.vincent@gmail.com wrote:
Just a quick example. Let's say I want to install Samba. I've used Samba a lot, it's saved my butt more times than I can count. However, the packaging is a complete disaster and even as a knowledgable user I have no clue what's going on. Looking at rpmfind.net I see Samba has the following packages available:
I am guessing that the list you got were rpms from various different distros, each with their own naming conventions. So there's going to be a lot of overlap.
samba (Um, I guess I'd need that.) samba-client (Well, that can be useful..) samba-server (Uh.. wait.. why isn't that part of Samba. That's what I need.) samba-common (Whoa.. if it's so important, why isn't it part of samba?) samba-winbind (Well, I may or may not need that, but it's small so I better download it.) samba-vfs (Um.. I know what Samba is, I know what vfs is. Do I need it? No clue. Better download it.) samba-pdb (No clue what this is. Maybe I won't download it. But what does it do? Anything important?) samba-python (Gee.. I like python. Maybe I should download it.)
And that's just the tip of the iceberg (samba-console? samba-vscan? samba-vfs-fake_perms?)
Taking a _single_ distro, like Fedora Core 5, this is what we see: samba (just the server) samba-client (just the client, for people who don't need the server) samba-common (files shared by both, -common packages shouldn't concern anyone since they get pulled in by whatever packages are chosen)
It's simple; it allows people to save space by not having everything and it allows updates to individual parts so you don't need to download the whole lot when something changes.
Anyway, it's such a god awful mess that someone deserves to be taken into a backroom and have all knowledge of building RPM's erased from their head.
I think that person should really be you :). Your preconceptions about how things should be packaged is a bit outdated.
A few years ago there used to be monolithic packages well over 100MB that every time something small was changed the whole lot needed to be updated. Splitting up packages is a good thing. It means less install size, less bandwidth used and easier updates. The packages should have meaningful descriptions, and should depend on each other in a way that means you just choose what you want and the package manager will get what you need. Some time in the future (or already) the package manager may make the distinction between required packages, suggested packages and enhancement packages, making it easier for users like yourself to work out what they want.
n0dalus.