Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Explicitly import package utilities in all packages, and corresponding fallout.
This includes:
* rename `spack.package` to `spack.package_base`
* rename `spack.pkgkit` to `spack.package`
* update all packages in builtin, builtin_mock and tutorials to include `from spack.package import *`
* update spack style
* ensure packages include the import
* automatically add the new import and remove any/all imports of `spack` and `spack.pkgkit`
from packages when using `--fix`
* add support for type-checking packages with mypy when SPACK_MYPY_CHECK_PACKAGES
is set in the environment
* fix all type checking errors in packages in spack upstream
* update spack create to include the new imports
* update spack repo to inject the new import, injection persists to allow for a deprecation period
Original message below:
As requested @adamjstewart, update all packages to use pkgkit. I ended up using isort to do this,
so repro is easy:
```console
$ isort -a 'from spack.pkgkit import *' --rm 'spack' ./var/spack/repos/builtin/packages/*/package.py
$ spack style --fix
```
There were several line spacing fixups caused either by space manipulation in isort or by packages
that haven't been touched since we added requirements, but there are no functional changes in here.
* [x] add config to isort to make sure this is maintained going forward
|
|
|
|
This PR will add a new audit, specifically for spack package homepage urls (and eventually
other kinds I suspect) to see if there is an http address that can be changed to https.
Usage is as follows:
```bash
$ spack audit packages-https <package>
```
And in list view:
```bash
$ spack audit list
generic:
Generic checks relying on global variables
configs:
Sanity checks on compilers.yaml
Sanity checks on packages.yaml
packages:
Sanity checks on specs used in directives
packages-https:
Sanity checks on https checks of package urls, etc.
```
I think it would be unwise to include with packages, because when run for all, since we do requests it takes a long time. I also like the idea of more well scoped checks - likely there will be other addresses for http/https within a package that we eventually check. For now, there are two error cases - one is when an https url is tried but there is some SSL error (or other error that means we cannot update to https):
```bash
$ spack audit packages-https zoltan
PKG-HTTPS-DIRECTIVES: 1 issue found
1. Error with attempting https for "zoltan":
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'www.cs.sandia.gov'. (_ssl.c:1125)>
```
This is either not fixable, or could be fixed with a change to the url or (better) contacting the site owners to ask about some certificate or similar.
The second case is when there is an http that needs to be https, which is a huge issue now, but hopefully not after this spack PR.
```bash
$ spack audit packages-https xman
Package "xman" uses http but has a valid https endpoint.
```
And then when a package is fixed:
```bash
$ spack audit packages-https zlib
PKG-HTTPS-DIRECTIVES: 0 issues found.
```
And that's mostly it. :)
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Co-authored-by: vsoch <vsoch@users.noreply.github.com>
|
|
|
|
- [x] add `concretize.lp`, `spack.yaml`, etc. to licensed files
- [x] update all licensed files to say 2013-2021 using
`spack license update-copyright-year`
- [x] appease mypy with some additions to package.py that needed
for oneapi.py
|
|
overhaul all x.org packages to use available mirrors.
|
|
|
|
We'd like to use a consistent checksum scheme everywhere so that we can:
a) incorporate archive checksums into our specs and have a
consistent hashing algorithm across all specs.
b) index mirrors with a consistent type of checksum, and not one that
is dependent on how spack packages are written.
- [x] convert existing md5, sha224, sha512, sha1 checksums to sha256
|
|
|
|
- remove the old LGPL license headers from all files in Spack
- add SPDX headers to all files
- core and most packages are (Apache-2.0 OR MIT)
- a very small number of remaining packages are LGPL-2.1-only
|
|
|
|
There are two providers, pkgconf and pkg-config, with the former being
the default provider.
|
|
We moved to a new GitHub org! Now make the code and docs reflect that.
|
|
|
|
|
|
* Massive conversion from Package to AutotoolsPackage
* Forgot to convert p4est to AutotoolsPackage
* Fix typo
* Fix broken link in docs
|
|
* Updates to Mesa and other Xorg packages
* Add packages for all Xorg Protocol extensions
* Add packages for first half of Xorg libraries
* Add packages for remaining Xorg libraries
* Add packages for all Xorg utilities
* Add packages for Xorg documentation tools
* Add build deps to Xorg protocol headers
* Add packages for XCB
* Add build deps to Xorg libraries
* Add build deps to Xorg utilities
* Add packages for Xorg fonts and font-related utilities
* Change font deptype from build to default
I wasn't sure which deptype was appropriate at first since none of
the packages are actually linked together. I initially chose the
build deptype for this reason. However, the font packages don't
install into their own prefix. They install into font-config. If
font-config is a build dependency, that means you can uninstall it
without uninstalling the font packages, which wouldn't make sense
since they install into font-config. So I switched them back to
the default deptype.
* Minor formatting changes to ncview
* Add half-way done xorg-server package
* Add packages for Xorg test suites, not yet tested!
* Add packages for Xorg data
* Add first quarter of Xorg apps
* Add more packages for Xorg apps
* Add dependencies to mesa
* Remove comments from mesa package
* Flake8
* Add more packages for Xorg apps
* Add more packages for Xorg apps
* Add more packages for Xorg apps
* Add more packages for Xorg apps
* Add more packages for Xorg apps
* Add package for Sublime Text
* Add packages for remaining Xorg apps
* Revisit testing packages, add missing dependencies
* Add dependencies, clean up FIXMEs
|