summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/build_systems/cmake.py2
-rw-r--r--lib/spack/spack/package.py20
-rw-r--r--lib/spack/spack/test/cmd/install.py4
-rw-r--r--lib/spack/spack/test/conftest.py36
4 files changed, 30 insertions, 32 deletions
diff --git a/lib/spack/spack/build_systems/cmake.py b/lib/spack/spack/build_systems/cmake.py
index 5d70994bd4..92c319b0ab 100644
--- a/lib/spack/spack/build_systems/cmake.py
+++ b/lib/spack/spack/build_systems/cmake.py
@@ -218,7 +218,7 @@ class CMakePackage(PackageBase):
:return: directory where to build the package
"""
- return os.path.join(self.stage.source_path, 'spack-build')
+ return os.path.join(self.stage.path, 'spack-build')
def cmake_args(self):
"""Produces a list containing all the arguments that must be passed to
diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py
index 76e1595daf..9114297c1d 100644
--- a/lib/spack/spack/package.py
+++ b/lib/spack/spack/package.py
@@ -739,17 +739,11 @@ class PackageBase(with_metaclass(PackageMeta, PackageViewMixin, object)):
@property
def env_path(self):
- if self.stage.source_path is None:
- return None
- else:
- return os.path.join(self.stage.source_path, 'spack-build.env')
+ return os.path.join(self.stage.path, 'spack-build.env')
@property
def log_path(self):
- if self.stage.source_path is None:
- return None
- else:
- return os.path.join(self.stage.source_path, 'spack-build.out')
+ return os.path.join(self.stage.path, 'spack-build.out')
def _make_fetcher(self):
# Construct a composite fetcher that always contains at least
@@ -1695,7 +1689,7 @@ class PackageBase(with_metaclass(PackageMeta, PackageViewMixin, object)):
# Archive the environment used for the build
install(self.env_path, env_install_path)
# Finally, archive files that are specific to each package
- with working_dir(self.stage.source_path):
+ with working_dir(self.stage.path):
errors = StringIO()
target_dir = os.path.join(
spack.store.layout.metadata_path(self.spec),
@@ -1703,9 +1697,9 @@ class PackageBase(with_metaclass(PackageMeta, PackageViewMixin, object)):
for glob_expr in self.archive_files:
# Check that we are trying to copy things that are
- # in the source_path tree (not arbitrary files)
+ # in the stage tree (not arbitrary files)
abs_expr = os.path.realpath(glob_expr)
- if os.path.realpath(self.stage.source_path) not in abs_expr:
+ if os.path.realpath(self.stage.path) not in abs_expr:
errors.write(
'[OUTSIDE SOURCE PATH]: {0}\n'.format(glob_expr)
)
@@ -1714,7 +1708,7 @@ class PackageBase(with_metaclass(PackageMeta, PackageViewMixin, object)):
# folder, make it relative and check for matches
if os.path.isabs(glob_expr):
glob_expr = os.path.relpath(
- glob_expr, self.stage.source_path
+ glob_expr, self.stage.path
)
files = glob.glob(glob_expr)
for f in files:
@@ -1769,7 +1763,7 @@ class PackageBase(with_metaclass(PackageMeta, PackageViewMixin, object)):
if self.installed:
return spack.store.layout.build_log_path(self.spec)
else:
- return os.path.join(self.stage.source_path, 'spack-build.out')
+ return os.path.join(self.stage.path, 'spack-build.out')
@classmethod
def inject_flags(cls, name, flags):
diff --git a/lib/spack/spack/test/cmd/install.py b/lib/spack/spack/test/cmd/install.py
index 98aa735960..1645cd4b0e 100644
--- a/lib/spack/spack/test/cmd/install.py
+++ b/lib/spack/spack/test/cmd/install.py
@@ -413,7 +413,9 @@ def test_extra_files_are_archived(mock_packages, mock_archive, mock_fetch,
archive_dir = os.path.join(
spack.store.layout.metadata_path(s), 'archived-files'
)
- config_log = os.path.join(archive_dir, 'config.log')
+ config_log = os.path.join(archive_dir,
+ mock_archive.expanded_archive_basedir,
+ 'config.log')
assert os.path.exists(config_log)
errors_txt = os.path.join(archive_dir, 'errors.txt')
diff --git a/lib/spack/spack/test/conftest.py b/lib/spack/spack/test/conftest.py
index 774de1cb2f..d158cb0f45 100644
--- a/lib/spack/spack/test/conftest.py
+++ b/lib/spack/spack/test/conftest.py
@@ -487,12 +487,12 @@ def mock_archive(tmpdir_factory):
tar = spack.util.executable.which('tar', required=True)
tmpdir = tmpdir_factory.mktemp('mock-archive-dir')
- repo_name = 'mock-archive-repo'
- tmpdir.ensure(repo_name, dir=True)
- repodir = tmpdir.join(repo_name)
+ expanded_archive_basedir = 'mock-archive-repo'
+ tmpdir.ensure(expanded_archive_basedir, dir=True)
+ repodir = tmpdir.join(expanded_archive_basedir)
# Create the configure script
- configure_path = str(tmpdir.join(repo_name, 'configure'))
+ configure_path = str(tmpdir.join(expanded_archive_basedir, 'configure'))
with open(configure_path, 'w') as f:
f.write(
"#!/bin/sh\n"
@@ -509,18 +509,20 @@ def mock_archive(tmpdir_factory):
# Archive it
with tmpdir.as_cwd():
- archive_name = '{0}.tar.gz'.format(repo_name)
- tar('-czf', archive_name, repo_name)
+ archive_name = '{0}.tar.gz'.format(expanded_archive_basedir)
+ tar('-czf', archive_name, expanded_archive_basedir)
Archive = collections.namedtuple('Archive',
- ['url', 'path', 'archive_file'])
+ ['url', 'path', 'archive_file',
+ 'expanded_archive_basedir'])
archive_file = str(tmpdir.join(archive_name))
# Return the url
yield Archive(
url=('file://' + archive_file),
archive_file=archive_file,
- path=str(repodir))
+ path=str(repodir),
+ expanded_archive_basedir=expanded_archive_basedir)
@pytest.fixture(scope='session')
@@ -531,9 +533,9 @@ def mock_git_repository(tmpdir_factory):
git = spack.util.executable.which('git', required=True)
tmpdir = tmpdir_factory.mktemp('mock-git-repo-dir')
- repo_name = 'mock-git-repo'
- tmpdir.ensure(repo_name, dir=True)
- repodir = tmpdir.join(repo_name)
+ expanded_archive_basedir = 'mock-git-repo'
+ tmpdir.ensure(expanded_archive_basedir, dir=True)
+ repodir = tmpdir.join(expanded_archive_basedir)
# Initialize the repository
with repodir.as_cwd():
@@ -605,9 +607,9 @@ def mock_hg_repository(tmpdir_factory):
hg = spack.util.executable.which('hg', required=True)
tmpdir = tmpdir_factory.mktemp('mock-hg-repo-dir')
- repo_name = 'mock-hg-repo'
- tmpdir.ensure(repo_name, dir=True)
- repodir = tmpdir.join(repo_name)
+ expanded_archive_basedir = 'mock-hg-repo'
+ tmpdir.ensure(expanded_archive_basedir, dir=True)
+ repodir = tmpdir.join(expanded_archive_basedir)
get_rev = lambda: hg('id', '-i', output=str).strip()
@@ -651,9 +653,9 @@ def mock_svn_repository(tmpdir_factory):
svnadmin = spack.util.executable.which('svnadmin', required=True)
tmpdir = tmpdir_factory.mktemp('mock-svn-stage')
- repo_name = 'mock-svn-repo'
- tmpdir.ensure(repo_name, dir=True)
- repodir = tmpdir.join(repo_name)
+ expanded_archive_basedir = 'mock-svn-repo'
+ tmpdir.ensure(expanded_archive_basedir, dir=True)
+ repodir = tmpdir.join(expanded_archive_basedir)
url = 'file://' + str(repodir)
# Initialize the repository