[info=f5af4515d553b54623373e5147698651]
OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/spack-image?expand=0&rev=61
This commit is contained in:
commit
9b94c7b250
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
69
Dockerfile
Normal file
69
Dockerfile
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon.
|
||||||
|
|
||||||
|
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
|
||||||
|
# It is maintained by the BCI team and generated by
|
||||||
|
# https://github.com/SUSE/BCI-dockerfile-generator
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
|
||||||
|
|
||||||
|
#!ExclusiveArch: aarch64 x86_64
|
||||||
|
#!BuildTag: opensuse/bci/spack:0.22
|
||||||
|
#!BuildTag: opensuse/bci/spack:0.22-%RELEASE%
|
||||||
|
#!BuildTag: opensuse/bci/spack:0.22.1
|
||||||
|
#!BuildTag: opensuse/bci/spack:0.22.1-%RELEASE%
|
||||||
|
#!BuildTag: opensuse/bci/spack:latest
|
||||||
|
|
||||||
|
FROM opensuse/tumbleweed:latest
|
||||||
|
|
||||||
|
MAINTAINER openSUSE (https://www.opensuse.org/)
|
||||||
|
|
||||||
|
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
||||||
|
# labelprefix=org.opensuse.bci.spack
|
||||||
|
LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI Spack development"
|
||||||
|
LABEL org.opencontainers.image.description="Spack development container for building containerized HPC solution stacks, based on the openSUSE Tumbleweed Base Container Image."
|
||||||
|
LABEL org.opencontainers.image.version="0.22"
|
||||||
|
LABEL org.opencontainers.image.url="https://www.opensuse.org"
|
||||||
|
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||||
|
LABEL org.opencontainers.image.vendor="openSUSE Project"
|
||||||
|
LABEL org.opencontainers.image.source="%SOURCEURL%"
|
||||||
|
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/spack:0.22-%RELEASE%"
|
||||||
|
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||||
|
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
|
||||||
|
LABEL org.opensuse.release-stage="released"
|
||||||
|
# endlabelprefix
|
||||||
|
LABEL io.artifacthub.package.readme-url="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/spack-image/README.md"
|
||||||
|
LABEL io.artifacthub.package.logo-url="https://spack.io/assets/images/spack-logo-white.svg"
|
||||||
|
LABEL usage="This container is enabled and supported only on a SLE15+ host."
|
||||||
|
|
||||||
|
RUN set -euo pipefail; zypper -n in spack bison cmake-full flex libtool makeinfo patchelf lsb-release zstd libzip-devel libcurl-devel libopenssl-devel ncurses-devel tack xz-devel; zypper -n clean; rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2}
|
||||||
|
ENV SPACK_ROOT="/usr"
|
||||||
|
ENV CURRENTLY_BUILDING_DOCKER_IMAGE="1"
|
||||||
|
ENV container="docker"
|
||||||
|
|
||||||
|
ENTRYPOINT ["/bin/bash", "/usr/share/spack/docker/entrypoint.bash"]
|
||||||
|
CMD ["interactive-shell"]
|
||||||
|
|
||||||
|
RUN set -euo pipefail; ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \
|
||||||
|
/usr/local/bin/docker-shell \
|
||||||
|
&& ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \
|
||||||
|
/usr/local/bin/interactive-shell \
|
||||||
|
&& ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \
|
||||||
|
/usr/local/bin/spack-env \
|
||||||
|
&& echo 'source $SPACK_ROOT/share/spack/spack-completion.bash' > /root/.bashrc
|
||||||
|
RUN set -euo pipefail; mkdir -p /root/.spack \
|
||||||
|
&& cp $SPACK_ROOT/share/spack/docker/modules.yaml \
|
||||||
|
/root/.spack/modules.yaml \
|
||||||
|
&& rm -rf /root/*.* /run/nologin
|
||||||
|
|
||||||
|
# sanity check that the version from the tag is equal to the version of spack that we expect
|
||||||
|
RUN set -euo pipefail; [ "$(rpm -q --qf '%{version}' spack | cut -d '.' -f -3)" = "0.22.1" ]
|
||||||
|
|
||||||
|
WORKDIR /root
|
||||||
|
SHELL ["docker-shell"]
|
78
README.md
Normal file
78
README.md
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# Spack 0.22 container image
|
||||||
|

|
||||||
|
|
||||||
|
## Description
|
||||||
|
Spack is a package manager for supercomputers. It provides build recipes
|
||||||
|
for more than 6000 software components, and it allows to build entire
|
||||||
|
HPC application stacks with little to no prerequisites.
|
||||||
|
|
||||||
|
This container image serves as a build environment for a `Dockerfile`
|
||||||
|
or an `apptainter.def` file created by `spack containerize`. It can be
|
||||||
|
used to run spack commands directly as well. Doing this may require to
|
||||||
|
bind-mount local directories into the container.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
This image may be used to build and containerize application stacks using
|
||||||
|
Spack. The stack is installed in a base container such as SLE BCI Base.
|
||||||
|
To build a containerized application stack, create the file `spack.yaml`
|
||||||
|
in an empty directory with the following content:
|
||||||
|
```yaml
|
||||||
|
spack:
|
||||||
|
specs:
|
||||||
|
- <application spec>
|
||||||
|
|
||||||
|
container:
|
||||||
|
format: <container_format>
|
||||||
|
images:
|
||||||
|
build: "registry.opensuse.org/opensuse/bci/spack:0.22"
|
||||||
|
final: "registry.suse.com/bci/bci-base:latest"
|
||||||
|
os_packages:
|
||||||
|
command: zypper
|
||||||
|
build:
|
||||||
|
- <additional packages for building>
|
||||||
|
final:
|
||||||
|
- <additional packages for final container>
|
||||||
|
```
|
||||||
|
Replace 'application spec' with the actual application name, and provide optional
|
||||||
|
build specifications (for details see the
|
||||||
|
[Spack documentation](https://spack.readthedocs.io/en/latest/)).
|
||||||
|
The 'container_format' can be either `docker` for a docker/OCI container
|
||||||
|
image or `singularity` for a Singularity/Apptainer container image.
|
||||||
|
The `os_packages` section is optional. Here you may specify additional
|
||||||
|
packages to install in the build container or in the final
|
||||||
|
runtime container image.
|
||||||
|
To build an Apptainer container, run the following commands in the same
|
||||||
|
directory:
|
||||||
|
```ShellSession
|
||||||
|
$ spack containerize > apptainer.def
|
||||||
|
$ apptainer build apptainer.sif apptainer.def
|
||||||
|
```
|
||||||
|
This builds `apptainer.sif` as the final Singularity/Apptainer image that can then be run as follows:
|
||||||
|
```ShellSession
|
||||||
|
$ apptainer exec ./apptainer.sif <command line ...>
|
||||||
|
```
|
||||||
|
To build a docker/OCI container, run the following commands:
|
||||||
|
```ShellSession
|
||||||
|
$ spack containerize > Containerfile
|
||||||
|
$ podman build -t <target_name> --format=docker .
|
||||||
|
```
|
||||||
|
This builds a Docker container that you can run as follows:
|
||||||
|
```
|
||||||
|
$ podman run -it --rm <target_name> <command line ...>
|
||||||
|
```
|
||||||
|
If you do not have a local installation of Spack, you can use this container
|
||||||
|
to run Spack commands - like `spack containerize`:
|
||||||
|
```ShellSession
|
||||||
|
$ podman run -v $(pwd):/root:Z --rm registry.opensuse.org/opensuse/bci/spack:0.22 containerize > Containerfile
|
||||||
|
```
|
||||||
|
For further information, refer to the
|
||||||
|
[Spack documentation on container images](https://spack.readthedocs.io/en/latest/containers.html).
|
||||||
|
## Licensing
|
||||||
|
|
||||||
|
`SPDX-License-Identifier: MIT`
|
||||||
|
|
||||||
|
This documentation and the build recipe are licensed as MIT.
|
||||||
|
The container itself contains various software components under various open source licenses listed in the associated
|
||||||
|
Software Bill of Materials (SBOM).
|
||||||
|
|
||||||
|
This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/).
|
7
_constraints
Normal file
7
_constraints
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<constraints>
|
||||||
|
<hardware>
|
||||||
|
<disk>
|
||||||
|
<size unit="G">10</size>
|
||||||
|
</disk>
|
||||||
|
</hardware>
|
||||||
|
</constraints>
|
4
_service
Normal file
4
_service
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<services>
|
||||||
|
<service mode="buildtime" name="docker_label_helper"/>
|
||||||
|
<service mode="buildtime" name="kiwi_metainfo_helper"/>
|
||||||
|
</services>
|
79
spack-image.changes
Normal file
79
spack-image.changes
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 31 12:06:44 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- set specific lifecycle url for openSUSE BCI
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 16 08:14:58 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update tags to new versions
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 10 15:59:28 UTC 2024 - Egbert Eich <eich@suse.com>
|
||||||
|
|
||||||
|
- update description
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 8 13:38:58 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- use minor version level only for spack
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 1 15:19:46 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Add usage label stating supported hosts
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 18 17:24:16 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- use sentence style capitalization in READMEs
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 12 07:09:36 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- updated to new version
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 10 15:11:25 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update README; reduce unnecessary newlines
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 5 15:13:27 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Don't add artifacthub labels into labelprefix section
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 5 12:47:22 UTC 2024 - Dan Čermák <dcermak@suse.com>
|
||||||
|
|
||||||
|
- Hardcode package version in the README
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 4 12:35:15 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>
|
||||||
|
|
||||||
|
- Fix grammar mistake in licensing footer
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 8 16:26:31 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- README fixes - better titles and follow recommended document structure
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 8 12:09:13 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- README typo fix
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 7 19:07:24 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- extend READMEs; correct eula for application images
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 6 06:35:54 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- Limit building to aarch64 & x86_64
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 01 08:17:45 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||||
|
|
||||||
|
- First version of the Spack development BCI
|
Loading…
x
Reference in New Issue
Block a user