From 3ded21604503e6710565da32fbbc821e3a491c52 Mon Sep 17 00:00:00 2001 From: Gilver Date: Mon, 2 Mar 2026 01:05:45 -0600 Subject: [PATCH] feat(ultramarine-release): Add container variant (#295) * feat(ultramarine-release): Add container variant * fix: Swidtag URL * fix: Swidtag files (cherry picked from commit c029ad70d781124f33a3c362351bbf63821a5284) Signed-off-by: GildedRoach --- ultramarine/release/CHANGELOG | 2 + ultramarine/release/ultramarine-release.spec | 53 +++++++++++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/ultramarine/release/CHANGELOG b/ultramarine/release/CHANGELOG index 814f669f..dff66ed5 100644 --- a/ultramarine/release/CHANGELOG +++ b/ultramarine/release/CHANGELOG @@ -1,2 +1,4 @@ +* Mon March 2 2026 Gilver E. +- Add container variant * Wed May 18 2022 Cappy Ishihara - Updated READMEs and alot of documentation things diff --git a/ultramarine/release/ultramarine-release.spec b/ultramarine/release/ultramarine-release.spec index 67370d62..74f0b4d5 100644 --- a/ultramarine/release/ultramarine-release.spec +++ b/ultramarine/release/ultramarine-release.spec @@ -31,6 +31,7 @@ %bcond_without chromebook %bcond_without raspberry_pi %bcond_without wsl +%bcond_without container %ifarch x86_64 %bcond_without surface %else @@ -52,7 +53,7 @@ Summary: Ultramarine Linux release files Name: ultramarine-release Version: %{dist_version} -Release: 21%{?dist} +Release: 22%{?dist} License: MIT Source0: LICENSE URL: https://ultramarine-linux.org @@ -570,6 +571,39 @@ Provides the necessary files for a Ultramarine WSL installation. %endif +%if %{with container} +%package container +Summary: Base package for Ultramarine container specific default configurations + +RemovePathPostfixes: .container +Provides: ultramarine-release = %{version}-%{release} +Provides: ultramarine-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: ultramarine-release-common = %{version}-%{release} + +Recommends: ultramarine-release-identity-container + + +%description container +Provides a base package for Ultramarine container specific configuration files to +depend on as well as container system defaults. + + +%package identity-container +Summary: Package providing the identity for Ultramarine Container Base Image + +RemovePathPostfixes: .container +Provides: ultramarine-release-identity = %{version}-%{release} +Conflicts: ultramarine-release-identity +Requires(meta): ultramarine-release-container = %{version}-%{release} + + +%description identity-container +Provides the necessary files for an Ultramarine installation that is identifying +itself as the Ultramarine Container Base Image. +%endif + ###################################################################### #### Accessory packages ###################################################################### @@ -843,6 +877,16 @@ sed -i -e "s|(%{release_name}%{?prerelease})|(WSL Edition%{?prerelease})|g" %{bu sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/WSL/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.wsl %endif +%if %{with container} +# Container +cp -p os-release \ + %{buildroot}%{_prefix}/lib/os-release.container +echo "VARIANT=\"Container Image\"" >> %{buildroot}%{_prefix}/lib/os-release.container +echo "VARIANT_ID=container" >> %{buildroot}%{_prefix}/lib/os-release.container +sed -i -e "s|(%{release_name}%{?prerelease})|(Container Image%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.container +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Container/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.container +%endif + # Create copr config file so COPR doesnt flip out and assume EPEL # I created a PR to support this months ago, but completely forgot about it # to the point that risiOS managed to beat us to it - Cappy @@ -1152,6 +1196,13 @@ install -Dm0644 %{SOURCE32} -t %{buildroot}%{_datadir}/polkit-1/rules.d/ %attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.wsl %endif +%if %{with container} +%files container +%files identity-container +%{_prefix}/lib/os-release.container +%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.container +%endif + %if %{with desktop} %files desktop %{_prefix}/lib/systemd/system-preset/81-desktop.preset