From 626053288fe3ec45752a6c08dd071bcba184f41f0a9cd27356e89a215333937a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Thu, 12 Sep 2024 10:47:30 +0000
Subject: [PATCH] [info=a3c118442f34a0507757f9163538d2b7]

OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/python-3.12-image?expand=0&rev=98
---
 .gitattributes            | 23 +++++++++++
 .gitignore                |  1 +
 Dockerfile                | 51 ++++++++++++++++++++++++
 README.md                 | 51 ++++++++++++++++++++++++
 _service                  | 14 +++++++
 python-3.12-image.changes | 84 +++++++++++++++++++++++++++++++++++++++
 6 files changed, 224 insertions(+)
 create mode 100644 .gitattributes
 create mode 100644 .gitignore
 create mode 100644 Dockerfile
 create mode 100644 README.md
 create mode 100644 _service
 create mode 100644 python-3.12-image.changes

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..9b03811
--- /dev/null
+++ b/.gitattributes
@@ -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
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..57affb6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.osc
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..b4213cf
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,51 @@
+# 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
+
+#!UseOBSRepositories
+
+#!BuildTag: opensuse/bci/python:3.12
+#!BuildTag: opensuse/bci/python:3.12-%RELEASE%
+#!BuildTag: opensuse/bci/python:3
+#!BuildTag: opensuse/bci/python:3-%RELEASE%
+#!BuildTag: opensuse/bci/python:%%py312_ver%%
+#!BuildTag: opensuse/bci/python:%%py312_ver%%-%RELEASE%
+
+FROM opensuse/tumbleweed:latest
+
+RUN set -euo pipefail; zypper -n in --no-recommends python312-devel python312 python312-pip curl findutils gawk git-core procps util-linux python312-wheel python312-pipx; 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.python
+LABEL org.opencontainers.image.authors="openSUSE (https://www.opensuse.org/)"
+LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI Python 3.12 development"
+LABEL org.opencontainers.image.description="Python 3.12 development container based on the openSUSE Tumbleweed Base Container Image."
+LABEL org.opencontainers.image.version="%%py312_ver%%"
+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="3.12-%RELEASE%"
+LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/python:3.12-%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/python-3.12-image/README.md"
+ENV PYTHON_VERSION="%%py312_ver%%"
+ENV PATH="$PATH:/root/.local/bin"
+ENV PIP_VERSION="%%pip_ver%%"
+
+RUN set -euo pipefail; install -d -m 0755 /root/.local/bin; ln -s /usr/bin/python3.12 /usr/local/bin/python3; \
+    ln -s /usr/bin/pydoc3.12 /usr/local/bin/pydoc
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a14db8d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,51 @@
+# Python 3.12 development container image
+
+![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
+
+## Description
+
+[Python](https://www.python.org/) is an interpreted, interactive, object-oriented, open-source programming language. It incorporates modules, exceptions, dynamic typing, high-level dynamic data types, and classes. It provides interfaces to many system calls, libraries, and various window systems, and it is extensible in C or C++. It is also usable as an extension language for applications that require programmable interfaces.
+
+## Usage
+
+To deploy an application, install dependencies, copy the sources, and configure the application's main script:
+
+```Dockerfile
+FROM registry.opensuse.org/opensuse/bci/python:3.12
+
+WORKDIR /app
+
+COPY requirements.txt ./
+RUN pip install --no-cache-dir -r requirements.txt
+
+COPY . .
+
+CMD [ "python3", "./main-script.py" ]
+```
+
+Build and run the container image:
+
+```ShellSession
+$ podman build -t my-python-app .
+$ podman run -it --rm my-python-app
+```
+
+To run a single script inside a container, use the following command:
+
+```ShellSession
+$ podman run --rm -v "$PWD":/app:Z -w /app registry.opensuse.org/opensuse/bci/python:3.12 python3 script.py
+```
+
+## Additional tools
+
+The Python container image includes [pip](https://pip.pypa.io/), [pipx](https://pipx.pypa.io/), [wheel](https://wheel.readthedocs.io/), Python Development Headers, and Git.
+
+## 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/).
diff --git a/_service b/_service
new file mode 100644
index 0000000..29da35c
--- /dev/null
+++ b/_service
@@ -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">%%py312_ver%%</param>
+    <param name="package">python312-base</param>
+  </service>
+  <service name="replace_using_package_version" mode="buildtime">
+    <param name="file">Dockerfile</param>
+    <param name="regex">%%pip_ver%%</param>
+    <param name="package">python312-pip</param>
+  </service>
+</services>
\ No newline at end of file
diff --git a/python-3.12-image.changes b/python-3.12-image.changes
new file mode 100644
index 0000000..16ae97e
--- /dev/null
+++ b/python-3.12-image.changes
@@ -0,0 +1,84 @@
+-------------------------------------------------------------------
+Thu Sep 12 10:37:22 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- set useobsrepositories explicitly
+
+-------------------------------------------------------------------
+Fri Sep  6 11:30:01 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- use full version in version label
+
+-------------------------------------------------------------------
+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
+
+-------------------------------------------------------------------
+Fri Jun 28 06:52:02 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- add standard devel tools back to development containers
+
+-------------------------------------------------------------------
+Thu Jun 20 09:53:37 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)
+
+-------------------------------------------------------------------
+Tue Mar 26 17:05:20 UTC 2024 - SUSE Update Bot <bci-internal@suse.de>
+
+- First version of the Python 3.12 development BCI