From 047c95aa8d2ff665d4788cb02b965ab3fa9bfc90 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Wed, 13 Oct 2021 10:38:29 -0500 Subject: buildcache: do one less tar file extraction The buildcache is now extracted in a temporary folder within the current store, moved to its final place and relocated. "spack clean -s" has been extended to also clean the temporary extraction directory. Add hardlinks with absolute paths for libraries in the corge, garply and quux packages to detect incorrect handling of hardlinks in tests. --- var/spack/repos/builtin.mock/packages/corge/package.py | 12 ++++++++---- var/spack/repos/builtin.mock/packages/garply/package.py | 4 ++++ var/spack/repos/builtin.mock/packages/quux/package.py | 4 ++++ 3 files changed, 16 insertions(+), 4 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin.mock/packages/corge/package.py b/var/spack/repos/builtin.mock/packages/corge/package.py index 2fd2b23038..592a50bce7 100644 --- a/var/spack/repos/builtin.mock/packages/corge/package.py +++ b/var/spack/repos/builtin.mock/packages/corge/package.py @@ -142,10 +142,12 @@ main(int argc, char* argv[]) '-Wl,-rpath,%s' % spec['quux'].prefix.lib64, '-Wl,-rpath,%s' % spec['garply'].prefix.lib64, 'libcorge.dylib', - '%s/libquux.dylib' % spec['quux'].prefix.lib64, - '%s/libgarply.dylib' % spec['garply'].prefix.lib64) + '%s/libquux.dylib.3.0' % spec['quux'].prefix.lib64, + '%s/libgarply.dylib.3.0' % spec['garply'].prefix.lib64) mkdirp(prefix.lib64) copy('libcorge.dylib', '%s/libcorge.dylib' % prefix.lib64) + os.link('%s/libcorge.dylib' % prefix.lib64, + '%s/libcorge.dylib.3.0' % prefix.lib64) else: gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared', '-Wl,-soname,libcorge.so', '-o', 'libcorge.so', 'corge.cc.o', @@ -159,10 +161,12 @@ main(int argc, char* argv[]) '-Wl,-rpath,%s' % spec['quux'].prefix.lib64, '-Wl,-rpath,%s' % spec['garply'].prefix.lib64, 'libcorge.so', - '%s/libquux.so' % spec['quux'].prefix.lib64, - '%s/libgarply.so' % spec['garply'].prefix.lib64) + '%s/libquux.so.3.0' % spec['quux'].prefix.lib64, + '%s/libgarply.so.3.0' % spec['garply'].prefix.lib64) mkdirp(prefix.lib64) copy('libcorge.so', '%s/libcorge.so' % prefix.lib64) + os.link('%s/libcorge.so' % prefix.lib64, + '%s/libcorge.so.3.0' % prefix.lib64) copy('corgegator', '%s/corgegator' % prefix.lib64) copy('%s/corge/corge.h' % self.stage.source_path, '%s/corge/corge.h' % prefix.include) diff --git a/var/spack/repos/builtin.mock/packages/garply/package.py b/var/spack/repos/builtin.mock/packages/garply/package.py index 6f028eec31..6b98e1c14a 100644 --- a/var/spack/repos/builtin.mock/packages/garply/package.py +++ b/var/spack/repos/builtin.mock/packages/garply/package.py @@ -109,6 +109,8 @@ const int garply_version_minor = %s; 'libgarply.dylib') mkdirp(prefix.lib64) copy('libgarply.dylib', '%s/libgarply.dylib' % prefix.lib64) + os.link('%s/libgarply.dylib' % prefix.lib64, + '%s/libgarply.dylib.3.0' % prefix.lib64) else: gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared', '-Wl,-soname,libgarply.so', @@ -119,6 +121,8 @@ const int garply_version_minor = %s; 'libgarply.so') mkdirp(prefix.lib64) copy('libgarply.so', '%s/libgarply.so' % prefix.lib64) + os.link('%s/libgarply.so' % prefix.lib64, + '%s/libgarply.so.3.0' % prefix.lib64) copy('garplinator', '%s/garplinator' % prefix.lib64) copy('%s/garply/garply.h' % self.stage.source_path, '%s/garply/garply.h' % prefix.include) diff --git a/var/spack/repos/builtin.mock/packages/quux/package.py b/var/spack/repos/builtin.mock/packages/quux/package.py index 676b1c1f0b..0430841c8e 100644 --- a/var/spack/repos/builtin.mock/packages/quux/package.py +++ b/var/spack/repos/builtin.mock/packages/quux/package.py @@ -128,6 +128,8 @@ const int quux_version_minor = %s; '%s/libgarply.dylib' % spec['garply'].prefix.lib64) mkdirp(prefix.lib64) copy('libquux.dylib', '%s/libquux.dylib' % prefix.lib64) + os.link('%s/libquux.dylib' % prefix.lib64, + '%s/libquux.dylib.3.0' % prefix.lib64) else: gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared', '-Wl,-soname,libquux.so', '-o', 'libquux.so', 'quux.cc.o', @@ -142,6 +144,8 @@ const int quux_version_minor = %s; '%s/libgarply.so' % spec['garply'].prefix.lib64) mkdirp(prefix.lib64) copy('libquux.so', '%s/libquux.so' % prefix.lib64) + os.link('%s/libquux.so' % prefix.lib64, + '%s/libquux.so.3.0' % prefix.lib64) copy('quuxifier', '%s/quuxifier' % prefix.lib64) copy('%s/quux/quux.h' % self.stage.source_path, '%s/quux/quux.h' % prefix.include) -- cgit v1.2.3-70-g09d2