From sfalcon at fhcrc.org  Fri Jun  9 06:38:51 2006
From: sfalcon at fhcrc.org (Seth Falcon)
Date: Thu, 08 Jun 2006 21:38:51 -0700
Subject: [Rd] install.packages("C",
	dep=TRUE) does not always install indirect dependencies
In-Reply-To: <44888A83.9090202@stats.uwo.ca> (Duncan Murdoch's message of "Thu,
	08 Jun 2006 16:37:23 -0400")
References: <44887B24.4080808@fhcrc.org> <44888A83.9090202@stats.uwo.ca>
Message-ID: <m2slmfhrj8.fsf@ziti.local>

Duncan Murdoch <murdoch at stats.uwo.ca> writes:
>> conditions are satisfied:
>>   - Package C depends on B which in turns depends on A but
>>     the Depends field in C doesn't list A.
>>   - Package B is already installed but not package A (e.g.
>>     the user did 'install.packages("B", dep=FALSE)').
>> Then 'install.packages("C", dep=TRUE)' will not install A.
>> 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.

I see your point, but the unreasonable-ness kinda works both ways: If
a user asked to install C and _all_ its dependencies, then I think
that request should do that :-)

> 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).

Installing dependencies seems like a reasonable default to me.  Having
the flexibility to not install dependencies is nice, but I imagine for
a majority of users they install a package in order to use it, and
mostly you can't use a package unless you have its dependencies
installed.

+ seth



[Rd] install.packages("C", dep=TRUE) does not always install indirect dependencies
Seth Falcon