Linked by Jason Vagner on Fri 16th Apr 2004 20:37 UTC
Features, Office O'Reilly's latest entry in the "Pocket" series, "Linux Pocket Guide", bills itself as a "quick reference for experienced users and a guided tour for beginners".
Permalink for comment
To read all comments associated with this story, please click here.
Re: ThanatosNL
by Darius on Sat 17th Apr 2004 19:17 UTC

A well-behaved package will merely create extra files for each feature, and the program will detect the presence of said feature on startup. That way, in this example, you could have gaim-0.7.6-i386.rpm, and gaim-spelling-0.7.6-i386.rpm.

So in this case, I would assume you'd have something like this:
Readhat/Fedora:
- gaim-0.7.6-i386.rpm
- gaim-spelling-0.7.6-i386.rpm

Debian
- gaim-0.7.6-i386.deb
- gaim-spelling-0.7.6-i386.deb
(Plus various Debian-based distros would probably have their own as well)

Suse:
- gaim-0.7.6-i386.rpm
- gaim-spelling-0.7.6-i386.rpm
(These probably wouldn't work in Redhat, and vise-versa)

Slackware:
- gaim-0.7.6-i386.tar.gz
- gaim-spelling-0.7.6-i386.tar.gz

Plus whatever everybody else uses. Now, under my solution, we'd have only two packages:
- gaim-0.7.6-i386.tar.pak
- gaim-spelling-0.7.6-i386.pak

Which would work under all standard-supporting package managers.

[A package management standard] could be done, but I don't see the reason why.

See above.

If you just pick a distro and stick with it, where would the problem come from?

Well, let's take Xandros for instance. (And don't tell me I'm using the wrong distro, dammit .. this is only an example.) Last time I checked in Xandros Networks (version 2.0) for packages, the pickings were very slim. You can switch to their 'unofficial' archive which had most of what I was looking for, but out of the 20 or so packages I searched for, only about 3 of them were up to date. If you were to switch to another apt repository, Xandros warns that you could end up breaking the distro.
Of course, there is always Synaptic in 'vanilla' Debian distros, which has many of the same problems (outdated packages unless you switch apt sources, possibility of breaking soemthing, etc) and piss-poor organization.

Lots of Windows users get confused in Linux thinking that they need to go to the developers website, download, and install the software. In Linux, all of that gets taken care of for you. Waiting 2-3 days from the source release is a small price to pay for a new user having software installation made easier.

Whenever I'm looking for a particular app (say, an email program), it's not unusual for me to download 15-20 of them at a time over the course of a weekend and try them all before sticking with one I'm happy with. It would suck if there were 15 different apps I was trying to download, and 5 of them are out of date. So, now I've got to write to the mailing list (or whatever) to get these other 5 updated - a royal pain in the ass, and something I'd rather not deal with.
But even under normal circumstances, if I am looking for a particular app and find that the version that the distro provides is out of date (or missing altogether), that's a frustrating experience for an end user and one that ought not to exist in the first place. Even if I went through the trouble of getting someone to update the package, and then I installed it, used it for about 5 minutes, realize I hate it, and then uninstall it, I'd feel bad for having wasted whoever's time it was that put the package together for me.

The parent didn't mean that. One maintainer doesn't make packages for all the distros, each distro has maintainers that each make packages for several pieces of software.

Yeah, but that's my whole point. In a senario where a standard existed, we wouldn't need seperate maintainers for each distro. Every distro could have their own package manager, but all the packages would come from the same place.

So, who would create the packages under my senario? Well, let's use the Windows version of MAME (www.mame.net) - which is an open source arcade emulator. The developers release it in source code form, then somebody compiles it and places the binary on the MAME website, and everybody gets the binaries from there. Once the binaries are created, you've usually got 3-4 different binaries .. one for Windows, one for DOS, one optimized for i686, etc. But you get those binaries from the same place. You don't have to have one binary for Windows 98, one for Windows ME, one for Windows 2000, one for Windows XP, etc.

This is a model for which Linux should try and follow.