From jfox at mcmaster.ca  Tue Sep 22 20:54:47 2009
From: jfox at mcmaster.ca (John Fox)
Date: Tue, 22 Sep 2009 14:54:47 -0400
Subject: [Rd] Rcmdr package dependencies
In-Reply-To: <971536df0909221131l5b3dc380v14b1c96c8e9fcf9c@mail.gmail.com>
References: <002001ca3b86$cda835d0$68f8a170$@ca>
	<971536df0909221131l5b3dc380v14b1c96c8e9fcf9c@mail.gmail.com>
Message-ID: <006b01ca3bb6$28095f70$781c1e50$@ca>

Dear Gabor,

I thought of this solution but rejected it, perhaps too hastily, because it
seemed awkward. I suppose, however, that since the Rcmdr package would be
unchanged, a user could choose to install it as at present with
dependencies=TRUE, or alternatively install the RcmdrInstall package and
avoid the recursive installation of suggested packages. Maybe the idea is a
good one after all.

Thank you,
 John


> -----Original Message-----
> From: Gabor Grothendieck [mailto:ggrothendieck at gmail.com]
> Sent: September-22-09 2:32 PM
> To: John Fox
> Cc: r-devel at r-project.org
> Subject: Re: [Rd] Rcmdr package dependencies
> 
> Create a package called RcmdrInstall, say, with no content and have it
> depend on Rcmdr.  RcmdrInstall would have all packages as dependencies
> while Rcmdr would only have the essential packages as dependencies.
> 
> Install RcmdrInstall.  That would also force Rcmdr to be installed.
> 
> Now issue:
> 
>    library(Rcmdr)
> 
> as before and the non-essentials won't be loaded.
> 
> Thus the only difference between the current procedure and the new
> procedure as far as the user is concerned is that they install
> RcmdrInstall rather than Rcmdr.  They load and run Rcmdr in the same
> way.
> 
> On Tue, Sep 22, 2009 at 9:15 AM, John Fox <jfox at mcmaster.ca> wrote:
> > Dear r-devel members,
> >
> > My Rcmdr package "depends" on several other packages (tcltk, grDevices,
> > utils, and car) and "suggests" a number of others (abind, aplpack,
> > colorspace, effects, foreign, grid, Hmisc, lattice, leaps, lmtest, MASS,
> > mgcv, multcomp, nlme, nnet, relimp, rgl, and RODBC). The reason for the
> > distinction is that I don't want all of these packages to load when the
> > Rcmdr loads; rather, the "suggested" packages are loaded as they're
needed.
> > But all of the packages -- both those under "depends" and those under
> > "suggests" -- really are necessary for all of the features of the Rcmdr
to
> > work. For example, if the "leaps" package is absent, then the "Subset
model
> > selection" item in the "Models" menu is suppressed.
> >
> > This arrangement works reasonably well, but it makes it awkward to
install
> > the Rcmdr. If the user issues the command install.packages("Rcmdr"),
then
> > the "suggested" packages aren't installed. On the other hand, if the
user
> > issues the command install.packages("Rcmdr", dependencies=TRUE), which
is
> > what I currently recommend, then "suggested" packages are installed
> > recursively, causing dozens of packages, most of them actually
unnecessary,
> > to be installed. This issue has been growing more acute, and at this
point
> > even with a fast Internet connection it takes quite a while for all of
the
> > dependencies to download and install.
> >
> > I wonder whether I've missed something. Is there a way for me to arrange
> the
> > Rcmdr package dependencies so that only the necessary packages (those
> > currently listed under both "depends" and "suggests" and the packages on
> > which they "depend") are installed along with the Rcmdr, but the
currently
> > "suggested" packages aren't loaded when the Rcmdr loads?
> >
> > Any help would be appreciated.
> >
> > John
> >
> > ------------------------------
> > John Fox, Professor
> > Department of Sociology
> > McMaster University
> > Hamilton, Ontario, Canada
> > web: socserv.mcmaster.ca/jfox
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >



[Rd] Rcmdr package dependencies
John Fox