Duncan Murdoch wrote: > On 6/8/2006 3:31 PM, Herve Pages wrote: >> May be this is the desired behavior, I don't know. Personally, I would >> think of 'install.packages("C", dep=TRUE)' as a reliable way to get >> every >> packages that C directly or indirectly relies on installed. > > This seems rather unreasonable. If a user asked not to install B's > dependencies, and A is not listed as a dependency of C, then I don't > think a request to install C and its dependencies should install A.
Hi Duncan, Maybe the user didn't _ask_ not to install B's deps. Maybe he simply made a mistake (which is easy with 'dep=FALSE' being the default), or maybe this is a shared system and someone else installed B without 'dep=TRUE' or removed A or... But I realize that there would be a significant extra cost if 'install.packages("C", dep=TRUE)' had to check the whole deps tree instead of just checking whether only the packages listed in C's Depends field are already installed (especially when those packages _are_ already installed). So if checking the whole deps tree can't be done everytime 'install.packages(..., dep=TRUE)' is used then may be it could be done on demand e.g. with something similar to what "rpm -Va --nofiles" does on a Linux system (this checks the entire system for missing deps). > Perhaps the installation of B without dependencies was a mistake? I > think an argument could be made that dependencies=TRUE should be the > default (as it is when using the corresponding menu item in the > Windows GUI). Yes having 'dependencies=TRUE' as the default would definetly help the user to keep a system where all deps are satisfied. Best, H. -- ------------------------ Hervé Pagès E-mail: [EMAIL PROTECTED] Phone: (206) 667-5791 Fax: (206) 667-1319 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel