[info=7347a2d768914f2997f8aa58f988e336]
OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/spack-image?expand=0&rev=149
This commit is contained in:
commit
42342f5f55
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
|
73
Dockerfile
Normal file
73
Dockerfile
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
# Copyright (c) 2025 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
|
||||||
|
|
||||||
|
#!UseOBSRepositories
|
||||||
|
#!ExclusiveArch: aarch64 x86_64
|
||||||
|
#!BuildTag: opensuse/bci/spack:0.22.2-%RELEASE%
|
||||||
|
#!BuildTag: opensuse/bci/spack:0.22.2
|
||||||
|
#!BuildTag: opensuse/bci/spack:0.22
|
||||||
|
#!BuildTag: opensuse/bci/spack:latest
|
||||||
|
|
||||||
|
FROM opensuse/tumbleweed:latest
|
||||||
|
|
||||||
|
RUN set -euo pipefail; \
|
||||||
|
zypper -n install 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 {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}
|
||||||
|
|
||||||
|
# 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.2"
|
||||||
|
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.opencontainers.image.ref.name="0.22.2-%RELEASE%"
|
||||||
|
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/spack:0.22.2-%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."
|
||||||
|
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.2" ]
|
||||||
|
|
||||||
|
WORKDIR /root
|
||||||
|
SHELL ["docker-shell"]
|
78
README.md
Normal file
78
README.md
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# Spack 0.22.2 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.opensuse.org/opensuse/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>
|
169
spack-image.changes
Normal file
169
spack-image.changes
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 1 14:13:48 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
|
||||||
|
|
||||||
|
- update copyright year
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 25 11:56:16 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||||
|
|
||||||
|
- Add line breaks into package version check
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 4 10:04:54 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||||
|
|
||||||
|
- Bump spack version to 0.22.2
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 30 15:34:45 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||||
|
|
||||||
|
- remove nonsensical org.opencontainers.image.authors - duplication of .vendor
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 29 15:23:20 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||||
|
|
||||||
|
- drop tag_version-%RELEASE%
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 14 11:26:26 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||||
|
|
||||||
|
- make the version-%release tag the first one listed; remove duplicates where they existed; update image.ref/reference to point to the version-%release(-) tag
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 11 15:12:52 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
|
||||||
|
|
||||||
|
- make the tag with -%RELEASE% the first tag listed
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 28 08:15:08 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- fix registry references in READMEs
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 25 17:36:16 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- rerender installation step in multiple lines, allow uninstalling optional packages
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 25 17:12:11 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- improved log cleaning
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 24 20:00:32 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- remove release tags for additional_versions
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 16 08:16:09 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- use full version
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 12 10:37:22 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- set useobsrepositories explicitly
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 14 12:30:32 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- install packages first
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 8 19:28:10 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- add oci.image.ref.name
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 8 16:43:43 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- remove oci reference annotation again
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 5 11:38:13 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- add OCI reference annotation
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Aug 3 08:56:51 UTC 2024 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- set OCI.authors attribute instead of deprecated MAINTAINER
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
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