[info=fe91abbcdbd60265be62253f0ecbd619]

OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/openjdk-21-image?expand=0&rev=195
This commit is contained in:
Dan Čermák 2025-01-01 14:18:01 +00:00 committed by Git OBS Bridge
commit 0e42a865aa
7 changed files with 302 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

50
Dockerfile Normal file
View File

@ -0,0 +1,50 @@
# 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 ppc64le s390x
#!BuildTag: opensuse/bci/openjdk:%%java_version%%-%RELEASE%
#!BuildTag: opensuse/bci/openjdk:%%java_version%%
#!BuildTag: opensuse/bci/openjdk:21
FROM opensuse/tumbleweed:latest
RUN set -euo pipefail; \
zypper -n install --no-recommends java-21-openjdk curl findutils gawk git-core procps util-linux; \
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.openjdk
LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI OpenJDK 21 runtime"
LABEL org.opencontainers.image.description="OpenJDK 21 runtime container based on the openSUSE Tumbleweed Base Container Image."
LABEL org.opencontainers.image.version="%%java_version%%"
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="%%java_version%%-%RELEASE%"
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/openjdk:%%java_version%%-%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/openjdk-21-image/README.md"
ENV JAVA_BINDIR="/usr/lib64/jvm/java-21-openjdk-21/bin"
ENV JAVA_HOME="/usr/lib64/jvm/java-21-openjdk-21"
ENV JAVA_ROOT="/usr/lib64/jvm/java-21-openjdk-21"
ENV JAVA_VERSION="21"
RUN set -euo pipefail; [ -d $JAVA_HOME ]; [ -d $JAVA_BINDIR ]; [ -f "$JAVA_BINDIR/java" ] && [ -x "$JAVA_BINDIR/java" ]

68
README.md Normal file
View File

@ -0,0 +1,68 @@
# OpenJDK 21 runtime container image
![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
## Description
[OpenJDK](https://openjdk.org/) (Open Java Development Kit) is a free and open source implementation of the Java Platform, Standard Edition (Java SE). OpenJDK is the official reference implementation of Java SE since version 7.
The OpenJDK runtime image is intended to be used as a runtime environment. For development, use the OpenJDK development image.
## Usage
To run a jar or war application inside a container instance, use the following command:
```ShellSession
$ podman run --rm -v "$PWD":/app:Z -w /app registry.opensuse.org/opensuse/bci/openjdk:21 java -jar hello.jar
```
Or create a new contained based on OpenJDK 21 runtime image:
```Dockerfile
FROM registry.opensuse.org/opensuse/bci/openjdk:21
WORKDIR /app
COPY . ./
CMD ["java", "-jar", "hello.jar"]
```
To compile and deploy an application, copy the sources and build the application:
```Dockerfile
# Build the application using the OpenJDK development image
FROM registry.opensuse.org/opensuse/bci/openjdk-devel:21 as build
WORKDIR /app
COPY . ./
RUN javac Hello.java
# Bundle the application into OpenJDK runtime image
FROM registry.opensuse.org/opensuse/bci/openjdk:21
WORKDIR /app
COPY --from=build /app/Hello.class /app
CMD ["java", "Hello"]
```
Build and run the container image:
```ShellSession
$ podman build -t my-java-app .
$ podman run -it --rm my-java-app
```
## 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>

9
_service Normal file
View File

@ -0,0 +1,9 @@
<services>
<service mode="buildtime" name="docker_label_helper"/>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
<service mode="buildtime" name="replace_using_package_version">
<param name="file">Dockerfile</param>
<param name="regex">%%java_version%%</param>
<param name="package">java-21-openjdk</param>
</service>
</services>

144
openjdk-21-image.changes Normal file
View File

@ -0,0 +1,144 @@
-------------------------------------------------------------------
Wed Jan 1 14:13:48 UTC 2025 - SUSE Update Bot <bci-internal@suse.de>
- update copyright year
-------------------------------------------------------------------
Tue Dec 3 13:26:37 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
- Change attribute order in _service
-------------------------------------------------------------------
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
-------------------------------------------------------------------
Fri Sep 20 11:49:56 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- set full version on oci labels
-------------------------------------------------------------------
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 10:31:08 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- Move devtools into openjdk base image
-------------------------------------------------------------------
Thu Jul 11 08:17:40 UTC 2024 - Alexandre Vicenzi <alexandre.vicenzi@suse.com>
- extend README.md
-------------------------------------------------------------------
Tue Jun 18 17:24:16 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- use sentence style capitalization in READMEs
-------------------------------------------------------------------
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
-------------------------------------------------------------------
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)
-------------------------------------------------------------------
Wed Jan 17 14:29:14 UTC 2024 - Dan Čermák <dcermak@suse.com>
- Add initial README stub
-------------------------------------------------------------------
Tue Jan 2 08:26:58 UTC 2024 - Dirk Mueller <dmueller@suse.com>
- update year to 2024
-------------------------------------------------------------------
Thu Sep 28 14:29:10 UTC 2023 - Dirk Mueller <dmueller@suse.com>
- add copyright and description header
-------------------------------------------------------------------
Fri Sep 22 10:47:41 UTC 2023 - SUSE Update Bot <bci-internal@suse.de>
- First version of the OpenJDK 21 runtime BCI