diff options
author | Matthew LeGendre <legendre1@llnl.gov> | 2015-04-20 10:38:18 -0700 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2015-08-16 12:48:32 -0700 |
commit | c7b8d09c7f180da5922801450fe0ae6a0f802377 (patch) | |
tree | d44ddeabd11632b74210a0fa672826a9e66394c5 /lib/spack/spack/cmd/create.py | |
parent | c8f65c15306683a5d505d4bcafa603e75c09feca (diff) | |
download | spack-c7b8d09c7f180da5922801450fe0ae6a0f802377.tar.gz spack-c7b8d09c7f180da5922801450fe0ae6a0f802377.tar.bz2 spack-c7b8d09c7f180da5922801450fe0ae6a0f802377.tar.xz spack-c7b8d09c7f180da5922801450fe0ae6a0f802377.zip |
Add packagerepos to spack, allowing for creating multiple package repositories.
Diffstat (limited to 'lib/spack/spack/cmd/create.py')
-rw-r--r-- | lib/spack/spack/cmd/create.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py index 46e6bcec14..1502942f2c 100644 --- a/lib/spack/spack/cmd/create.py +++ b/lib/spack/spack/cmd/create.py @@ -94,6 +94,9 @@ def setup_parser(subparser): '-n', '--name', dest='alternate_name', default=None, help="Override the autodetected name for the created package.") subparser.add_argument( + '-p', '--package-repo', dest='package_repo', default=None, + help="Create the package in the specified packagerepo.") + subparser.add_argument( '-f', '--force', action='store_true', dest='force', help="Overwrite any existing package file with the same name.") @@ -160,12 +163,21 @@ def create(parser, args): tty.die("Couldn't guess a name for this package. Try running:", "", "spack create --name <name> <url>") + package_repo = args.package_repo + 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)) tty.msg("Creating template for package %s" % name) + # Create a directory for the new package. + pkg_path = spack.db.filename_for_package_name(name, package_repo) + if os.path.exists(pkg_path) and not args.force: + tty.die("%s already exists." % pkg_path) + else: + mkdirp(os.path.dirname(pkg_path)) + versions = spack.package.find_versions_of_archive(url) rkeys = sorted(versions.keys(), reverse=True) versions = OrderedDict(zip(rkeys, (versions[v] for v in rkeys))) |