On Wed, Jan 14, 2009 at 2:33 PM, Stanislav Visnovsky
On Tuesday 13 January 2009 14:24:42 Larry Stotler wrote:
[snip]
Fortunately, Linux is nowhere near that bad, but openSUSE still installs a lot of what I fell are unnecessary programs like Beagle, OpenOffice(KOffice is much better and uses less resources if you use KDE), AppArmour, etc. I realize that the devs want to make the install easier and that they choose a specific set of apps to install, but, from my experience, 90% of the people never even use a Desktop search program, so it's just a waste. Also, YaST can make it a pain to uninstall stuff. Try removing OpenOffice, AppAromour or Beagle in 11.0, and you'll get dependency complaints. If the main module of a program is selected for removal, all parts of it should be removed unless they have a dependency elsewhere(which they shouldn't). I haven't tried it in 11.1 yet.
That's dependency problem of packages, not libzypp (and thus not YaST).
FYI to remove Beagle;
Go into YaST Software Installation and do a search for "beagle". It
will list everything to do with Beagle.
Ctrl-click everything EXCEPT libbeagle - GNOME and KDE have hard
dependencies on this library, so it cannot be removed, but if
libbeagle cannot talk to the daemon, it simply does nothing.
<rant>
One thing I have a serious problem with, which is totally unfixable in
Linux if only because it is too much work on thousands of
applications, is the fact that every dependency has to be a hard one,
enforced at link time of the application.
If you have an image viewer with GIF, JPEG or PNG support, it has to
be linked against these and all of them are pulled in by ldso when the
application is started. It is absolutely no problem on a lot of other
non-Unix operating systems to pull in a shared library if you deem it
necessary at that time - for instance if you are viewing a JPEG, there
is no need to pull in GIF or PNG support until you're about to load
one.
There is a way on Linux etc. (dlopen etc.) but it's simply never used,
nor is any other method. FFMPEG sorely misses this kind of
functionality, and it's a hideous monolithic chunk of code because of
it (to add a single codec you need to update the entirity of
libavcodec and libavfile)
Even systems which are happy to link up other objects dynamically like
Gstreamer, suffer because their primary codec support is through
"gstreamer-ffmpeg".
As an example, I accidentially did rm -rf /usr/lib yesterday (typo in
an RPM spec, and I was having trouble with build so I just did it
through RPM - it's just a single file packaged anyway) and while I
killed it before it did any serious damage, SSH quit working because
it could not open "libopensc". Now, I don't use any smartcards or
other authentication like that, but this library is loaded anyway.
Imagine how much memory this uses, before it's decided it's not being
used and is paged out. There is no way for an application to use that
library as "optional".
</rant> :)
--
Matt Sealey