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...
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? :-)
regards,
Kenneth