Skip to content

Backports v0.21.0 (3)#40977

Merged
tgamblin merged 9 commits intoreleases/v0.21from
backports/v0.21.0
Nov 11, 2023
Merged

Backports v0.21.0 (3)#40977
tgamblin merged 9 commits intoreleases/v0.21from
backports/v0.21.0

Conversation

@haampie
Copy link
Copy Markdown
Member

@haampie haampie commented Nov 9, 2023

@spackbot-app spackbot-app bot added the core PR affects Spack core functionality label Nov 9, 2023
@haampie haampie added this to the v0.21.0 milestone Nov 9, 2023
@spackbot-app spackbot-app bot added binary-packages tests General test capability(ies) labels Nov 9, 2023
This commit improves forward compatibility of Spack with newer build cache metadata formats.

Before this commit, invalid or unrecognized metadata would be fatal errors, now they just cause
a mirror to be skipped.

Co-authored-by: Harmen Stoppels <[email protected]>
@haampie haampie changed the title Backports v0.21 (3) Backports v0.21.0 (3) Nov 9, 2023
This changes variant display to use a much more legible format, and to use screen space
much better (particularly on narrow terminals). It also adds color the variant display
to match other parts of `spack info`.

Descriptions and variant value lists that were frequently squished into a tiny column
before now have closer to the full terminal width.

This change also preserves any whitespace formatting present in `package.py`, so package
maintainers can make easer-to-read descriptions of variant values if they want. For
example, `gasnet` has had a nice description of the `conduits` variant for a while, but
it was wrapped and made illegible by `spack info`. That is now fixed and the original
newlines are kept.

Conditional variants are grouped by their when clauses by default, but if you do not
like the grouping, you can display all the variants in order with `--variants-by-name`.
I'm not sure when people will prefer this, but it makes it easier to tell that a
particular variant is/isn't there. I do think grouping by `when` is the better default.
And improve the error message (load vs unload).

Of course you could have some uninstalled dependency too, but as long as
it doesn't implement `setup_run_environment` etc, I don't think it hurts
to attempt to load the root anyways, given that failure to do so is a
warning, not a fatal error.
The ^mkl pattern was used to refer to three packages
even though none of software using it was depending
on "mkl".

This pattern, which follows Hyrum's law, is now being
removed in favor of a more explicit one.

In this PR gromacs, abinit, lammps, and quantum-espresso
are modified.

Intel packages are also modified to provide "lapack"
and "blas" together.
alalazo and others added 2 commits November 10, 2023 17:50
We have two ways to concretize now:
* `spack concretize` concretizes only the root specs that are not concrete in the environment.
* `spack concretize -f` eliminates all cached concretization data and reconcretizes the *entire* environment.

This PR adds `spack deconcretize`, which eliminates cached concretization data for a spec.  This allows
users greater control over what is preserved from their `spack.lock` file and what is reused when not
using `spack concretize -f`.  If you want to update a spec installed in your environment, you can call
`spack deconcretize` on it, and that spec and any relevant dependents will be removed from the lock file.

`spack concretize` has two options:
* `--root`: limits deconcretized specs to *specific* roots in the environment. You can use this to
  deconcretize exactly one root in a `unify: false` environment.  i.e., if `foo` root is a dependent
  of `bar`, both roots, `spack deconcretize bar` will *not* deconcretize `foo`.
* `--all`: deconcretize *all* specs that match the input spec. By default `spack deconcretize`
  will complain about multiple matches, like `spack uninstall`.
Copy link
Copy Markdown
Member Author

@haampie haampie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure if these review comments appear as i write them

Copy link
Copy Markdown
Member Author

@haampie haampie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

Copy link
Copy Markdown
Member Author

@haampie haampie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some more explanation of oci stuff?

Copy link
Copy Markdown
Member Author

@haampie haampie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one more thing

@tgamblin tgamblin force-pushed the backports/v0.21.0 branch 3 times, most recently from 9b6ee7a to 6986fbf Compare November 11, 2023 11:27
Copy link
Copy Markdown
Member Author

@haampie haampie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last typos

@tgamblin tgamblin merged commit 65d3221 into releases/v0.21 Nov 11, 2023
@tgamblin tgamblin deleted the backports/v0.21.0 branch November 11, 2023 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants