On Sat, 22 Jan 2005 21:39:28 -0500, Jeff Johnson <n3npq@xxxxxxxxx> wrote: > "dependency clutter" presumes that dependencies are arbitrarily designed to > decrease the quality of your life. > > That is not the case. > > Instead ... > ... nautilus "needs" samba much likes it needs just about every other > bleeping library > in FC4. Why? Because users want "features", and features requires > implementations, > usually in libraries, which use sonames, which are copied into package > dependencies. Taking a quick peek at the specific nautilus issue raised. The nautilus's rpms dependancy on the package samba-common is actually the result of an explicit requires for 'gnome-vfs2-smb.' and not a hard library dependancy. gnome-vfs2-smb package requires samba-common through a library dep libsmbclient.so.0 However, nautilus requires gnome-vfs2-smb though an explicit requires on gnome-vfs2-smb, a decision made by the packager to ensure that the runtime detectable smb support is always available when nautilus is installed to provide a perfectly reasonable and recommended default behavior for the average gnome desktop user. Some would argue doing this is bending the purpose of 'requires' field out of necessity to be used as a 'suggests' or 'recommends' field which rpm doesn't yet have support for. I was able to rebuild nautilus with the explicit requires on gnome-vfs2-smb turned off, which allowed me to remove samba-common without removing a cascade of gnome components. I did this just as a double-check to make sure my reading of the deptree was correct. samba-common now requires the removal of: authconfig-gtk, firstboot, gnome-vfs2-smb and samba-client. Clearly this is an example of the tension between providing reasonable default/recommended featureset and providing a measure of flexibility for more advanced users and system admins to control which run-time detectable features are available on their systems. If rpm had a 'suggests' or 'recommends' tag which could be used for such recommended but runtime detectable options, that would change the dynamic of this tension greatly. But I am unqualified to comment on whether or not the flexibility gain worth the effort to implement this in rpm. I will say that I can imagine situations where corporate network admins might not want to have the smb support in their linux desktop installs, so maybe there is a compelling business interest for red hat to make it easier for those network admins to decide whether they need that gnome-vfs2-smb feature on the system without recompiling nautilus for themselves. -jef