From e03df9f1ced1b331ae4cde0820bcb07f1e511897577d9fd9184013029393c884 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
Date: Fri, 13 Sep 2024 13:55:31 +0000
Subject: [PATCH] [info=630f97017668959136df90246caf525e]

OBS-URL: https://build.opensuse.org/package/show/devel:BCI:Tumbleweed/minimal-image?expand=0&rev=178
---
 .gitattributes        |  23 +++++++
 .gitignore            |   1 +
 README.md             |  21 ++++++
 _service              |   4 ++
 config.sh             |  37 +++++++++++
 minimal-image.changes | 150 ++++++++++++++++++++++++++++++++++++++++++
 minimal-image.kiwi    |  74 +++++++++++++++++++++
 7 files changed, 310 insertions(+)
 create mode 100644 .gitattributes
 create mode 100644 .gitignore
 create mode 100644 README.md
 create mode 100644 _service
 create mode 100644 config.sh
 create mode 100644 minimal-image.changes
 create mode 100644 minimal-image.kiwi

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/README.md b/README.md
new file mode 100644
index 0000000..2fd6931
--- /dev/null
+++ b/README.md
@@ -0,0 +1,21 @@
+# openSUSE Tumbleweed BCI Minimal: Base Container image without Zypper
+![Redistributable](https://img.shields.io/badge/Redistributable-Yes-green)
+
+## Description
+This image comes without Zypper, but it does have the RPM package manager installed.
+While RPM can install and remove packages, it lacks support for repositories and automated dependency resolution.
+It is therefore intended for creating deployment containers, and then installing the desired
+RPM packages inside the containers.
+
+While you can install the required dependencies, you need to download and resolve them manually.
+However, this approach is not recommended as it is prone to errors.
+
+## 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..695a3f0
--- /dev/null
+++ b/_service
@@ -0,0 +1,4 @@
+<services>
+  <service mode="buildtime" name="kiwi_label_helper"/>
+  <service mode="buildtime" name="kiwi_metainfo_helper"/>
+</services>
\ No newline at end of file
diff --git a/config.sh b/config.sh
new file mode 100644
index 0000000..4176913
--- /dev/null
+++ b/config.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: (c) 2022-2024 SUSE LLC
+
+set -euo pipefail
+
+test -f /.kconfig && . /.kconfig
+test -f /.profile && . /.profile
+
+echo "Configure image: [$kiwi_iname]..."
+
+#============================================
+# Import repositories' keys if rpm is present
+#--------------------------------------------
+if command -v rpm > /dev/null; then
+    suseImportBuildKey
+fi
+
+
+#==========================================
+# Remove compat-usrmerge-tools if installed
+#------------------------------------------
+if rpm -q compat-usrmerge-tools; then
+    rpm -e compat-usrmerge-tools
+fi
+
+
+#=======================================
+# Clean up after zypper if it is present
+#---------------------------------------
+if command -v zypper > /dev/null; then
+    zypper -n clean
+fi
+
+rm -rf /var/log/{lastlog,tallylog,zypper.log,zypp/history,YaST2}
+
+exit 0
diff --git a/minimal-image.changes b/minimal-image.changes
new file mode 100644
index 0000000..09f32ab
--- /dev/null
+++ b/minimal-image.changes
@@ -0,0 +1,150 @@
+-------------------------------------------------------------------
+Fri Sep 13 09:56:19 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- Remove trailing whitespace
+
+-------------------------------------------------------------------
+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 15:20:06 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- Re-render templates (no functional change)
+
+-------------------------------------------------------------------
+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
+
+-------------------------------------------------------------------
+Wed May 15 13:43:21 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- Remove duplication from the image title
+
+-------------------------------------------------------------------
+Wed May  8 16:26:31 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- README fixes - better titles and follow recommended document structure
+
+-------------------------------------------------------------------
+Tue May  7 19:07:24 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- extend READMEs; correct eula for application images
+
+-------------------------------------------------------------------
+Fri Apr 19 10:31:30 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- Bump kiwi schema version
+
+-------------------------------------------------------------------
+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  4 17:37:20 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- add a shared licensing footer to the base container READMEs
+
+-------------------------------------------------------------------
+Fri Mar 22 17:20:58 UTC 2024 - Dirk Mueller <dmueller@suse.com>
+
+- add readme and logo urls
+
+-------------------------------------------------------------------
+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
+
+-------------------------------------------------------------------
+Wed Aug  9 14:54:19 UTC 2023 - Dirk Mueller <dmueller@suse.com>
+
+- Remove unnecessary usrmerge compat package
+
+-------------------------------------------------------------------
+Wed Jul 12 12:52:48 UTC 2023 - Dirk Mueller <dmueller@suse.com>
+
+- Replace distribution-release with openSUSE-release and openSUSE-release-appliance-docker
+
+-------------------------------------------------------------------
+Mon Jul 10 10:06:53 UTC 2023 - Dirk Mueller <dmueller@suse.com>
+
+- Remove perl from the base image, rpm doesn't require it
+
+-------------------------------------------------------------------
+Fri Jun 23 15:33:33 UTC 2023 - Dirk Mueller <dmueller@suse.com>
+
+- label capitalization and related cleanups
+
+-------------------------------------------------------------------
+Tue May 30 06:52:56 UTC 2023 - Dan Čermák <dcermak@suse.com>
+
+- Add release stage and lifecycle url
+
+-------------------------------------------------------------------
+Wed Apr 26 06:18:56 UTC 2023 - Dirk Müller <dmueller@suse.com>
+
+- switch versioning to rolling Tumbleweed schema
+- Correct org.opensuse.reference label
+
+-------------------------------------------------------------------
+Fri Mar  3 07:24:36 UTC 2023 - Dan Čermák <dcermak@suse.com>
+
+- Add org.opencontainers.image.source label set to %SOURCEURL%
+
+-------------------------------------------------------------------
+Mon Jan  2 12:22:14 UTC 2023 - Dan Čermák <dcermak@suse.com>
+
+- Bump copyright year
+
+-------------------------------------------------------------------
+Tue Jul 12 15:13:44 UTC 2022 - Dan Čermák <dcermak@suse.com>
+
+- Convert SLE specific parts to openSUSE
+
+-------------------------------------------------------------------
+Thu Apr 28 10:15:45 UTC 2022 - Dan Čermák <dcermak@suse.com>
+
+- Ensure that /var/log/zypp is not present in the image
diff --git a/minimal-image.kiwi b/minimal-image.kiwi
new file mode 100644
index 0000000..53c19f1
--- /dev/null
+++ b/minimal-image.kiwi
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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
+-->
+<!-- OBS-AddTag: opensuse/bci/bci-minimal:%OS_VERSION_ID_SP% opensuse/bci/bci-minimal:%OS_VERSION_ID_SP%.%RELEASE% opensuse/bci/bci-minimal:latest -->
+<!-- OBS-Imagerepo: obsrepositories:/ -->
+
+<image schemaversion="7.4" name="minimal-image" xmlns:suse_label_helper="com.suse.label_helper">
+  <description type="system">
+    <author>openSUSE Project</author>
+    <contact>https://www.suse.com/</contact>
+    <specification>openSUSE Tumbleweed BCI Minimal Container Image</specification>
+  </description>
+  <preferences>
+    <type image="docker" derived_from="obsrepositories:/opensuse/bci/bci-micro#latest">
+      <containerconfig
+          name="opensuse/bci/bci-minimal"
+          tag="%OS_VERSION_ID_SP%"
+          additionaltags="%OS_VERSION_ID_SP%.%RELEASE%,latest">
+        <labels>
+          <suse_label_helper:add_prefix prefix="org.opensuse.bci.minimal">
+            <label name="org.opencontainers.image.authors" value="openSUSE (https://www.opensuse.org/)"/>
+            <label name="org.opencontainers.image.title" value="openSUSE Tumbleweed BCI Minimal"/>
+            <label name="org.opencontainers.image.description" value="Minimal container based on the openSUSE Tumbleweed Base Container Image."/>
+            <label name="org.opencontainers.image.version" value="%OS_VERSION_ID_SP%.%RELEASE%"/>
+            <label name="org.opencontainers.image.created" value="%BUILDTIME%"/>
+            <label name="org.opencontainers.image.vendor" value="openSUSE Project"/>
+            <label name="org.opencontainers.image.source" value="%SOURCEURL%"/>
+            <label name="org.opencontainers.image.url" value="https://www.opensuse.org"/>
+            <label name="org.opencontainers.image.ref.name" value="%OS_VERSION_ID_SP%.%RELEASE%"/>
+            <label name="org.opensuse.reference" value="registry.opensuse.org/opensuse/bci/bci-minimal:%OS_VERSION_ID_SP%.%RELEASE%"/>
+            <label name="org.openbuildservice.disturl" value="%DISTURL%"/>
+            <label name="org.opensuse.release-stage" value="released"/>
+            <label name="org.opensuse.lifecycle-url" value="https://en.opensuse.org/Lifetime#openSUSE_BCI"/>
+          </suse_label_helper:add_prefix>
+          <label name="io.artifacthub.package.readme-url" value="https://raw.githubusercontent.com/SUSE/BCI-dockerfile-generator/Tumbleweed/minimal-image/README.md"/>
+          <label name="io.artifacthub.package.logo-url" value="https://opensource.suse.com/bci/SLE_BCI_logomark_green.svg"/>
+        </labels>
+      </containerconfig>
+    </type>
+    <version>2024</version>
+    <packagemanager>zypper</packagemanager>
+    <rpm-check-signatures>false</rpm-check-signatures>
+    <rpm-excludedocs>true</rpm-excludedocs>
+  </preferences>
+  <repository type="rpm-md">
+    <source path="obsrepositories:/"/>
+  </repository>
+  <packages type="delete">
+    <package name="grep"/>
+    <package name="diffutils"/>
+    <package name="info"/>
+    <package name="fillup"/>
+    <package name="libzio1"/>
+  </packages>
+  <packages type="bootstrap">
+    <package name="openSUSE-release"/>
+    <package name="openSUSE-release-appliance-docker"/>
+    <package name="rpm"/>
+  </packages>
+
+</image>
\ No newline at end of file