Linked by Rahul on Sat 11th Oct 2008 01:53 UTC
Linux PolishLinux has an interview with the KPackageKit developers. PackageKit is a abstraction layer over the different Linux package management tools. It is primarily designed to unify the graphical tools and provide a consistent distribution neutral framework for application developers to install add-ons as well. This project was initiated and continues to be maintained by Red Hat developer Richard Hughes who also wrote the initial GNOME frontend to it, called gpk-application. Multiple backends currently exist and it is the default for Fedora and Foresight Linux already. Other distributions including Ubuntu, OpenSUSE, Mandriva, and Gentoo are actively participating in the development of different backends. A KDE interface has been under rapid development recently and just did a 1.0 release last week. This interview provides more details.
Thread beginning with comment 333247
To view parent comment, click here.
To read all comments associated with this story, please click here.
fsckit
Member since:
2006-09-24

Because...

root@dcom1:~# ldd /{bin,sbin}/* /usr/{bin,sbin}/* | grep libgtk-x11-2.0.so.0 | wc -l
78

maintaining 78 copies of gtk is not only insanely unnecessary bloat but insecure as hell. And I don't even run GNOME. I don't even wanna know what that number would be on a standard RedHat install.

Next question?

Reply Parent Score: 11

hobgoblin Member since:
2005-07-06

bingo, i recall when microsoft announced they had found a issue with one of their core libs.

their "fix"? a program to scan for the problematic lib, as it was something that nearly all programs shipped either compiled in or alongside the binary.

Reply Parent Score: 4

obsidian Member since:
2007-05-12

Using that command on my system gives 166!
Ouch... ;)

Reply Parent Score: 2

Vanders Member since:
2005-07-06

Why exactly would you install 78 copies of GTK? GTK is clearly a system component. It would be part of the system installation and applications could depend on it being installed.

Reply Parent Score: 1

fsckit Member since:
2006-09-24

How is GTK a "standard" system component? the only standard component of a Linux system is the Linux kernel. You cannot depend on any specific library to always be there. For a system like the one OSX uses, every package that is packaged in that manner has to be built statically against it's dependencies. OSX has a clear base system and third party package division line. Linux does not.

Reply Parent Score: 8

hufman Member since:
2008-10-11

That command, I believe, does not print out how many times a certain library is installed, but rather, what shared libraries all programs in the given directories use. In your case, you have 78 programs that link to libgtk-x11-2.0.so.0, not 78 copies of libgtk-x11-2.0.so.0 floating around your system. Examine what the output is before you run it through wc, and you'll see that all references point to the same file.

Reply Parent Score: 4

fsckit Member since:
2006-09-24

That's exactly the point. I have 78 binaries that use GTK. If I were on a a system with OSX packaging, I would have 78 instances of GTK compiled into the various apps I use that require GTK. As it is, Linux uses shared libs so I have exactly 1.

It would also mean a possibility of multiple versions of GTK being installed, depending on what version the particular app was built against. It would be a nightmare to try to keep up security updates on a system like that.

Then there is the problem of a particular library getting loaded multiple times for every app that uses it. If it's statically compiled or dynamically yet shipped with the binary, then I have firefox loading it's copy of GTK and Sylpheed loading it copy and so on. Freaking insanity. It wouldn't take long for people to get real tired of 10GB Linux installs that need 8GB of RAM to run.

Edited 2008-10-11 15:12 UTC

Reply Parent Score: 5