[info=84492220683e7f8f1bf0522f0c4b7e45]

OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/spack-image?expand=0&rev=52
This commit is contained in:
Dan Čermák 2024-07-08 13:45:06 +00:00 committed by Git OBS Bridge
commit 3b861c416b
7 changed files with 246 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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
View File

@ -0,0 +1 @@
.osc

69
Dockerfile Normal file
View 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.0
#!BuildTag: opensuse/bci/spack:0.22.0-%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 is a flexible package manager for supercomputers, 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"
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.0" ]
WORKDIR /root
SHELL ["docker-shell"]

78
README.md Normal file
View File

@ -0,0 +1,78 @@
# Spack 0.22 container image
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
## 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
View File

@ -0,0 +1,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">10</size>
</disk>
</hardware>
</constraints>

4
_service Normal file
View File

@ -0,0 +1,4 @@
<services>
<service mode="buildtime" name="docker_label_helper"/>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
</services>

64
spack-image.changes Normal file
View File

@ -0,0 +1,64 @@
-------------------------------------------------------------------
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