design encoding scheme for module and class names #86

Closed
boegel opened this Issue Aug 17, 2012 · 5 comments

Comments

Projects
None yet
2 participants
Owner

boegel commented Aug 17, 2012

We need an encoding scheme to handle problems with names of software packages that would yield identifical module and/or class names via the current scheme (lowercase module names, camel-case class names).

Clashes would occur for e.g. 'R' / 'r', 'LAPACK' / 'LaPack' / 'lapack'.

Problems would also occur for e.g. '7zip' (class names can't start with a number), '_' or '-' or 'c++' or '|' .

fgeorgatos was assigned Aug 17, 2012

Collaborator

fgeorgatos commented Aug 17, 2012

Hi there,

this guy seems to be doing the same thing to escape funny symbols like the one we discussed:
http://celldesigner.org/help/CDH_Species_01.html

Collaborator

fgeorgatos commented Aug 17, 2012

Hi there,

I think the patch for this issue is ready by now as seen over here:
https://github.com/fgeorgatos/easybuild/tree/86_new_encoding_scheme

when I do the testing though it breaks as follows:

fgeorgatos@gaia-1:~/easybuild$ time eb -k Python-3.2.3-goalf-1.1.0-no-OFED.eb -ld -f
[...]
== 2012-08-17 17:47:19,410 Modules DEBUG No environment variable found to determine loaded modules, assuming no modules are loaded.
Traceback (most recent call last):
  File "/usr/lib/python2.6/runpy.py", line 122, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File "/home/clusterusers/fgeorgatos/easybuild/easybuild/build.py", line 749, in <module>
    main()
  File "/home/clusterusers/fgeorgatos/easybuild/easybuild/build.py", line 285, in main
    (success, _) = build(spec, options, log, origEnviron, exitOnFailure=(not options.regtest))
  File "/home/clusterusers/fgeorgatos/easybuild/easybuild/build.py", line 631, in build
    result = app.autobuild(spec, runTests=not options.skip_tests, regtest_online=options.regtest_online)
  File "easybuild/framework/application.py", line 117, in autobuild
    self.build()
  File "easybuild/framework/application.py", line 673, in build
    self.runstep('packages', [self.packages])
  File "easybuild/framework/application.py", line 699, in runstep
    m()
  File "easybuild/framework/application.py", line 1296, in packages
    self.log.debug("Adding %s to MODULEPATH" % modpath)
UnboundLocalError: local variable 'modpath' referenced before assignment

real    0m1.041s
user    0m0.240s
sys     0m0.244s

enjoy,
Fotis

fgeorgatos was assigned Aug 17, 2012

@boegel boegel added a commit to boegel/easybuild-framework that referenced this issue Aug 19, 2012

@boegel boegel follow new class naming scheme (see #86) 2937530

@boegel boegel added a commit to boegel/easybuild-framework that referenced this issue Aug 19, 2012

@boegel boegel fix easyblock specification in easyconfig files according to new clas…
…s name encoding scheme (see #86)
81582a1
Owner

boegel commented Aug 20, 2012

documentation added to main EasyBuild wiki

@fgeorgatos: For subsequent documentation, please create it on your EasyBuild repository (as opposed to on a different repo, easybuild.experimental in this case).

That makes it easier for us to pull in the documentation, and push it to the main repo.

Owner

boegel commented Aug 20, 2012

Code has been merged in develop, and documentation is taken care of, so closing this issue.

boegel closed this Aug 20, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment