[ILUG-BOM] We don't need no dependencies

Sameer D. Sahasrabuddhe sam_buddhe@[EMAIL-PROTECTED]
Wed Jul 18 23:02:49 IST 2001


Nikhil wrote:

>The dependency stuff in Linux is really frustrating ...
>I gave up the idea thinking that I would be running around in circles.
>I had same nightmarish experience when I tried to upgrade rpm 3 to rpm 4

The only problem is the upgrade from rpm 3 to rpm 4, since the switch was 
not made in a very sane way. And the dependencies will never lead you in 
circles. Get a bigger harddisk partition! ;-)

About dependencies, this is the basic reason why so much software can be 
packed in so little space on the installer CD that you used. All the 
packages aggressively share libraries and these are put in separate 
packages which show up as dependencies.

Compare the situation with Windows where all packages include their own 
sets of DLL's in the installers. The basic idea of a library is to share 
code, but if everyone starts including their own library, the whole point 
is defeated. This leads to the existence of multiple copies of DLL's on the 
system, which are managed very sloppily. I hope you will know what I am 
saying when I remind you of the number of times that people have to 
reformat reinstall Windoze systems when the c:\windows\system folder goes 
haywire and you need special system tools to keep track of registries and 
DLL's.

On GNU/Linux, the whole thing is avoided by being strict with dependency 
checking. Any library that is shared by more than one package are put in a 
separate dependency so that they don't have to be duplicated. Take the 
package called "gal" in GNOME for example - it simply contains an arbitrary 
bunch of libraries that are extensively shared by too many packages and 
don't find a place in any particular package. Such a practice allows you to 
depend on a single package manager to keep your system files in a perfectly 
sane state.

>Is there some distribution available which gets over this problem ?

The apt package manager used by Debian GL is the best when it comes to 
managing these things. But mind you, that is not because the .deb format is 
better than .rpm, or that the RPM system is not well designed. It is better 
simply because it is backed by sane, strictly enforced policies about 
creating packages, which is compounded by the fact that almost all the .deb 
come from a single source, the Debian project.

Against this RPM packages are used by many systems - RHL, Mandrake, SuSE 
... and then there are the "contrib" packages. Just go to 
http://rpmfind.net to look for your favourite rpm, and you will face a 
number of sources to choose from. If you keep in mind to use only certain 
package sources on your system you will never run into problems. Or an even 
better idea is to download tarballs and then create rpm packages out of 
them before installing. But directly using a tarball is very bad - you can 
easily lose track of all the files on your system. The makefiles normally 
contain correct info for installation, but people neglect the section on 
uninstallation, so that there is no sane way to remove software installed 
from a tarball.

>Why can't developers make standalone software ?

Just think of the mess in your Windoze system and you will know why.

SameerDS.


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com




More information about the Linuxers mailing list