Skip to content

Per os config#13686

Closed
marcmengel wants to merge 2451 commits intospack:developfrom
marcmengel:per_os_config
Closed

Per os config#13686
marcmengel wants to merge 2451 commits intospack:developfrom
marcmengel:per_os_config

Conversation

@marcmengel
Copy link
Copy Markdown
Contributor

@marcmengel marcmengel commented Nov 11, 2019

Some config files, (especially packages.yaml, to describe system packages) really need to be different per-operating-system, as opposed to just per-platform, if you have a shared packages area. This lets you have an etc/spack/scientific7/packages.yaml and an etc/spack/debian6/packages.yaml, and so on to describe system packages available on assorted operating systems.

Resolves #4427

scheibelp and others added 27 commits May 7, 2020 14:01
This fixes some errors with setting up test configuration. These
errors do not cause current Spack tests to fail but do create
red herring issues elsewhere (see #15666). Fixing these errors
leads to more errors in tests that depended on the original
misconfigured state, so those are also addressed here.

This is an update to #16003 which accounts for some unit tests with
conflicting config/mutable_config fixtures. These conflicts were
not exposed until the mutable_config fixture was fixed. Details are
included below. The change which builds on #16003 is prefixed with
"(new)".

* For tests that use the real Spack package repository, the config
  needs to avoid using MPI providers that are not intended to be
  installed by Spack. Without this, it is possible that Spack tests
  which concretize the MPI virtual will end up trying to use an
  implementation that it shouldn't (e.g. one that is always
  provided externally). See #15666 for an example.
* The mutable_config test fixture was not initializing the scope
  roots to the right directories (so the resulting config was empty).
* The current_host fixture in the concretize.py tests was using the
  config fixture rather than mutable_config, and was polluting the
  config cache for other tests.
* One test in concretize.py was clearing a nonexistent cache
  (PackagePrefs._packages_config_cache). This reference has been
  removed.
* The test 'test_preferred_compilers' was was depending on cross
  test config pollution to succeed. The initial spec before
  concretization has been updated to updated to be explicit about
  the desired result.
* (new) For tests that use install_mockery and mutable_config,
  replace install_mockery with a separate install_mockery_mutable_config
  fixture that is exactly the same as install_mockery but uses the
  mutable_config fixture to avoid conflicts.
Co-authored-by: Elizabeth Fischer <[email protected]>
* Non-interactive mode for spack checksum; allow passing 'package@version' to spack checksum

* Flake8 fixes

* Update checksum.py

Fix typo

* Update spack-completion script

* Automatically set non-interactive mode if more than one version passed

* Update lib/spack/spack/cmd/checksum.py

Co-Authored-By: Adam J. Stewart <[email protected]>

* Add documentation and update spack-completion

* Flake8

* Rename option

* Update spack-completion

* Update lib/spack/spack/cmd/checksum.py

Co-Authored-By: Adam J. Stewart <[email protected]>

* Update checksum.py

* Update stage.py

* Update create.py

Use batch mode when adding a new package

Co-authored-by: Ivan Razumov <[email protected]>
Co-authored-by: Adam J. Stewart <[email protected]>
…on directory (#14479)

* Add config option to disable setting S_ISGID bit when creating installation directory. 

Co-authored-by: Ivan Razumov <[email protected]>
This adds the `url` alternative `urls` to `package.all_urls`. With
this addition, one can find again new versions with
`spack versions <package>` for packages that are populated with
from mixin mirror `urls`.

Example: `util-macros` from x.org mixin.
Large Scale Assembly, Structural Correspondence,
       Multi Dynamics Simulator.In this program,
       a part of functions of ADVENTURE_Solid ver.1.1 module
* Gaudi: separate variant for building documentation

* Update package.py
* py-netcdf4: avoid recompilation and make the older versions to work with [email protected]:

* py-netcdf4: add a new version and introduce a maintainer list.
After migrating to `travis-ci.com`, we saw I/O issues in our tests --
tests that relied on `capfd` and `capsys` were failing. We've also seen
this in GitHub actions, and it's kept us from switching to them so far.

Turns out that the issue is that using streams like `sys.stdout` as
default arguments doesn't play well with `pytest` and output redirection,
as `pytest` changes the values of `sys.stdout` and `sys.stderr`. if these
values are evaluated before output redirection (as they are when used as
default arg values), output won't be captured properly later.

- [x] replace all stream default arg values with `None`, and only assign stream
      values inside functions.
- [x] fix tests we didn't notice were relying on this erroneous behavior
- add docstrings and make parameter names consistent in `relocate.py`
- Make `replace_prefix_*` and other functions private (as they are implementation details)
- remove unused function _replace_prefix_nullterm()

- Add unit tests for `relocate.py` functions
  - add patchelf to Travis and use it during tests
  - add hello_world fixture with a compiled binary, so we can test relocation
* Fix dependency of geant4 (amends #16497)

* Update geant4-data dependencies

* Reviewer comments (part 1/2)

* Reviewer comments (part 2/2)

* Update var/spack/repos/builtin/packages/geant4-data/package.py

Co-authored-by: Adam J. Stewart <[email protected]>

Co-authored-by: Adam J. Stewart <[email protected]>
* Add naromero77 as a maintainer for QMCPACK Spack package.

* Add QMCPACK 3.9.2

* Remove QE-to-QMCPACK wave function converter from QMCPACK Spack package. Already been moved to QE Spack package.
* [py-addict] created template

* [py-addict] added homepage and description

* [py-addict] cleaned up fixmes

* [py-addict] depends on py-setuptools
…rsions. (#16534)

* Add maintainers.
Add variants for building with default earlier api versions.

* Update var/spack/repos/builtin/packages/hdf5/package.py

Co-authored-by: Adam J. Stewart <[email protected]>

Co-authored-by: Adam J. Stewart <[email protected]>
* [dd4hep] variant and run env updates

* address comments from #16524
- Remove macos tests from travis
- Add macos tests in github actions.
ajkotobi and others added 26 commits May 25, 2020 13:19
* openmpi: get rid of implicit system dependencies

* Python 2 compatibility.

* Rename pbspro to openpbs and revert packages.yaml.

* Remove virtual package 'sendmail'.
* hdf: new version, variants and refactoring.

* libc provides rpc

* Fix szip-related configure argument.

* Update dependent packages.
- add future-proofing for wmake rules locations:
  Accept wmake/rules/{ARCH}{COMP} or wmake/rules/{ARCH}/{COMP}

- compiler option is now '-spack' instead of 'RpathOpt'
  which now seems to be a bit harsh on the eyes.
  Now have compilations such as 'linux64GccDPInt32-spack',
  which is moderately easier to read.

- add OpenFOAM 1912, patch 200506

STYLE: adjust for new flakey8 indentation rules
* make_link_relative: added docstring

* make_elf_binaries_relative: added docstring, unit tests

* raise_if_not_relocatable: added docstring, added unit test for exceptional case

* relocate_links: removed unused arguments, added docstring and comments

Also fixed a possible bug that was issuing spurious
warning when a file was relocated successfully

* relocate_text: added docstring and comments, renamed arguments

* relocate_text_bin: added docstring and comments, renamed arguments, unit tests
* backwards compatibility for naming scheme
Fix for 'FindOpenMP.cmake' to detect openmp 
settings used by Fujitsu compiler.
@marcmengel marcmengel closed this May 27, 2020
@marcmengel
Copy link
Copy Markdown
Contributor Author

I rebased this off develop again, and this seems to confuse github about what's different; I'll re-submit.

@marcmengel marcmengel mentioned this pull request May 27, 2020
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.

More specific configuration scopes