spack/lib/spack/spack
James Smillie 349ba83bc6
Windows symlinking support (#38599)
This reapplies 66f7540, which adds supports for hardlinks/junctions on
Windows systems where developer mode is not enabled.

The commit was reverted on account of multiple issues:

* Checks added to prevent dangling symlinks were interfering with
  existing CI builds on Linux (i.e. builds that otherwise succeed were
  failing for creating dangling symlinks).
* The logic also updated symlinking to perform redirection of relative
  paths, which lead to malformed symlinks.

This commit fixes these issues.
2023-08-25 12:18:19 -07:00
..
bootstrap spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
build_systems autotools: set 'ldlibs' as 'LIBS' (#17254) 2023-08-13 00:38:10 -07:00
cmd Uppercase global constants in spec.py (#39573) 2023-08-23 21:26:30 +00:00
compilers spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
container Fix containerize view symlink issue (#39419) 2023-08-14 16:02:48 +00:00
detection Prevent "spack external find" to error out on wrong permissions (#38755) 2023-07-07 12:05:32 +02:00
environment Uppercase global constants in spec.py (#39573) 2023-08-23 21:26:30 +00:00
hooks drop redundant rpaths post install (#38976) 2023-07-19 09:48:31 +00:00
modules spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
operating_systems Fix issue on cray with super call (#38895) 2023-07-14 10:00:02 +00:00
platforms spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
reporters Stand-alone testing: make recipe support and processing spack-/pytest-like (#34236) 2023-05-10 11:34:54 +02:00
schema Add a new configuration option to select among different concretization modes 2023-08-15 15:54:37 -07:00
solver ASP-based solver: split heuristic for duplicate nodes (#39593) 2023-08-23 19:02:20 +00:00
test Windows symlinking support (#38599) 2023-08-25 12:18:19 -07:00
util json: minify by default (#39457) 2023-08-16 11:26:40 +00:00
version spack.caches: uppercase global variables (#39428) 2023-08-15 09:59:02 +02:00
__init__.py Bump Spack version on develop to 0.21.0.dev0 (#37760) 2023-05-18 12:47:55 +02:00
abi.py Drop Python 2 object subclassing (#38720) 2023-07-05 14:37:44 +02:00
audit.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
binary_distribution.py rebuild-index: fix race condition by avoiding parallelism (#39594) 2023-08-24 08:26:56 +02:00
build_environment.py Fix Spack freeze on install child process unexpected exit (#39015) 2023-08-18 09:41:02 +02:00
builder.py Drop Python 2 super syntax (#38718) 2023-07-05 09:04:29 -05:00
caches.py spack.caches: uppercase global variables (#39428) 2023-08-15 09:59:02 +02:00
ci.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
ci_needs_workaround.py license year bump (#34921) 2023-01-18 14:30:17 -08:00
ci_optimization.py Style: black 23, skip magic trailing comma (#35351) 2023-02-16 23:06:12 -06:00
compiler.py Drop Python 2 super syntax (#38718) 2023-07-05 09:04:29 -05:00
concretize.py spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
config.py spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
cray_manifest.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
database.py Extract prefix locks and failure markers from Database (#39024) 2023-08-07 06:47:52 -04:00
dependency.py license year bump (#34921) 2023-01-18 14:30:17 -08:00
directives.py Uppercase global constants in spec.py (#39573) 2023-08-23 21:26:30 +00:00
directory_layout.py Windows: enable "spack install" tests (#34696) 2023-08-14 13:15:40 -07:00
error.py Drop Python 2 super syntax (#38718) 2023-07-05 09:04:29 -05:00
extensions.py Drop Python 2 super syntax (#38718) 2023-07-05 09:04:29 -05:00
fetch_strategy.py version: move to module, avoid circular imports (#39077) 2023-08-02 17:47:08 +02:00
filesystem_view.py Uppercase global constants in spec.py (#39573) 2023-08-23 21:26:30 +00:00
gcs_handler.py license year bump (#34921) 2023-01-18 14:30:17 -08:00
graph.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
hash_types.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
install_test.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
installer.py Windows symlinking support (#38599) 2023-08-25 12:18:19 -07:00
main.py spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
mirror.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
mixins.py netcdf: fix bugs introduced with multiple build systems split (#36825) 2023-04-14 10:59:12 +02:00
multimethod.py Fix style issues with latest versions of tools (#39422) 2023-08-14 12:38:59 -04:00
package.py Remove references to gmake executable, only use make (#37280) 2023-05-18 19:03:03 +00:00
package_base.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
package_prefs.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
package_test.py license year bump (#34921) 2023-01-18 14:30:17 -08:00
parser.py Remove leftover attributes from parser (#39574) 2023-08-24 08:04:43 +02:00
patch.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
paths.py Windows: executable/path handling (#37762) 2023-08-14 23:29:12 +00:00
projections.py Split satisfies(..., strict=True/False) into two functions (#35681) 2023-03-08 13:00:53 +01:00
provider_index.py Drop Python 2 object subclassing (#38720) 2023-07-05 14:37:44 +02:00
relocate.py Remove LazyReference from code (#38944) 2023-07-19 11:08:51 +02:00
relocate_text.py Drop Python 2 super syntax (#38718) 2023-07-05 09:04:29 -05:00
repo.py do not warn for invalid package name on repo.yaml if subdirectory: '' (#39439) 2023-08-23 23:23:35 +02:00
report.py Stand-alone testing: make recipe support and processing spack-/pytest-like (#34236) 2023-05-10 11:34:54 +02:00
resource.py Drop Python 2 object subclassing (#38720) 2023-07-05 14:37:44 +02:00
rewiring.py Remove LazyReference from code (#38944) 2023-07-19 11:08:51 +02:00
s3_handler.py Drop Python 2 super syntax (#38718) 2023-07-05 09:04:29 -05:00
spec.py Remove leftover attributes from parser (#39574) 2023-08-24 08:04:43 +02:00
spec_list.py Delay abstract hashes lookup (#39251) 2023-08-17 08:08:50 +02:00
stage.py spack.caches: uppercase global variables (#39428) 2023-08-15 09:59:02 +02:00
store.py spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
subprocess_context.py spack.config: use all caps for globals (#39424) 2023-08-15 08:19:36 +02:00
tag.py spack.repo: uppercase the global PATH variable (#39372) 2023-08-11 09:04:16 +02:00
target.py Drop Python 2 object subclassing (#38720) 2023-07-05 14:37:44 +02:00
tengine.py modules: use curly braces to enclose value in Tcl modulefile (#38375) 2023-07-19 17:57:37 +02:00
traverse.py Fix multiple quadratic complexity issues in environments (#38771) 2023-07-07 10:51:58 +00:00
url.py Drop Python 2 super syntax (#38718) 2023-07-05 09:04:29 -05:00
user_environment.py license year bump (#34921) 2023-01-18 14:30:17 -08:00
variant.py Drop Python 2 super syntax (#38718) 2023-07-05 09:04:29 -05:00
verify.py Remove LazyReference from code (#38944) 2023-07-19 11:08:51 +02:00