On 28/03/2017 21:32, Siddiqui, Shahzeb wrote:
I thought EB was doing a check for the filename, if that is not enforced then 
how else would the --robot feature work if the eb files were not in a standard 
name format.

I would personally have this enforced prior to running eb to avoid building 
packages without the correct naming scheme. This would be simple, make sure 
that the name of the eb file matches the field: name, version, versionsuffix, 
toolchain name/version

As Alan mentioned, we only verify the easyconfig filename when the robot picks up an easyconfig file to resolve a dependency.

For easyconfig files specified on the command line, we don't check anything, to give people the freedom to name their easyconfig files "test.eb" or whatever (even the .eb extension isn't required).

I guess we could make it optional to always verify the easyconfig filename, but it wouldn't be the default behavior.


regards,

Kenneth

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Jack Perdue
Sent: Tuesday, March 28, 2017 3:24 PM
To: [email protected]
Subject: Re: [easybuild] eb file format toolchain version mismatch successful 
build?

EB ignores the file name and uses the info inside.

e.g. I could have a file named foo.eb with the contents:

name = 'foobar'
version = 'barfoo'
toolchain = {'name': 'ABC', 'version': '123'}

And it would generate foobar/barfoo-ABC-123 regardless off the foo.eb filename.

jack


On 03/28/2017 01:55 PM, Siddiqui, Shahzeb wrote:
Hello,

I accidently did a build and I noticed easybuild went ahead with the
build when I didn't have foss-2016a in the system but the file name
was set that way but the toolchain name was set to foss-2016.03 which
is my custom toolchain. I suspected that eb would check filename to
make sure it matches the toolchain version before building. Is this
not the case?

[hpcswadm@amrndhl1157 libXrender]$ cat libXrender-0.9.9-foss-2016a.eb

easyblock = 'ConfigureMake'

name = 'libXrender'

version = '0.9.9'

homepage = "http://www.freedesktop.org/wiki/Software/xlibs";

description = """X11 client-side library"""

toolchain = {'name': 'foss', 'version': '2016.03'}

sources = [SOURCE_TAR_GZ]

source_urls = [XORG_LIB_SOURCE]

builddependencies = [

     ('xorg-macros', '1.19.0'),

     ('kbproto', '1.0.7'),

     ('renderproto', '0.11'),

     ('xextproto', '7.3.0'),

     ('xcb-proto', '1.11', '', True),

     ('inputproto', '2.3.1'),

     ('xproto', '7.0.28'),

     ('libpthread-stubs', '0.3'),

     ('xtrans', '1.3.5'),

]

dependencies = [

     ('libX11', '1.6.3'),

]

sanity_check_paths = {

     'files': ['lib/libXrender.a'],

     'dirs': [],

}

moduleclass = 'vis'

[hpcswadm@amrndhl1157 libXrender]$ eb libXrender-0.9.9-foss-2016a.eb
--package --hidden

== temporary log file in case of crash
/dev/shm/tmp/eb-gsGjFk/easybuild-dQwaNV.log

== processing EasyBuild easyconfig
/hpc/hpcswadm/easybuild/libXrender/libXrender-0.9.9-foss-2016a.eb

== building and installing
MPI/GCC/5.4.0-2.27/OpenMPI/2.0.0/libXrender/.0.9.9...

== fetching files...

== creating build dir, resetting environment...

== unpacking...

== patching...

== preparing...

== configuring...

== building...

== testing...

== installing...

== taking care of extensions...

== postprocessing...

== sanity checking...

== cleaning up...

== creating module...

== permissions...

== packaging...

== COMPLETED: Installation ended successfully

== Results of the build can be found in the log file(s)
/nfs/grid/software/RHEL7/easybuild/software/MPI/GCC/5.4.0-2.27/OpenMPI
/2.0.0/libXrender/0.9.9/easybuild/easybuild-libXrender-0.9.9-20170328.
145135.log

== Build succeeded for 1 out of 1

== Temporary log file(s) /dev/shm/tmp/eb-gsGjFk/easybuild-dQwaNV.log*
have been removed.

== Temporary directory /dev/shm/tmp/eb-gsGjFk has been removed.

Shahzeb Siddiqui

HPC Linux Engineer

B2220-447.2

Groton, CT


Reply via email to