Sync from SUSE:ALP:Source:Standard:1.0 base-image revision 1338de320d8f4982e7c6c5ae67e11e39

This commit is contained in:
Adrian Schröter 2023-09-14 09:42:26 +02:00
commit b24d160c25
5 changed files with 391 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

4
_service Normal file
View File

@ -0,0 +1,4 @@
<services>
<service mode="buildtime" name="kiwi_label_helper"/>
<service mode="buildtime" name="kiwi_metainfo_helper"/>
</services>

221
base-image.changes Normal file
View File

@ -0,0 +1,221 @@
-------------------------------------------------------------------
Wed Aug 9 15:57:17 UTC 2023 - Dirk Müller <dmueller@suse.com>
- uninstall compat-usrmerge-tools
-------------------------------------------------------------------
Wed Jul 12 12:36:04 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add openssl explicitly to restore compatibility with SLE BCI
-------------------------------------------------------------------
Thu Jul 6 09:01:05 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add lsb-release
- hardlink the license files (saves 612352 bytes, which is enough
to fit in 12000 bytes of lsb-release)
-------------------------------------------------------------------
Mon Apr 3 07:38:39 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- config.sh: attempt to force delete /var/log/lastlog; don't fail
in case it already does not exist.
-------------------------------------------------------------------
Thu Feb 23 15:36:39 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Add tar and gzip for simpler use in GitHub actions and similar
environments (jsc#PED-3548)
-------------------------------------------------------------------
Wed Jul 20 12:41:11 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Add curl (jsc#SLE-23748) and timezone (bsc#1201537)
-------------------------------------------------------------------
Wed Mar 9 15:17:10 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Add org.opencontainers.image.source label
-------------------------------------------------------------------
Mon Feb 7 15:08:12 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Clean /var/log and /var/cache/zypp more explicitly to keep
file ownership intact
- Remove redundant call to zypper clean
-------------------------------------------------------------------
Fri Jan 14 12:28:34 UTC 2022 - Dan Čermák <dcermak@suse.com>
- Cleanup /var/log, /var/cache/zypp and clear zypper's caches
-------------------------------------------------------------------
Fri Jun 18 12:36:07 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Add patterns-base-fips to work also in FIPS environments (bsc#1183154)
-------------------------------------------------------------------
Wed Apr 28 08:50:14 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Delete lastlog to work around missing support for sparse files in
go's tar writing code
-------------------------------------------------------------------
Tue Mar 9 10:00:43 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Force the container's arch in zypp.conf on 32bit x86
- openSUSE-release-appliance-docker is available meanwhile
-------------------------------------------------------------------
Fri Oct 23 16:20:11 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- add systemd flavor that uses networkd and resolved. Useful and quick
booting for use in machined
-------------------------------------------------------------------
Mon Jul 13 12:43:03 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
- include iproute2 in lxc build
-------------------------------------------------------------------
Fri Apr 17 14:28:44 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Add systemd-sysvinit to the lxc flavor for /sbin/init (boo#1169002)
-------------------------------------------------------------------
Tue Apr 14 13:47:44 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Avoid using <packages type="uninstall"/> as it recreates
AnonymousUniqueId (gh#OSInside/kiwi#1396)
-------------------------------------------------------------------
Thu Apr 2 12:16:44 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Install everything except for systemd/wicked in the bootstrap section
- Remove unneeded settings
- Drop explicit krb5 dep
- Add a proper LICENSE file, drop the header from config.sh
- Let kiwi uninstall live-add-yast-repos
-------------------------------------------------------------------
Tue Feb 4 11:08:29 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Drop call of suseSetupProduct in config.sh, it needs find which
isn't installed anymore. Setting up baseproduct is done by the
release package's %post script already.
- Replace find call in config.sh with glob expansion
- Use set -x
-------------------------------------------------------------------
Thu Aug 8 08:45:26 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Remove wrong comment
-------------------------------------------------------------------
Thu Jul 25 12:47:27 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Don't install shadow, mention zypper and bash explicitly
-------------------------------------------------------------------
Mon Mar 4 08:37:53 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Switch from kubic-locale-archive to glibc-locale-base
-------------------------------------------------------------------
Thu Feb 28 15:49:30 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Add comment for obsrepositories back, as requested.
Let's see how long it stays this time.
-------------------------------------------------------------------
Mon Feb 25 07:54:36 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Use correct org.opencontainers.image prefix
-------------------------------------------------------------------
Thu Jan 10 15:47:40 UTC 2019 - Fabian Vogt <fvogt@suse.com>
- Add labels and a history entry as defined in the wiki by using
OBS services (fate#326856, bsc#1118103, boo#1119378)
- Remove comments for obsrepositories in derived containers - now implemented differently
-------------------------------------------------------------------
Tue Dec 4 08:52:11 UTC 2018 - Adrian Schröter <adrian@suse.de>
- define repositories to use for installing packages within OBS
-------------------------------------------------------------------
Wed Oct 24 09:30:25 UTC 2018 - Fabian Vogt <fvogt@suse.com>
- Use "latest" as tag, "current" does not apply to the new release
workflow
-------------------------------------------------------------------
Mon Jul 23 08:02:34 UTC 2018 - fvogt@suse.com
- Remove stray '#' (boo#1102145)
-------------------------------------------------------------------
Thu Jun 21 11:53:15 UTC 2018 - fvogt@suse.com
- Remove zypp UUID (bsc#1098535)
-------------------------------------------------------------------
Wed Jun 6 15:12:42 UTC 2018 - fvogt@suse.com
- Use _multibuild to build both docker-compatible and lxc-compatible
images
-------------------------------------------------------------------
Thu Mar 22 13:18:28 UTC 2018 - fvogt@suse.com
- Use live-add-yast-repos
-------------------------------------------------------------------
Fri Mar 16 14:24:53 UTC 2018 - fvogt@suse.com
- Decouple from git
- Remove iputils (bsc#1085664)
- Set myself as maintainer
-------------------------------------------------------------------
Thu Feb 22 08:51:42 UTC 2018 - containers@suse.com
- Update to version 1519137101.bf29ee4:
* Rename the openSUSE Tumbleweed image
* Use opensuse/tumbleweed instead of opensuse:tumbleweed
* Use openSUSE-release-ftp instead of -mini, the latter is not in the repo
* TW: Clean up config.sh
* Follow the naming convention used in Kubic images (#96)
* Removing 'docker' references from sources (#95)
* Cleanup kiwi description file and config.sh (#93)
* Missing semi-colons
* Add missing semi-colons (#80)
* Update repositories management and remove Leap 42.1 (#79)
-------------------------------------------------------------------
Tue Feb 06 15:50:40 UTC 2018 - containers@suse.com
- Update to version 1517932213.43160c7:
* Follow the naming convention used in Kubic images (#96)
-------------------------------------------------------------------
Tue Feb 06 15:34:07 UTC 2018 - containers@suse.com
- Update to version 1517931143.2a0dc8a:
* Removing 'docker' references from sources (#95)
-------------------------------------------------------------------
Tue Feb 06 15:09:37 UTC 2018 - containers@suse.com
- Update to version 1517505535.daff6ca:
* Cleanup kiwi description file and config.sh (#93)
* Missing semi-colons
* Add missing semi-colons (#80)
* Update repositories management and remove Leap 42.1 (#79)
* Uncompress all root.tar.gz files
* Update author and contact email in the KIWI file
* Update root overlay tarball compression format
* Update old KIWI files to the current KIWI-NG
* Include krb5 package
* Fixed case of Tumbleweed release name

69
base-image.kiwi Normal file
View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- SPDX-License-Identifier: MIT -->
<!-- OBS-AddTag: alp/bci/bci-base:%OS_VERSION_ID_SP% alp/bci/bci-base:%OS_VERSION_ID_SP%.%RELEASE% alp/bci/bci-base:latest -->
<!-- OBS-Imagerepo: obsrepositories:/ -->
<image schemaversion="6.5" name="base-image" xmlns:suse_label_helper="com.suse.label_helper">
<description type="system">
<author>SUSE LLC</author>
<contact>https://www.suse.com/</contact>
<specification>Basalt Project BCI Base Container Image</specification>
</description>
<preferences>
<type image="docker">
<containerconfig
name="alp/bci/bci-base"
tag="%OS_VERSION_ID_SP%"
maintainer="SUSE LLC (https://www.suse.com/)"
additionaltags="%OS_VERSION_ID_SP%.%RELEASE%,latest">
<labels>
<suse_label_helper:add_prefix prefix="com.suse.basalt.bci.base">
<label name="org.opencontainers.image.title" value="Basalt Project BCI Base"/>
<label name="org.opencontainers.image.description" value="Base container based on the SUSE Adaptable Linux Platform (ALP)."/>
<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="SUSE LLC"/>
<label name="org.opencontainers.image.source" value="%SOURCEURL%"/>
<label name="org.opencontainers.image.url" value="https://susealp.io/"/>
<label name="org.opensuse.reference" value="registry.suse.com/alp/bci/bci-base:%OS_VERSION_ID_SP%.%RELEASE%"/>
<label name="org.openbuildservice.disturl" value="%DISTURL%"/>
<label name="com.suse.supportlevel" value="techpreview"/>
<label name="com.suse.image-type" value="sle-bci"/>
<label name="com.suse.eula" value="sle-bci"/>
<label name="com.suse.release-stage" value="beta"/>
<label name="com.suse.lifecycle-url" value="https://www.suse.com/lifecycle"/>
</suse_label_helper:add_prefix>
</labels>
</containerconfig>
</type>
<version>2023</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="bootstrap">
<package name="aaa_base"/>
<package name="bash"/>
<package name="ca-certificates"/>
<package name="ca-certificates-mozilla"/>
<package name="coreutils"/>
<package name="cracklib-dict-small"/>
<package name="curl"/>
<package name="filesystem"/>
<package name="glibc-locale-base"/>
<package name="gzip"/>
<package name="netcfg"/>
<package name="ALP-dummy-release"/>
<package name="openssl"/>
<package name="suse-build-key"/>
<package name="tar"/>
<package name="timezone"/>
<package name="zypper"/>
<package name="findutils"/>
</packages>
</image>

74
config.sh Normal file
View File

@ -0,0 +1,74 @@
#!/bin/bash
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: (c) 2022-2023 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
echo "Configure image: [$kiwi_iname]..."
# FIXME: stop hardcoding the url, use some external mechanism once available
zypper ar 'https://updates.suse.com/SUSE/Products/ALP-Micro/1.0/$basearch/product/' alp-micro
#======================================
# Disable recommends
#--------------------------------------
sed -i 's/.*solver.onlyRequires.*/solver.onlyRequires = true/g' /etc/zypp/zypp.conf
#======================================
# Exclude docs intallation
#--------------------------------------
sed -i 's/.*rpm.install.excludedocs.*/rpm.install.excludedocs = yes/g' /etc/zypp/zypp.conf
#======================================
# Remove locale files
#--------------------------------------
shopt -s globstar
rm -f /usr/share/locale/**/*.mo
# Remove zypp uuid (bsc#1098535)
rm -f /var/lib/zypp/AnonymousUniqueId
# Remove various log files. While it's possible to just rm -rf /var/log/*, that
# would also remove some package owned directories (not %ghost) and some files
# are actually wanted, like lastlog in the !docker case.
# For those wondering about YaST2 here: Kiwi writes /etc/hosts, so the version
# from the netcfg package ends up as /etc/hosts.rpmnew, which zypper writes a
# letter about to /var/log/YaST2/config_diff_2022_03_06.log. Kiwi fixes this,
# but the log file remains.
rm -rf /var/log/{zypper.log,zypp/history,YaST2}
# Remove the entire zypper cache content (not the dir itself, owned by libzypp)
rm -rf /var/cache/zypp/*
# Assign a fixed architecture in zypp.conf, to use the container's arch even if
# the host arch differs (e.g. docker with --platform doesn't affect uname)
arch=$(rpm -q --qf %{arch} glibc)
if [ "$arch" = "i586" ] || [ "$arch" = "i686" ]; then
sed -i "s/^# arch =.*\$/arch = i686/" /etc/zypp/zypp.conf
# Verify that it's applied
grep -q '^arch =' /etc/zypp/zypp.conf
fi
#=======================================
# Clean up after zypper if it is present
#---------------------------------------
if command -v zypper > /dev/null; then
zypper -n clean
fi
rm -rf /var/log/zypp
exit 0