easybuild-framework
easybuild-framework copied to clipboard
added support for checking out svn revisions to download_file
This works for easyconfig files looking like this (if pysvn and tar are available on the system):
name = 'FDS'
version = '20564'
homepage = 'https://code.google.com/p/fds-smv/'
description = """
Fire Dynamics Simulator (FDS) is a large-eddy simulation (LES) code for low-speed flows, with an emphasis on smoke and
heat transport from fires.
"""
toolchain = {'name': 'foss', 'version': '2014b'}
toolchainopts = {'pic': True, 'usempi': True}
source_urls = ['svn+http://fds-smv.googlecode.com/svn/trunk/FDS/trunk/']
sources = ['%(version)s.tar.gz']
moduleclass = 'phys'
note the 'svn+http' part in the source_urls, this is needed to tell the download function to use svn. version is used as the revision number to check out, sources are currently always '%(version)s.tar.gz' Sine this code checks out the svn repo at the given revision, creates a tarball, and removes it again.
Why put the sources to '%(version)s.tar.gz'? I would drop the .tar.gz. Gives us the freedom to changes if we want later on and, if you have multiple source_urls and sources, of which some are svn and some are not, this is hard. I'm more in favor of a something like %(SVN_VERSION_REV)s. So that it is clear which ones are svn and which should go to normal http.
Test FAILed.
The sources get downloaded and saved as %(version)s.tar.gz in the sources directory, as per your idea as discussed on irc.
Test FAILed.
Test PASSed.
I'm working on a python implementation for creating a tarball, got it working locally but need some more testing, so please hold on from merging or making any changes
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1269/ Test FAILed.
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1270/ Test FAILed.
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1271/ Test FAILed.
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1272/ Test FAILed.
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1273/ Test PASSed.
this is ready to be merged in, it works, except for the fact that svn is very slow :tongue:
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1274/ Test PASSed.
@JensTimmerman: not exactly ready to be merged in, but it's starting to look really nice! Let's try and get this in soon, to avoid leaving it to rot again...
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1282/ Test FAILed.
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1283/ Test FAILed.
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1284/ Test FAILed.
Jenkins: test this please
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1294/ Test FAILed.
Refer to this link for build results (access rights to CI server needed): https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1322/ Test FAILed.
@boegel @JensTimmerman Is this still relevant?
Ping @boegel and @JensTimmerman again