From a8c3c889f70f16b88264a37ad9f52a1b48127b2f Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Fri, 28 Jun 2024 18:00:47 -0700 Subject: [PATCH] Overhaul packages.yaml (#1138) This PR updates common/packages.yaml to remove unused entries, unpin versions that don't need to be pinned, and apply hard requirements as much as possible. It also includes a few selected site config updates (for CI, Hera, Nautilus). --------- Co-authored-by: Dom Heinzeller --- .github/workflows/macos-ci-aarch64.yaml | 8 +- .github/workflows/ubuntu-ci-x86_64-gnu.yaml | 8 +- .github/workflows/ubuntu-ci-x86_64-intel.yaml | 10 +- configs/common/packages.yaml | 257 +++++++--------- configs/sites/acorn/packages.yaml | 2 +- configs/sites/aws-pcluster/packages.yaml | 2 +- configs/sites/casper/packages.yaml | 2 +- configs/sites/derecho/packages.yaml | 2 +- configs/sites/discover-scu16/packages.yaml | 2 +- configs/sites/discover-scu17/packages.yaml | 2 +- configs/sites/frontera/packages.yaml | 2 +- configs/sites/gaea-c5/packages.yaml | 2 +- configs/sites/gaea-c6/packages.yaml | 2 +- configs/sites/hera/packages.yaml | 2 +- configs/sites/hercules/packages.yaml | 2 +- configs/sites/jet/packages.yaml | 2 +- configs/sites/narwhal/packages.yaml | 2 +- configs/sites/nautilus/packages.yaml | 27 +- configs/sites/noaa-aws/packages.yaml | 2 +- configs/sites/noaa-azure/packages.yaml | 2 +- configs/sites/noaa-gcloud/packages.yaml | 2 +- configs/sites/orion/packages.yaml | 2 +- configs/sites/s4/packages.yaml | 2 +- doc/source/Utilities.rst | 16 - util/check_package_config.py | 116 ------- util/test_env/README | 1 - util/test_env/common/packages.yaml | 286 ------------------ util/test_env/package_check_baseline.txt | 6 - util/test_env/site/packages.yaml | 10 - util/test_env/spack.lock | 1 - util/util_tests.sh | 18 -- 31 files changed, 158 insertions(+), 642 deletions(-) delete mode 100755 util/check_package_config.py delete mode 100644 util/test_env/README delete mode 100644 util/test_env/common/packages.yaml delete mode 100644 util/test_env/package_check_baseline.txt delete mode 100644 util/test_env/site/packages.yaml delete mode 100644 util/test_env/spack.lock diff --git a/.github/workflows/macos-ci-aarch64.yaml b/.github/workflows/macos-ci-aarch64.yaml index 96896adfb..66c8f5502 100644 --- a/.github/workflows/macos-ci-aarch64.yaml +++ b/.github/workflows/macos-ci-aarch64.yaml @@ -151,13 +151,13 @@ jobs: # Test environment chaining echo "Test environment chaining" - spack stack create env --name chaintest --template empty --site macos.default --upstream $(realpath envs/${ENVNAME}/install) + spack stack create env --name chaintest --template empty --site macos.default --upstream ${ENVDIR}/install # Retain config from upstream so we don't have to rebuild: - cp -r $PWD/envs/${ENVNAME}/{site,common} $PWD/envs/chaintest/. + cp -r ${ENVDIR}/{site,common} $PWD/envs/chaintest/. spack env activate ${PWD}/envs/chaintest - spack add nccmp@1.8.9.0%apple-clang + spack add nccmp@1.9.0.1%apple-clang spack concretize | tee envs/chaintest/log.concretize - unwanted_duplicates=$(( cat envs/chaintest/log.concretize | grep -E '^ - ' | grep -Fv 'nccmp@1.8.9.0' || true ) | wc -l) + unwanted_duplicates=$(( cat envs/chaintest/log.concretize | grep -E '^ - ' | grep -Fv 'nccmp@1.9.0.1' || true ) | wc -l) if [ ${unwanted_duplicates} -gt 0 ]; then echo "Environment chaining test failed"; exit 1; fi spack env deactivate diff --git a/.github/workflows/ubuntu-ci-x86_64-gnu.yaml b/.github/workflows/ubuntu-ci-x86_64-gnu.yaml index cccb7ca3a..d867afde0 100644 --- a/.github/workflows/ubuntu-ci-x86_64-gnu.yaml +++ b/.github/workflows/ubuntu-ci-x86_64-gnu.yaml @@ -166,13 +166,13 @@ jobs: # Test environment chaining echo "Test environment chaining" - spack stack create env --name chaintest --template empty --site linux.default --upstream $(realpath envs/${ENVNAME}/install) + spack stack create env --name chaintest --template empty --site linux.default --upstream ${ENVDIR}/install # Retain config from upstream so we don't have to rebuild: - cp -r $PWD/envs/${ENVNAME}/{site,common} $PWD/envs/chaintest/. + cp -r ${ENVDIR}/{site,common} $PWD/envs/chaintest/. spack env activate ${PWD}/envs/chaintest - spack add nccmp@1.8.9.0%gcc + spack add nccmp@1.9.0.1%gcc spack concretize | tee envs/chaintest/log.concretize - unwanted_duplicates=$(( cat envs/chaintest/log.concretize | grep -E '^ - ' | grep -Fv 'nccmp@1.8.9.0' || true ) | wc -l) + unwanted_duplicates=$(( cat envs/chaintest/log.concretize | grep -E '^ - ' | grep -Fv 'nccmp@1.9.0.1' || true ) | wc -l) if [ ${unwanted_duplicates} -gt 0 ]; then echo "Environment chaining test failed"; exit 1; fi spack env deactivate diff --git a/.github/workflows/ubuntu-ci-x86_64-intel.yaml b/.github/workflows/ubuntu-ci-x86_64-intel.yaml index 4b8fc769f..40f2555f5 100644 --- a/.github/workflows/ubuntu-ci-x86_64-intel.yaml +++ b/.github/workflows/ubuntu-ci-x86_64-intel.yaml @@ -103,7 +103,7 @@ jobs: # Add external ecflow for Intel echo "" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml - echo " ecflow:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml + echo " ecflow::" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml echo " buildable: False" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml echo " externals:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml echo " - spec: ecflow@5.8.4+ui+static_boost" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml @@ -208,13 +208,13 @@ jobs: # Test environment chaining echo "Test environment chaining" - spack stack create env --name chaintest --template empty --site linux.default --upstream $(realpath envs/${ENVNAME}/install) + spack stack create env --name chaintest --template empty --site linux.default --upstream ${ENVDIR}/install # Retain config from upstream so we don't have to rebuild: - cp -r $PWD/envs/${ENVNAME}/{site,common} $PWD/envs/chaintest/. + cp -r ${ENVDIR}/{site,common} $PWD/envs/chaintest/. spack env activate ${PWD}/envs/chaintest - spack add nccmp@1.8.9.0%intel + spack add nccmp@1.9.0.1%intel spack concretize | tee envs/chaintest/log.concretize - unwanted_duplicates=$(( cat envs/chaintest/log.concretize | grep -E '^ - ' | grep -Fv 'nccmp@1.8.9.0' || true ) | wc -l) + unwanted_duplicates=$(( cat envs/chaintest/log.concretize | grep -E '^ - ' | grep -Fv 'nccmp@1.9.0.1' || true ) | wc -l) if [ ${unwanted_duplicates} -gt 0 ]; then echo "Environment chaining test failed"; exit 1; fi spack env deactivate diff --git a/configs/common/packages.yaml b/configs/common/packages.yaml index 1892ce98a..3c610eb08 100644 --- a/configs/common/packages.yaml +++ b/configs/common/packages.yaml @@ -9,52 +9,45 @@ glu: [openglu] jpeg: [libjpeg-turbo] lapack: [openblas] + pkgconfig: [pkg-config] yacc: [bison] zlib-api: [zlib-ng] # awscli-v2: - require: "~examples" + require: '~examples' bacio: - version: ['2.4.1'] + require: '@2.4.1' bison: - version: ['3.8.2'] - # 1.85 incompatible with ecflow@5.11.4 - use latest "good version" + require: '@3.4:' + # 1.85 incompatible with ecflow@5.11.4 - use latest 'good version' boost: - require: "@1.84 ~atomic +chrono +date_time +exception +filesystem ~graph ~iostreams ~locale ~log ~math ~mpi ~numpy +pic +program_options +python ~random +regex +serialization ~signals +system +test +thread +timer ~wave cxxstd=17 visibility=hidden" + require: '@1.84 ~atomic +chrono +date_time +exception +filesystem ~graph ~iostreams ~locale ~log ~math ~mpi ~numpy +pic +program_options +python ~random +regex +serialization ~signals +system +test +thread +timer ~wave cxxstd=17 visibility=hidden' bufr: - version: ['12.0.1'] - variants: +python + require: '@12.0.1 +python' cairo: - variants: +pic + require: '+pic' cdo: - version: ['2.2.0'] - variants: ~openmp + require: '@2.2.0 ~openmp' cmake: version: ['3.27.9'] - variants: +ownlibs + require: '+ownlibs' # Attention - when updating also check the various jcsda-emc-bundles env packages crtm: - version: ['2.4.0.1'] - variants: +fix + require: '+fix' ecbuild: - version: ['3.7.2'] + require: '@3.7.2' eccodes: - version: ['2.33.0'] - variants: +png + require: '@2.33.0 +png' ecflow: - version: ['5.11.4'] - variants: +ui + require: '@5.11.4 +ui' eckit: - version: ['1.24.5'] - variants: linalg=eigen,lapack compression=lz4,bzip2 + require: '@1.24.5 linalg=eigen,lapack compression=lz4,bzip2' ecmwf-atlas: - version: ['0.36.0'] - variants: +fckit +trans +tesselation +fftw + require: '@0.36.0 +fckit +trans +tesselation +fftw' ectrans: - version: ['1.2.0'] - variants: ~mkl +fftw + require: '@1.2.0 ~mkl +fftw' eigen: - version: ['3.4.0'] + require: '@3.4.0' # Attention - when updating the version also check the common modules.yaml # config and update the projections for lmod/tcl. # Also, check the acorn and derecho site configs which have esmf modifications. @@ -72,232 +65,198 @@ when: "%apple-clang" message: "Extra ESMF compile options for GCC" fckit: - version: ['0.11.0'] - variants: +eckit + require: '@0.11.0 +eckit' fftw: - version: ['3.3.10'] + require: '@3.3.10' fiat: - version: ['1.2.0'] + require: '@1.2.0' + flex: + # Pin version to avoid duplicates + require: '@2.6.4' fms: - version: ['2023.04'] - variants: precision=32,64 +quad_precision +gfs_phys +openmp +pic constants=GFS build_type=Release +deprecated_io + variants: 'precision=32,64 +quad_precision +gfs_phys +openmp +pic constants=GFS build_type=Release +deprecated_io' fontconfig: - variants: +pic + require: '+pic' freetype: - variants: +pic + require: '+pic' g2: - version: ['3.4.9'] + require: '@3.4.9' g2c: - version: ['1.6.4'] + require: '@1.6.4' g2tmpl: - version: ['1.10.2'] - gettext: - version: ['0.21.1'] + require: '@1.10.2' gfsio: - version: ['1.4.1'] - gftl-shared: - version: ['1.6.1'] + require: '@1.4.1' #git-lfs: # Assume git-lfs is provided, hard to install # because of dependencies on go/go-bootstrap. # Note: Uncommenting this entry will break # the container builds. - #version: ['2.11.0'] + #require: '@2.11.0' grib-util: - version: ['1.4.0'] + require: '@1.4.0' gsibec: - version: ['1.2.1'] + require: '@1.2.1' gsi-ncdiag: - version: ['1.1.2'] + require: '@1.1.2' gsl-lite: - version: ['0.37.0'] + require: '@0.37.0' hdf: - version: ['4.2.15'] - variants: +external-xdr ~fortran ~netcdf + require: '@4.2.15 +external-xdr ~fortran ~netcdf' hdf5: require: '@1.14.3 +hl +fortran +mpi +threadsafe ~szip' # Newer versions of hdf-eos2 require manual downloading, avoid hdf-eos2: - require: "@2.20v1.00" + require: '@2.20v1.00' ip: - version: ['5.0.0'] - variants: precision=4,d,8 + require: '@5.0.0 precision=4,d,8' ip2: - version: ['1.1.2'] + require: '@1.1.2' jasper: - version: ['2.0.32'] + require: '@2.0.32' jedi-cmake: - version: ['1.4.0'] + require: '@1.4.0' landsfcutil: - version: ['2.4.1'] + require: '@2.4.1' libjpeg-turbo: - version: ['2.1.0'] + require: '@2.1.0' libpng: - version: ['1.6.37'] - variants: +pic - libyaml: - version: ['0.2.5'] + require: '@1.6.37 +pic' # Newest version of magics needed for oneapi compilers magics: require: "@4.15.3:" mapl: - version: ['2.46.2'] - variants: +shared +pflogger ~f2py + require: '@2.46.2 +shared ~f2py' + variants: '+pflogger' # If making changes here, also check the Discover site configs and the CI workflows met: - version: ['11.1.0'] - variants: +python +grib2 + require: '@11.1.0 +python +grib2' metplus: - version: ['5.1.0'] + require: '@5.1.0' metis: - require: "+int64 +real64" + require: '+int64 +real64' mpich: - variants: ~hwloc +two_level_namespace + require: '~hwloc' nco: - version: ['5.1.6'] - variants: ~doc + require: '@5.1.6 ~doc' # ncview - when adding information here, also check Orion # and Discover site configs nemsio: - version: ['2.5.4'] + require: '@2.5.4' nemsiogfs: - version: ['2.5.3'] + require: '@2.5.3' nccmp: - version: ['1.9.0.1'] + require: '@1.9.0.1' ncio: - version: ['1.1.2'] + require: '@1.1.2' netcdf-c: # If using 4.9.1, turn off byterange variant to fix compile error: ~byterange - require: "@4.9.2 +dap +mpi ~parallel-netcdf ~szip build_system=autotools" + require: '@4.9.2 +dap +mpi ~parallel-netcdf ~szip build_system=autotools' netcdf-cxx4: - version: ['4.3.1'] + require: '@4.3.1' netcdf-fortran: - version: ['4.6.1'] + require: '@4.6.1' # ninja - when adding information here, also check Discover site config - nlohmann-json: - version: ['3.10.5'] - nlohmann-json-schema-validator: - version: ['2.1.0'] odc: - version: ['1.4.6'] - variants: ~fortran + require: '@1.4.6 ~fortran' openblas: - version: ['0.3.24'] - variants: +noavx512 + require: '@0.3.24 +noavx512' openmpi: - variants: ~internal-hwloc +two_level_namespace - # Pin openssl to avoid duplicate packages being built + require: '~internal-hwloc +two_level_namespace' openssl: - variants: +shared + require: '+shared' p4est: - require: "@2.8" + require: '@2.8' parallelio: - version: ['2.6.2'] - variants: +pnetcdf + require: '@2.6.2 +pnetcdf' parallel-netcdf: - version: ['1.12.3'] + require: '@1.12.3' pflogger: - #version: ['1.12.0'] - variants: +mpi + require: '+mpi' pixman: - variants: +pic - # Do not build pkgconf - https://github.com/jcsda/spack-stack/issues/123 - pkgconf: - buildable: False + require: '+pic' prod-util: - version: ['2.1.1'] + require: '@2.1.1' proj: - version: ['8.1.0'] - variants: ~tiff + require: '~tiff' python: - require: "@3.10.13" + require: '@3.10.13' py-attrs: # https://github.com/JCSDA/spack-stack/issues/740 - version: ['21.4.0'] + require: '@21.4.0' py-cartopy: - variants: +plotting - require: "@0.21.1" + require: '+plotting' py-cryptography: - variants: +rust_bootstrap + require: '+rust_bootstrap' # Introduced in https://github.com/JCSDA/spack-stack/pull/894, pin py-cython # to avoid duplicate packages being built (cylc dependencies soft-want @3:) py-cython: - require: "@0.29.36" - ## https://github.com/JCSDA/spack-stack/issues/980 - #py-gitpython: - # require: "@3.1.27" - py-h5py: - version: ['3.7.0'] - variants: ~mpi + require: '@0.29.36' # To avoid duplicate packages py-flit-core: - require: "@3.8.0" + require: '@3.8.0' + py-h5py: + require: '~mpi' # To avoid duplicate packages py-jinja2: - require: "@3.0.3" + require: '@3.0.3' + py-meson-python: + require: '@0.15.0' # Comment out for now until build problems are solved # https://github.com/jcsda/spack-stack/issues/522 # see also ewok-env virtual package and container # README.md #py-mysql-connector-python: - # version: ['8.0.32'] + # require: '@8.0.32' py-netcdf4: - version: ['1.5.8'] - variants: ~mpi + require: '@1.5.8 ~mpi' + # py-numpy@1.26 causes many build problems with older Python packages + # also check Nautilus site config when making changes here py-numpy: - require: ['@1.22.3'] + require: '@:1.25' py-pandas: - variants: +excel - # Pin py-poetry-core to avoid duplicate Python packages - py-poetry-core: - require: '@1.8.1' + require: '+excel' + py-pybind11: + require: '@2.11.0' # Pin the py-setuptools version to avoid duplicate Python packages py-setuptools: - require: ['@63.4.3'] + require: '@63.4.3' py-setuptools-rust: - variants: +rust_bootstrap + require: '+rust_bootstrap' py-shapely: - require: ['@1.8.0'] + require: '@1.8.0' py-torch: - require: "+custom-protobuf ~mkldnn" + require: '+custom-protobuf ~mkldnn' # To avoid duplicate packages py-urllib3: - require: "@1.26.12" + require: '@1.26.12' qt: - version: ['5.15.3'] + require: '@5' scotch: - version: ['7.0.4'] - variants: +mpi+metis~shared~threads~mpi_thread+noarch + require: '@7.0.4 +mpi+metis~shared~threads~mpi_thread+noarch' sfcio: - version: ['1.4.1'] + require: '@1.4.1' shumlib: - version: ['macos_clang_linux_intel_port'] + require: '@macos_clang_linux_intel_port' sigio: - version: ['2.3.2'] + require: '@2.3.2' sp: - version: ['2.5.0'] - variants: precision=4,d,8 + require: '@2.5.0 precision=4,d,8' udunits: - version: ['2.2.28'] + require: '@2.2.28' ufs-utils: - version: ['1.13.0'] + require: '@1.13.0' # Note - we can remove upp from stack at some point? upp: - version: ['10.0.10'] + require: '@10.0.10' w3emc: - version: ['2.10.0'] - variants: precision=4,d,8 + require: '@2.10.0 precision=4,d,8' w3nco: - version: ['2.4.1'] - wget: - version: ['1.21.2'] + require: '@2.4.1' # When changing wgrib2, also check Hercules and Nautilus site configs wgrib2: - version: ['2.0.8'] + require: '@2.0.8' wrf-io: - version: ['1.2.0'] - #yafyaml: - # version: ['1.2.0'] + require: '@1.2.0' zstd: - version: ['1.5.2'] - variants: +programs + require: '@1.5.2 +programs' diff --git a/configs/sites/acorn/packages.yaml b/configs/sites/acorn/packages.yaml index 0fb0c7590..7114e61e2 100644 --- a/configs/sites/acorn/packages.yaml +++ b/configs/sites/acorn/packages.yaml @@ -30,7 +30,7 @@ externals: - spec: mysql@8.0.31 prefix: /lfs/h1/emc/nceplibs/noscrub/spack-stack/externals/mysql/mysql-8.0.31-linux-glibc2.17-x86_64-minimal - ecflow: + ecflow:: buildable: false externals: - spec: ecflow@5.6.0 diff --git a/configs/sites/aws-pcluster/packages.yaml b/configs/sites/aws-pcluster/packages.yaml index 61a1cd992..5b7bd18aa 100644 --- a/configs/sites/aws-pcluster/packages.yaml +++ b/configs/sites/aws-pcluster/packages.yaml @@ -58,7 +58,7 @@ packages: externals: - spec: diffutils@3.7 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/casper/packages.yaml b/configs/sites/casper/packages.yaml index 6468964f4..b5887596f 100644 --- a/configs/sites/casper/packages.yaml +++ b/configs/sites/casper/packages.yaml @@ -68,7 +68,7 @@ packages: externals: - spec: diffutils@3.6 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/derecho/packages.yaml b/configs/sites/derecho/packages.yaml index ec4dfb8ab..e862ae4f2 100644 --- a/configs/sites/derecho/packages.yaml +++ b/configs/sites/derecho/packages.yaml @@ -62,7 +62,7 @@ packages: externals: - spec: diffutils@3.6 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/discover-scu16/packages.yaml b/configs/sites/discover-scu16/packages.yaml index f96e6c9bb..21f3d7ad2 100644 --- a/configs/sites/discover-scu16/packages.yaml +++ b/configs/sites/discover-scu16/packages.yaml @@ -62,7 +62,7 @@ packages: externals: - spec: diffutils@3.3 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/discover-scu17/packages.yaml b/configs/sites/discover-scu17/packages.yaml index 1f19601e5..b2fccf181 100644 --- a/configs/sites/discover-scu17/packages.yaml +++ b/configs/sites/discover-scu17/packages.yaml @@ -70,7 +70,7 @@ packages: externals: - spec: diffutils@3.6 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.11.4+ui+static_boost diff --git a/configs/sites/frontera/packages.yaml b/configs/sites/frontera/packages.yaml index 7afa38ee8..51436f078 100644 --- a/configs/sites/frontera/packages.yaml +++ b/configs/sites/frontera/packages.yaml @@ -77,7 +77,7 @@ packages: externals: - spec: doxygen@1.8.5+graphviz~mscgen prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/gaea-c5/packages.yaml b/configs/sites/gaea-c5/packages.yaml index 0c7032604..7d9ff5395 100644 --- a/configs/sites/gaea-c5/packages.yaml +++ b/configs/sites/gaea-c5/packages.yaml @@ -56,7 +56,7 @@ packages: externals: - spec: dos2unix@7.4.0 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/gaea-c6/packages.yaml b/configs/sites/gaea-c6/packages.yaml index 8013155cf..3cab899f1 100644 --- a/configs/sites/gaea-c6/packages.yaml +++ b/configs/sites/gaea-c6/packages.yaml @@ -45,7 +45,7 @@ packages: externals: - spec: dos2unix@7.4.0 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/hera/packages.yaml b/configs/sites/hera/packages.yaml index a1a0b3817..443f88e99 100644 --- a/configs/sites/hera/packages.yaml +++ b/configs/sites/hera/packages.yaml @@ -64,7 +64,7 @@ packages: externals: - spec: doxygen@1.8.5+graphviz~mscgen prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.5.3+ui+static_boost diff --git a/configs/sites/hercules/packages.yaml b/configs/sites/hercules/packages.yaml index 9daddae41..76c4672ef 100644 --- a/configs/sites/hercules/packages.yaml +++ b/configs/sites/hercules/packages.yaml @@ -45,7 +45,7 @@ packages: externals: - spec: diffutils@3.7 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/jet/packages.yaml b/configs/sites/jet/packages.yaml index 549546be2..80e2c3a23 100644 --- a/configs/sites/jet/packages.yaml +++ b/configs/sites/jet/packages.yaml @@ -66,7 +66,7 @@ packages: externals: - spec: doxygen@1.8.5+graphviz~mscgen prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.5.3+ui+static_boost diff --git a/configs/sites/narwhal/packages.yaml b/configs/sites/narwhal/packages.yaml index cdeebff1e..737163f0d 100644 --- a/configs/sites/narwhal/packages.yaml +++ b/configs/sites/narwhal/packages.yaml @@ -49,7 +49,7 @@ packages: externals: - spec: diffutils@3.6 prefix: /usr - ecflow: + ecflow:: buildable: false externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/nautilus/packages.yaml b/configs/sites/nautilus/packages.yaml index 5dbed2c44..103df7aab 100644 --- a/configs/sites/nautilus/packages.yaml +++ b/configs/sites/nautilus/packages.yaml @@ -7,9 +7,13 @@ packages: fftw-api:: [intel-oneapi-mkl] lapack:: [intel-oneapi-mkl] ectrans: - variants:: +mkl ~fftw + # do we need to set 1.2.0 here? + require:: '+mkl ~fftw' gsibec: - variants:: +mkl + # do we need to set the rest here? + require:: '+mkl' + py-numpy: + require: '@:1.25 ^intel-oneapi-mkl' ### MPI, Python, MKL mpi: @@ -55,7 +59,7 @@ packages: ### Modifications of common packages # Version 2.0.8 doesn't compile on Nautilus wgrib2: - version:: ['3.1.1'] + require:: '@3.1.1' ### All other external packages listed alphabetically autoconf: @@ -70,10 +74,13 @@ packages: externals: - spec: binutils@2.30.117 prefix: /usr - bison: - externals: - - spec: bison@3.0.4 - prefix: /usr + # Need to comment out for scotch (wants 3.4:), + # but how do we deal with oneapi installations? + # bison doesn't build with oneAPI. + #bison: + # externals: + # - spec: bison@3.0.4 + # prefix: /usr coreutils: externals: - spec: coreutils@8.30 @@ -82,7 +89,7 @@ packages: externals: - spec: diffutils@3.6 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost @@ -101,6 +108,10 @@ packages: externals: - spec: gawk@4.2.1 prefix: /usr + gettext: + externals: + - spec: gettext@0.19.8.1 + prefix: /usr git: externals: - spec: git@2.31.1~tcltk diff --git a/configs/sites/noaa-aws/packages.yaml b/configs/sites/noaa-aws/packages.yaml index 3af5a9560..9e5363a55 100644 --- a/configs/sites/noaa-aws/packages.yaml +++ b/configs/sites/noaa-aws/packages.yaml @@ -42,7 +42,7 @@ packages: externals: - spec: diffutils@3.3 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/noaa-azure/packages.yaml b/configs/sites/noaa-azure/packages.yaml index 6cec5293b..2b7b5bd78 100644 --- a/configs/sites/noaa-azure/packages.yaml +++ b/configs/sites/noaa-azure/packages.yaml @@ -54,7 +54,7 @@ packages: externals: - spec: doxygen@1.8.5~graphviz~mscgen prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/noaa-gcloud/packages.yaml b/configs/sites/noaa-gcloud/packages.yaml index 7a7215bd7..d1dc19f93 100644 --- a/configs/sites/noaa-gcloud/packages.yaml +++ b/configs/sites/noaa-gcloud/packages.yaml @@ -42,7 +42,7 @@ packages: externals: - spec: diffutils@3.3 prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/orion/packages.yaml b/configs/sites/orion/packages.yaml index 26318bcd9..4e667be88 100644 --- a/configs/sites/orion/packages.yaml +++ b/configs/sites/orion/packages.yaml @@ -61,7 +61,7 @@ packages: externals: - spec: doxygen@1.8.5+graphviz~mscgen prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/configs/sites/s4/packages.yaml b/configs/sites/s4/packages.yaml index e13d63cb2..f5d41523b 100644 --- a/configs/sites/s4/packages.yaml +++ b/configs/sites/s4/packages.yaml @@ -58,7 +58,7 @@ packages: externals: - spec: doxygen@1.8.5+graphviz~mscgen prefix: /usr - ecflow: + ecflow:: buildable: False externals: - spec: ecflow@5.8.4+ui+static_boost diff --git a/doc/source/Utilities.rst b/doc/source/Utilities.rst index c2e11c9e4..0796a69db 100644 --- a/doc/source/Utilities.rst +++ b/doc/source/Utilities.rst @@ -20,22 +20,6 @@ The utility located at util/show_duplicate_packages.py parses the output of ``sp The ``-d`` option shows only a list of the duplicates, as opposed to the default behavior, which is to show a print-out of all packages with colorized duplicates. In any case, the identification of any duplicates will yield a return code of 1. The ``-i`` option can be invoked multiple times to skip specific package names. The ``-c`` option can be used to ignore duplicates associated with different compilers; in an environment with, say, GCC and Intel copies of any given package, those two copies of a package will not be reported as duplicates. -.. _Package_Config_Checker: - ------------------------------- -check_package_config.py ------------------------------- - -The utility at util/check_package_config.py is run after concretization in an active spack-stack environment (i.e., `$SPACK_ENV` is set) to confirm that the packages versions and variants in common/packages.yaml are respected in the concretization, as well as that any externals specified in site/packages.yaml are not being omitted. It does this by reading common/packages.yaml (for the version and variant settings), site/packages.yaml (for the external settings), and spack.lock. Usage is as follows: - -.. code-block:: console - - spack env active envs/unified-env/ - # To verify versions, variants, and externals: - ${SPACK_STACK_DIR}/util/check_package_config.py - # To ignore a known mismatch in version, variant, or external status for package 'esmf', use -i/--ignore option: - ${SPACK_STACK_DIR}/util/check_package_config.py -i esmf - .. _Permissions_Checker: ------------------------------ diff --git a/util/check_package_config.py b/util/check_package_config.py deleted file mode 100755 index 89e70900a..000000000 --- a/util/check_package_config.py +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env python3 -# This utility checks whether the package versions and variants set in -# common/packages.yaml are being respected in the concretization, and -# whether the externals in site/packages.yaml are being used. -# -# To use this script, run it in a loaded spack-stack environment. -# Package names to be ignored can be provided as optional arguments -# using -i/--ignore. -# -# Usage: -# $ spack env active myenv -# $ ${SPACK_STACK_DIR}/util/check_package_config.py -# Ignore packages foo and bar: -# $ ${SPACK_STACK_DIR}/util/check_package_config.py -i foo -i bar -# -# Alex Richert, Jan 2024 - -import json -import os -import sys - -SPACK_ROOT = os.getenv("SPACK_ROOT") -assert SPACK_ROOT, "$SPACK_ROOT must be set but is not!" - -sys.path.append(os.path.join(SPACK_ROOT, "lib/spack/external/_vendoring")) -from ruamel import yaml - -SPACK_ENV = os.getenv("SPACK_ENV") -assert SPACK_ENV, "$SPACK_ENV must be set but is not!" - -# Load common/packages.yaml and site/packages.yaml for versions and externals, respectively -packages_versions_path = os.path.join(SPACK_ENV, "common", "packages.yaml") -with open(packages_versions_path, "r") as f: - packages_versions = yaml.safe_load(f) - -packages_externals_path = os.path.join(SPACK_ENV, "site", "packages.yaml") -if os.path.isfile(packages_externals_path): - with open(packages_externals_path, "r") as f: - packages_externals = yaml.safe_load(f) - -# Load spack.lock -spack_lock_path = os.path.join(SPACK_ENV, "spack.lock") -with open(spack_lock_path, "r") as f: - spack_lock = json.load(f) - -iret = 0 - -# Set up list of packages to ignore -args = sys.argv[1:] -if args: - assert args[-1] not in ("-i", "--ignore"), "-i/--ignore option requires package name" - ignore_list = [args[iarg+1] for iarg in range(len(args)) if args[iarg] in ("-i", "--ignore")] - if ignore_list: - print("Ignoring the following packages: %s" % ", ".join(ignore_list), file=sys.stderr) -else: - ignore_list = [] - -# Iterate over concretized packages -for concrete_spec in spack_lock["concrete_specs"].values(): - concrete_name = concrete_spec["name"] - # Ignore user-specified packages: - if concrete_name in ignore_list: - continue - concrete_version = concrete_spec["version"] - if concrete_name in packages_versions["packages"].keys(): - # Check whether concretized package has specified version from common/packages.yaml - if "version" in packages_versions["packages"][concrete_name].keys(): - config_version = packages_versions["packages"][concrete_name]["version"][0] - if concrete_version != config_version: - iret = 1 - print( - f"WARNING: '{concrete_name}' concretized version {concrete_version} does not match {config_version} specified in $SPACK_ENV/common/packages.yaml" - ) - # Check whether concretized variants match settings from common/packages.yaml - if "variants" in packages_versions["packages"][concrete_name].keys(): - config_variants = packages_versions["packages"][concrete_name]["variants"].replace("+"," +").replace("~"," ~").split() - for config_variant in config_variants: - variant_mismatch = False - # Boolean variant - if config_variant[0] in ("+", "~"): - config_value = config_variant[0] == "+" - if not config_variant[1:] in concrete_spec["parameters"].keys(): - variant_mismatch = True - elif concrete_spec["parameters"][config_variant[1:]] != config_value: - variant_mismatch = True - # Named variant - elif "=" in config_variant: - config_variant, config_value = config_variant.split("=") - if not config_variant in concrete_spec["parameters"].keys(): - variant_mismatch = True - else: - concrete_values = concrete_spec["parameters"][config_variant] - if type(concrete_values) is str: - concrete_values = [concrete_values] - if set(config_value.split(",")) != set(concrete_values): - variant_mismatch = True - if variant_mismatch: - iret = 1 - print( - f"WARNING: '{concrete_name}' concretized variant '{config_variant}' does not match configured value in $SPACK_ENV/common/packages.yaml" - ) - # Check whether concretized package is an external based on site/packages.yaml - if os.path.isfile(packages_externals_path): - if concrete_name in packages_externals["packages"].keys(): - is_external_config = "externals" in packages_externals["packages"][concrete_name].keys() - else: - is_external_config = False - is_external_concrete = "external" in concrete_spec.keys() - if is_external_config != is_external_concrete: - iret = 1 - print( - f"WARNING: '{concrete_name}' is %sconfigured as external in $SPACK_ENV/site/packages.yaml but was %sconcretized as external" - % ((not is_external_config) * "not ", (not is_external_concrete) * "not ") - ) - -sys.exit(iret) diff --git a/util/test_env/README b/util/test_env/README deleted file mode 100644 index 68ad4ca39..000000000 --- a/util/test_env/README +++ /dev/null @@ -1 +0,0 @@ -This directory provides test files to verify the check_package_config.py utility. diff --git a/util/test_env/common/packages.yaml b/util/test_env/common/packages.yaml deleted file mode 100644 index 979803db7..000000000 --- a/util/test_env/common/packages.yaml +++ /dev/null @@ -1,286 +0,0 @@ -# Pin versions and specs when building packages - packages: - # - all: - providers: - blas: [openblas] - fftw-api: [fftw] - gl: [opengl] - glu: [openglu] - jpeg: [libjpeg-turbo] - lapack: [openblas] - yacc: [bison] - zlib-api: [zlib] - # - # This version of awscli goes with py-pyyaml@5.4.1 - awscli: - version: ['1.27.84'] - bacio: - version: ['2.4.1'] - bison: - version: ['3.8.2'] - boost: - version: ['1.83.0'] - variants: ~atomic +chrono +date_time +exception +filesystem ~graph ~iostreams ~locale ~log ~math ~mpi ~numpy +pic +program_options +python ~random +regex +serialization ~signals +system +test +thread +timer ~wave cxxstd=17 visibility=hidden - bufr: - version: ['12.0.1'] - variants: +python - cairo: - variants: +pic - cdo: - version: ['2.2.0'] - variants: ~openmp - cmake: - version: ['3.23.1'] - variants: +ownlibs - # Attention - when updating also check the various jcsda-emc-bundles env packages - crtm: - version: ['2.4.0.1'] - variants: +fix - ecbuild: - version: ['3.7.2'] - eccodes: - version: ['2.32.0'] - variants: +png - ecflow: - version: ['5.11.4'] - variants: +ui - eckit: - version: ['1.24.5'] - variants: linalg=eigen,lapack compression=lz4,bzip2 - ecmwf-atlas: - version: ['0.35.1'] - variants: +fckit +trans +tesselation +fftw - ectrans: - version: ['1.2.0'] - variants: ~mkl +fftw - eigen: - version: ['3.4.0'] - # Attention - when updating the version also check the common modules.yaml - # config and update the projections for lmod/tcl. - # Also, check the acorn and derecho site configs which have esmf modifications. - esmf: - version: ['8.6.0'] - variants: ~xerces ~pnetcdf snapshot=none +shared +external-parallelio - require: - - any_of: ['fflags="-fp-model precise" cxxflags="-fp-model precise"'] - when: "%intel" - message: "Extra ESMF compile options for Intel" - - any_of: [''] - when: "%gcc" - message: "Extra ESMF compile options for GCC" - fckit: - version: ['0.11.0'] - variants: +eckit - fftw: - version: ['3.3.10'] - fiat: - version: ['1.2.0'] - fms: - version: ['2023.04'] - variants: precision=32,64 +quad_precision +gfs_phys +openmp +pic constants=GFS build_type=Release +deprecated_io - fontconfig: - variants: +pic - freetype: - variants: +pic - g2: - version: ['3.4.5'] - g2c: - version: ['1.6.4'] - g2tmpl: - version: ['1.10.2'] - gettext: - version: ['0.21.1'] - gfsio: - version: ['1.4.1'] - gftl-shared: - version: ['1.6.1'] - #git-lfs: - # Assume git-lfs is provided, hard to install - # because of dependencies on go/go-bootstrap. - # Note: Uncommenting this entry will break - # the container builds. - #version: ['2.11.0'] - grib-util: - version: ['1.3.0'] - gsibec: - version: ['1.1.3'] - gsi-ncdiag: - version: ['1.1.2'] - gsl-lite: - version: ['0.37.0'] - hdf: - version: ['4.2.15'] - variants: +external-xdr ~fortran ~netcdf - hdf5: - version: ['1.14.0'] - variants: +hl +fortran +mpi ~threadsafe +szip - ip: - version: ['4.3.0'] - variants: precision=4,d,8 - ip2: - version: ['1.1.2'] - jasper: - version: ['2.0.32'] - jedi-cmake: - version: ['1.4.0'] - jpeg: - version: ['9.1.0'] - landsfcutil: - version: ['2.4.1'] - libjpeg-turbo: - version: ['2.1.0'] - libpng: - version: ['1.6.37'] - variants: +pic - libyaml: - version: ['0.2.5'] - mapl: - version: ['2.40.3'] - variants: +shared +pflogger ~f2py - # If making changes here, also check the Discover site config and the CI workflows - met: - version: ['11.1.0'] - variants: +python +grib2 - metplus: - version: ['5.1.0'] - metis: - require: "+int64 +real64" - mpich: - variants: ~hwloc +two_level_namespace - mysql: - variants: +download_boost - nco: - version: ['5.0.6'] - variants: ~doc - # ncview - when adding information here, also check Orion - # and Discover site configs - nemsio: - version: ['2.5.4'] - nemsiogfs: - version: ['2.5.3'] - nccmp: - version: ['1.9.0.1'] - ncio: - version: ['1.1.2'] - netcdf-c: - version: ['4.9.2'] - # If using 4.9.1, turn off byterange variant to fix compile error: ~byterange - variants: +dap +mpi ~parallel-netcdf - netcdf-cxx4: - version: ['4.3.1'] - netcdf-fortran: - version: ['4.6.1'] - # ninja - when adding information here, also check Discover site config - nlohmann-json: - version: ['3.10.5'] - nlohmann-json-schema-validator: - version: ['2.1.0'] - odc: - version: ['1.4.6'] - variants: ~fortran - openblas: - version: ['0.3.24'] - variants: +noavx512 - openmpi: - variants: +internal-hwloc +two_level_namespace - # Pin openssl to avoid duplicate packages being built - openssl: - variants: +shared - p4est: - version: ['2.8'] - parallelio: - version: ['2.5.10'] - variants: +pnetcdf - parallel-netcdf: - version: ['1.12.2'] - pflogger: - version: ['1.12.0'] - variants: +mpi - pixman: - variants: +pic - # Do not build pkgconf - https://github.com/jcsda/spack-stack/issues/123 - pkgconf: - buildable: False - prod-util: - version: ['2.1.1'] - proj: - version: ['8.1.0'] - variants: ~tiff - python: - require: "@3.10.13" - py-attrs: - # https://github.com/JCSDA/spack-stack/issues/740 - version: ['21.4.0'] - py-cartopy: - variants: +plotting - require: "@0.21.1" - py-cryptography: - variants: +rust_bootstrap - # Introduced in https://github.com/JCSDA/spack-stack/pull/894, pin py-cython - # to avoid duplicate packages being built (cylc dependencies soft-want @3:) - py-cython: - require: "@0.29.36" - py-h5py: - version: ['3.7.0'] - variants: ~mpi - # Comment out for now until build problems are solved - # https://github.com/jcsda/spack-stack/issues/522 - # see also ewok-env virtual package and container - # README.md - #py-mysql-connector-python: - # version: ['8.0.32'] - py-netcdf4: - version: ['1.5.8'] - variants: ~mpi - py-numpy: - require: ['@1.22.3'] - py-pandas: - variants: +excel - # To avoid pip._vendor.pep517.wrappers.BackendInvalid errors with newer - # versions of py-poetry-core when using external/homebrew Python as - # we do at the moment in spack-stack. - # Pin the py-setuptools version to avoid duplicate Python packages - py-setuptools: - require: ['@63.4.3'] - py-setuptools-rust: - variants: +rust_bootstrap - py-shapely: - require: ['@1.8.0'] - qt: - version: ['5.15.3'] - scotch: - version: ['7.0.4'] - variants: +mpi+metis~shared~threads~mpi_thread+noarch - sfcio: - version: ['1.4.1'] - shumlib: - version: ['macos_clang_linux_intel_port'] - sigio: - version: ['2.3.2'] - sp: - version: ['2.5.0'] - variants: precision=4,d,8 derp=auto - udunits: - version: ['2.2.28'] - upp: - version: ['10.0.10'] - w3emc: - version: ['2.10.0'] - variants: precision=4,d,8 - w3nco: - version: ['2.4.1'] - wget: - version: ['1.21.2'] - # When changing wgrib2, also check Hercules and Nautilus site configs - wgrib2: - version: ['2.0.8'] - wrf-io: - version: ['1.2.0'] - yafyaml: - version: ['0.5.1'] - zlib: - version: ['1.2.13'] - zstd: - version: ['1.5.2'] - variants: +programs diff --git a/util/test_env/package_check_baseline.txt b/util/test_env/package_check_baseline.txt deleted file mode 100644 index aa83c411a..000000000 --- a/util/test_env/package_check_baseline.txt +++ /dev/null @@ -1,6 +0,0 @@ -WARNING: 'cmake' concretized variant '+ownlibs' does not match configured value in $SPACK_ENV/common/packages.yaml -WARNING: 'cmake' concretized version 3.20.2 does not match 3.23.1 specified in $SPACK_ENV/common/packages.yaml -WARNING: 'cmake' is not configured as external in $SPACK_ENV/site/packages.yaml but was concretized as external -WARNING: 'sp' concretized variant 'derp' does not match configured value in $SPACK_ENV/common/packages.yaml -WARNING: 'sp' concretized variant 'precision' does not match configured value in $SPACK_ENV/common/packages.yaml -WARNING: 'sp' is configured as external in $SPACK_ENV/site/packages.yaml but was not concretized as external diff --git a/util/test_env/site/packages.yaml b/util/test_env/site/packages.yaml deleted file mode 100644 index 9edf85972..000000000 --- a/util/test_env/site/packages.yaml +++ /dev/null @@ -1,10 +0,0 @@ -packages: - gmake: - buildable: false - externals: - - spec: gmake@4.2.1 - prefix: /usr - sp: - externals: - - spec: sp@2.3.3 - prefix: /dev/null diff --git a/util/test_env/spack.lock b/util/test_env/spack.lock deleted file mode 100644 index 0be5d3c36..000000000 --- a/util/test_env/spack.lock +++ /dev/null @@ -1 +0,0 @@ -{"_meta":{"file-type":"spack-lockfile","lockfile-version":5,"specfile-version":4},"spack":{"version":"0.21.1.dev0","type":"git","commit":"5a06f19dd176f84159ced4ca75d8cbee3a6b9e56"},"roots":[{"hash":"5dqa22jiadepasivmtbkvplu6ucry3qh","spec":"sp@2.5.0"}],"concrete_specs":{"5dqa22jiadepasivmtbkvplu6ucry3qh":{"name":"sp","version":"2.5.0","arch":{"platform":"linux","platform_os":"centos8","target":{"name":"zen","vendor":"AuthenticAMD","features":["abm","aes","avx","avx2","bmi1","bmi2","clflushopt","clzero","cx16","f16c","fma","fsgsbase","mmx","movbe","pclmulqdq","popcnt","rdseed","sse","sse2","sse4_1","sse4_2","sse4a","ssse3","xsavec","xsaveopt"],"generation":0,"parents":["x86_64_v3"]}},"compiler":{"name":"gcc","version":"8.5.0"},"namespace":"builtin","parameters":{"build_system":"cmake","build_type":"Release","generator":"make","ipo":false,"openmp":false,"pic":true,"precision":["8","d"],"derp":"none","shared":false,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"wgwpmenbjmbqyiar5djncippvybyxbw3zwgofoqsixx6kf5n737a====","dependencies":[{"name":"cmake","hash":"qjf2medg2vff5gn4htfd43rgdex7sv4d","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gmake","hash":"d2a25i7irwfiy3librk4xaqpiv3qzkkg","parameters":{"deptypes":["build"],"virtuals":[]}}],"hash":"5dqa22jiadepasivmtbkvplu6ucry3qh"},"qjf2medg2vff5gn4htfd43rgdex7sv4d":{"name":"cmake","version":"3.20.2","arch":{"platform":"linux","platform_os":"centos8","target":{"name":"zen","vendor":"AuthenticAMD","features":["abm","aes","avx","avx2","bmi1","bmi2","clflushopt","clzero","cx16","f16c","fma","fsgsbase","mmx","movbe","pclmulqdq","popcnt","rdseed","sse","sse2","sse4_1","sse4_2","sse4a","ssse3","xsavec","xsaveopt"],"generation":0,"parents":["x86_64_v3"]}},"compiler":{"name":"gcc","version":"8.5.0"},"namespace":"builtin","parameters":{"build_system":"generic","build_type":"Release","doc":false,"ncurses":true,"owncurl":false,"ownlibs":false,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"external":{"path":"/usr","module":null,"extra_attributes":{}},"package_hash":"usp3csiedkkf6skym4g5erzxxcbck4d7is3ilzzx7fv6vkuk452q====","hash":"qjf2medg2vff5gn4htfd43rgdex7sv4d"},"d2a25i7irwfiy3librk4xaqpiv3qzkkg":{"name":"gmake","version":"4.2.1","arch":{"platform":"linux","platform_os":"centos8","target":{"name":"zen","vendor":"AuthenticAMD","features":["abm","aes","avx","avx2","bmi1","bmi2","clflushopt","clzero","cx16","f16c","fma","fsgsbase","mmx","movbe","pclmulqdq","popcnt","rdseed","sse","sse2","sse4_1","sse4_2","sse4a","ssse3","xsavec","xsaveopt"],"generation":0,"parents":["x86_64_v3"]}},"compiler":{"name":"gcc","version":"8.5.0"},"namespace":"builtin","parameters":{"build_system":"generic","guile":false,"patches":["ca60bd9c1a1b35bc0dc58b6a4a19d5c2651f7a94a4b22b2c5ea001a1ca7a8a7f","fe5b60d091c33f169740df8cb718bf4259f84528b42435194ffe0dd5b79cd125"],"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"external":{"path":"/usr","module":null,"extra_attributes":{}},"patches":["fe5b60d091c33f169740df8cb718bf4259f84528b42435194ffe0dd5b79cd125","ca60bd9c1a1b35bc0dc58b6a4a19d5c2651f7a94a4b22b2c5ea001a1ca7a8a7f"],"package_hash":"duirzgwy5733by27cjxcobmm4wsnw63uvriq5y7x45f4din4m4qa====","hash":"d2a25i7irwfiy3librk4xaqpiv3qzkkg"}}} diff --git a/util/util_tests.sh b/util/util_tests.sh index 079c20f92..27ae0d88f 100755 --- a/util/util_tests.sh +++ b/util/util_tests.sh @@ -78,22 +78,4 @@ if [ $(eval "$cmd") -ne 2 ] ; then fail=1 fi -## Check check_package_config.py -export SPACK_ENV=${SPACK_STACK_DIR}/util/test_env -${SPACK_STACK_DIR}/util/check_package_config.py -${SPACK_STACK_DIR}/util/check_package_config.py | sort -${SPACK_STACK_DIR}/util/check_package_config.py | sort | md5sum -output_checksum=$(${SPACK_STACK_DIR}/util/check_package_config.py | sort | md5sum) -reference_checksum=$(cat ${SPACK_STACK_DIR}/util/test_env/package_check_baseline.txt | md5sum) -if [[ "$output_checksum" != "$reference_checksum" ]]; then - echo "check_package_config.py check A failed!" - fail=1 -fi -# Test ignoring packages -count=$(${SPACK_STACK_DIR}/util/check_package_config.py -i sp --ignore cmake | wc -l) -if [ "$count" -ne 0 ]; then - echo "check_package_config.py check B failed!" - fail=1 -fi - exit $fail