Hi,

On Jun 24, 2015, at 7:34 AM, Kenneth Hoste <[email protected]> wrote:

> Hi Riccardo,
> 
> On 19/06/15 10:32, Riccardo Murri wrote:
>> Hi Ken, all,
>> 
>> (Kenneth Hoste, Thu, Jun 18, 2015 at 04:32:27PM +0200:)
>>> We deliberately do not enable 'dependency=True', to ensure we can reproduce
>>> the exact same installation later; if you let R automagically resolve
>>> dependencies and let it pick the most recent version at that time for the
>>> dependencies, you can't do an exact reproduced install.
>> Could this be worked around by having EB save the list of installed R
>> packages + versions (like `pip freeze`) upon first install, then re-use
>> the saved list if available.
>> 
>> Something along these lines (pseudo-code):
>> 
>>         package_list_file = easyconfig_file_name.replace('.eb', 
>> '.pkglist.csv')
>>         if not exists(package_list_file):
>>            # 1. install packages by name, let R choose version
>>            # 2. dump list of installed packages to file: (pkgname, version)
>>         else:
>>            # 1. read in the pkglist.csv file
>>            # 2. use R's install_version() to install the exact same pkg and 
>> version
> 
> I like this idea...

+1

> We could have an easyconfig parameter like 'auto_deps = True', and when that 
> is set, EasyBuild lets R resolve dependencies by itself.
> 
> Once the full list of easyconfigs has been installed, EasyBuild could then 
> see what got installed, and which versions, and adjust the list of extensions 
> included in the easyconfig file. The tricky bit may be the order, but there's 
> probably a solution for that (see Stefano's R script).
> 
> Now, who's up for implementing this? :-)

Yesterday I started working on an R-script that generates an *.eb from an 
existing R installation. This is based on Stefano's code (Many thanks for 
sharing that!) and adds some commandline switches, help and code to figure out 
whether a package came from a CRAN repo or from BioConductor. Hence this is 
slightly different compared to the above as it generates a complete *.eb from 
pure R, but I can easily add an option to only generate a pkglist file, which 
may then be used by an existing *.eb.

Is it Ok if I add this with a README to the ..../r/R/ dir in the EasyConfigs 
repo and create a pull request or would you prefer this kind of supplementary 
code to go elsewhere?

Cheers,

Pi



> regards,
> 
> Kenneth

-------------------------------------------------------------
phone: +31 6 143 66 783
e-mail: [email protected]
skype:  pieter.online
-------------------------------------------------------------

Reply via email to