diff --git a/README.md b/README.md index eb59ce5..56208cd 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,10 @@ This repository is for deploying general purpose system software that is used on HPC targets, in this case gadi@NCI utilising the [build-cd](https://github.com/ACCESS-NRI/build-cd) infrastructure. +## Versioning + +Versioning of tools in this repository consists of taking the official versions defined in the package, and appending a build number to the end of it (eg., for `yq 4.45.4`, the version would be `4.45.4-1`). This is so we are able to make changes unrelated to the package itself (eg. updating compilers and other lower-level dependenceis) without needing to wait and bundle changes until the next official release of a package we don't control. + ## Supported tools ### ncdu @@ -30,6 +34,10 @@ The OpenSSH suite consists of the following tools: > pinentry system-tool was added primarily for [mosrs-auth simple password input dialog](https://github.com/ACCESS-NRI/dev-docs/wiki/MOSRS#mosrs-auth-with-a-simple-password-input-dialog). > For all other use cases, we recommend using Gadi's system pinentry, as ACCESS-NRI has not tested or validated this library configuration for security compliance. +### yq + +[yq](https://mikefarah.gitbook.io/yq) is a lightweight YAML processor. + ## How to use **Requirements**: you must be a member of [`vk83`](https://my.nci.org.au/mancini/project/vk83). diff --git a/yq/spack.yaml b/yq/spack.yaml new file mode 100644 index 0000000..74dd722 --- /dev/null +++ b/yq/spack.yaml @@ -0,0 +1,38 @@ +# This is a Spack Environment file. +# +# It describes a set of packages to be installed, along with +# configuration settings. +# +# This manifest is for installing yq, a command-line YAML processor. +spack: + definitions: + # _name and _version are reserved definitions that inform build-cd deployments, and have no effect otherwise + - _name: [yq] + - _version: [4.45.4-1] + specs: + - yq@4.45.4 + packages: + # Compilers + c: + require: + - 'gcc@15.1.0' + cxx: + require: + - 'gcc@15.1.0' + fortran: + require: + - 'gcc@15.1.0' + all: + prefer: + - 'target=x86_64_v3' + view: true + concretizer: + unify: true + modules: + default: + tcl: + include: + - yq + projections: + # build-cd will inject the _version into this projection + yq: 'system-tools/{name}'