From 39acca4b43d5febdb07b2bb2edbbcd89cece10b1 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 19 Sep 2014 09:42:07 -0700 Subject: Fix for bug in create introduced by LLVM merge. --- lib/spack/spack/cmd/create.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py index c98162aca7..5f6350c8e8 100644 --- a/lib/spack/spack/cmd/create.py +++ b/lib/spack/spack/cmd/create.py @@ -36,7 +36,7 @@ import spack.cmd import spack.cmd.checksum import spack.package import spack.url -from spack.util.naming import mod_to_class +from spack.util.naming import * import spack.util.crypto as crypto from spack.util.executable import which @@ -128,21 +128,22 @@ def create(parser, args): url = args.url # Try to deduce name and version of the new package from the URL - name, version = spack.url.parse_name_and_version(url) - - # Use a user-supplied name if one is present - name = kwargs.get(args, 'alternate_name', False) - if args.name: - name = args.name - + version = spack.url.parse_version(url) if not version: tty.die("Couldn't guess a version string from %s." % url) - if not name: - tty.die("Couldn't guess a name for this package. Try running:", "", - "spack create --name ") - - if not spack.db.valid_name(name): + # Try to guess a name. If it doesn't work, allow the user to override. + if args.alternate_name: + name = args.alternate_name + else: + try: + name = spack.url.parse_name(url, version) + except spack.url.UndetectableNameError, e: + # Use a user-supplied name if one is present + tty.die("Couldn't guess a name for this package. Try running:", "", + "spack create --name ") + + if not valid_module_name(name): tty.die("Package name can only contain A-Z, a-z, 0-9, '_' and '-'") tty.msg("This looks like a URL for %s version %s." % (name, version)) -- cgit v1.2.3-70-g09d2