1
0

[info=67dcb1a7adfa77c60124d37cbf0a6b5d]

OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/rust-stable-image?expand=0&rev=137
This commit is contained in:
Dan Čermák 2024-08-14 12:39:51 +00:00 committed by Git OBS Bridge
commit 60207cc612
8 changed files with 330 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

53
Dockerfile Normal file
View File

@ -0,0 +1,53 @@
# 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
#!BuildTag: opensuse/bci/rust:stable
#!BuildTag: opensuse/bci/rust:stable-1.%RELEASE%
#!BuildTag: opensuse/bci/rust:1.80
#!BuildTag: opensuse/bci/rust:1.80-1.%RELEASE%
#!BuildTag: opensuse/bci/rust:latest
FROM opensuse/tumbleweed:latest
RUN set -euo pipefail; zypper -n in --no-recommends rust1.80 cargo1.80; zypper -n clean; rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2}
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=org.opensuse.bci.rust
LABEL org.opencontainers.image.authors="openSUSE (https://www.opensuse.org/)"
LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI Rust 1.80"
LABEL org.opencontainers.image.description="Rust 1.80 container based on the openSUSE Tumbleweed Base Container Image."
LABEL org.opencontainers.image.version="1.80"
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="1.80-1.%RELEASE%"
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/rust:1.80-1.%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/rust-stable-image/README.md"
ENV RUST_VERSION="%%RUST_VERSION%%"
ENV CARGO_VERSION="%%CARGO_VERSION%%"
ENV CC="/usr/local/bin/gcc"
# workaround for gcc only existing as /usr/bin/gcc-N
RUN ln -sf $(ls /usr/bin/gcc-*|grep -P ".*gcc-[[:digit:]]+") /usr/local/bin/gcc
# smoke test that gcc works
RUN gcc --version
RUN ${CC} --version
COPY rust-and-cargo-pin.check /etc/zypp/systemCheck.d/rust-and-cargo-pin.check

56
README.md Normal file
View File

@ -0,0 +1,56 @@
# Rust 1.80 Container Image
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
## Description
[Rust](https://www.rust-lang.org/) is a systems programming language sponsored by Mozilla Research. It is designed to be a safe, concurrent, practical language, supporting functional and imperative-procedural paradigms. While syntactically similar to C++, Rust is designed for better memory safety without performance penalty.
## Usage
To compile and deploy an application, copy the sources, fetch dependencies, and build the binary:
```Dockerfile
# Build the application using the Rust 1.80 container image
FROM registry.opensuse.org/opensuse/bci/rust:1.80 as build
WORKDIR /app
COPY . ./
RUN cargo build --release
# Bundle the application into a BCI micro (or other BCI image)
FROM registry.suse.com/bci/bci-micro:latest
COPY --from=build /app/target/release/hello /usr/local/bin/hello
CMD ["hello"]
```
Build and run the container image:
```ShellSession
$ podman build -t my-rust-app .
$ podman run -it --rm my-rust-app
```
There are situations, where you don't want to run an application inside a container.
To compile the application, without running it inside a container instance, use the following command:
```ShellSession
$ podman run --rm -v "$PWD":/app:Z -w /app registry.opensuse.org/opensuse/bci/rust:1.80 cargo build --release
```
**Note:** The Rust image is intended to be used as a build environment. For runtime, use smaller images such as `bci-base`, `bci-micro`, or `bci-minimal`.
## 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">6</size>
</disk>
</hardware>
</constraints>

14
_service Normal file
View File

@ -0,0 +1,14 @@
<services>
<service mode="buildtime" name="docker_label_helper"/>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
<service name="replace_using_package_version" mode="buildtime">
<param name="file">Dockerfile</param>
<param name="regex">%%RUST_VERSION%%</param>
<param name="package">rust1.80</param>
</service>
<service name="replace_using_package_version" mode="buildtime">
<param name="file">Dockerfile</param>
<param name="regex">%%CARGO_VERSION%%</param>
<param name="package">cargo1.80</param>
</service>
</services>

2
rust-and-cargo-pin.check Normal file
View File

@ -0,0 +1,2 @@
requires:cargo1.80
requires:rust1.80

174
rust-stable-image.changes Normal file
View File

@ -0,0 +1,174 @@
-------------------------------------------------------------------
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:46:48 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- rust 1.80 for stable, rust 1.79 for oldstable
-------------------------------------------------------------------
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
-------------------------------------------------------------------
Wed Jun 26 13:56:49 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- README fixes
-------------------------------------------------------------------
Tue Jun 25 07:39:04 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- rust 1.79 for stable, rust 1.78 for oldstable
-------------------------------------------------------------------
Tue Jun 11 17:30:19 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>
- better README for rust images
-------------------------------------------------------------------
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
-------------------------------------------------------------------
Tue Jun 4 12:35:15 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>
- Fix grammar mistake in licensing footer
-------------------------------------------------------------------
Fri May 24 06:34:00 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Switch to Rust 1.78
-------------------------------------------------------------------
Tue May 7 19:07:24 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- extend READMEs; correct eula for application images
-------------------------------------------------------------------
Fri Apr 12 12:03:53 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Don't wipe everything in /var/log, only remove log files (this omits directories owned by packages)
-------------------------------------------------------------------
Thu Apr 11 06:57:38 UTC 2024 - Dan Čermák <dcermak@suse.com>
- Pin rust & cargo version to prevent zypper up from upgrading to a newer rust
-------------------------------------------------------------------
Wed Apr 10 05:02:54 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- rust 1.77 for stable, 1.76 for oldstable
-------------------------------------------------------------------
Mon Feb 26 11:01:40 UTC 2024 - Dan Čermák <dcermak@suse.com>
- Switch to Rust 1.76
-------------------------------------------------------------------
Wed Jan 17 14:29:14 UTC 2024 - Dan Čermák <dcermak@suse.com>
- Add initial README stub
-------------------------------------------------------------------
Thu Jan 11 08:59:38 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- move stable to 1.75, oldstable to 1.74
-------------------------------------------------------------------
Tue Jan 2 08:26:58 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- update year to 2024
-------------------------------------------------------------------
Tue Nov 28 10:43:08 UTC 2023 - Dan Čermák <dcermak@suse.com>
- switch stable to 1.74, oldstable to 1.73
-------------------------------------------------------------------
Fri Oct 13 14:59:34 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- Rust 1.73 for stable, 1.72 for oldstable
-------------------------------------------------------------------
Thu Sep 28 14:29:10 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- add copyright and description header
-------------------------------------------------------------------
Thu Sep 21 10:47:03 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update stable to Rust 1.72
-------------------------------------------------------------------
Wed Jul 26 09:39:06 UTC 2023 - Dirk Müller <dmueller@suse.com>
- stable is rust 1.71 now
-------------------------------------------------------------------
Wed Jul 12 12:55:01 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- Remove distribution-release from the package list, it is inherited from the base image
-------------------------------------------------------------------
Tue Jun 27 15:55:34 UTC 2023 - Dan Čermák <dcermak@suse.com>
- Fix reference label
-------------------------------------------------------------------
Fri Jun 23 15:33:33 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- label capitalization and related cleanups
-------------------------------------------------------------------
Thu Jun 22 16:56:53 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- Order the stability buildtag first in the list and prefix them with an stability index to avoid overlaps
-------------------------------------------------------------------
Tue Jun 20 17:27:27 UTC 2023 - Dirk Müller <dmueller@suse.com>
- switch stable to rust 1.70
-------------------------------------------------------------------
Tue Jun 13 15:18:24 UTC 2023 - Dirk Müller <dmueller@suse.com>
- rename to stable
-------------------------------------------------------------------
Tue May 30 06:52:56 UTC 2023 - Dan Čermák <dcermak@suse.com>
- Add release stage and lifecycle url
-------------------------------------------------------------------
Sat Apr 29 11:13:40 UTC 2023 - SUSE Update Bot <bci-internal@suse.de>
- First version of the Rust 1.69 BCI