From 8959352a041ebd843646aa4351b2879792eb938b Mon Sep 17 00:00:00 2001 From: Owen-sz Date: Sat, 16 May 2026 02:15:34 -0500 Subject: [PATCH 1/2] add: shades release identities Signed-off-by: Owen-sz --- ultramarine/release/ultramarine-release.spec | 213 ++++++++++++++++++- 1 file changed, 211 insertions(+), 2 deletions(-) diff --git a/ultramarine/release/ultramarine-release.spec b/ultramarine/release/ultramarine-release.spec index d4510ca..fa12cb3 100644 --- a/ultramarine/release/ultramarine-release.spec +++ b/ultramarine/release/ultramarine-release.spec @@ -19,26 +19,45 @@ %define doc_version f%{dist_version} %endif +## Basic ## + %bcond_without basic + +## Editions ## + %bcond_without budgie %bcond_without plasma %bcond_without gnome %bcond_without xfce + +## Atomic Editions ## + %bcond_without atomic_budgie %bcond_without atomic_plasma %bcond_without atomic_gnome %bcond_without atomic_xfce + +## Anywhere ## + %bcond_without chromebook %bcond_without raspberry_pi %bcond_without wsl %bcond_without container +# No aarch64 Surface images %ifarch x86_64 %bcond_without surface %else %bcond_with surface %endif -%if %{with budgie} || %{with plasma} || %{with gnome} || %{with xfce} || %{with atomic_budgie} || %{with atomic_plasma} || %{with atomic_gnome} || %{with atomic_xfce} +## Shades ## + +%bcond_without shades-nothing +%bcond_without shades-sway +%bcond_without shades-niri +%bcond_without shades-cinnamon + +%if %{with budgie} || %{with plasma} || %{with gnome} || %{with xfce} || %{with atomic_budgie} || %{with atomic_plasma} || %{with atomic_gnome} || %{with atomic_xfce} || %{with shades-nothing} || %{with shades-sway} || %{with shades-niri} || %{with shades-cinnamon} %global with_desktop 1 %endif @@ -141,7 +160,7 @@ Requires: ultramarine-release-variant = %{version} Requires: ultramarine-repos(%{version}) Requires: ultramarine-release-identity = %{version}-%{release} Recommends: fastfetch -Recommends: golang-github-ultramarine-linux-um +Recommends: umcli Recommends: ultramarine-release-identity-basic Conflicts: generic-release Conflicts: fedora-release @@ -612,6 +631,121 @@ Provides the necessary files for an Ultramarine installation that is identifying itself as the Ultramarine Container Base Image. %endif +###################################################################### +#### Shades +###################################################################### + +####### Generic (Basic) ####### + +###################################################################### +####### Nothing ####### + +%if %{with nothing} + +%package nothing +Summary: Base package for Ultramarine nothing-specific default configurations +# I don't think we need this? +%dnl RemovePathPostfixes: .nothing +Provides: ultramarine-release = %{version}-%{release} +Provides: ultramarine-release-nothing = %{version}-%{release} +Provides: ultramarine-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Provides: base-module(platform:f%{version}) +Requires: ultramarine-release-common = %{version}-%{release} +Requires: ultramarine-release-desktop = %{version}-%{release} +Provides: system-release-product +# ultramarine-release-common Requires: ultramarine-release-identity, so at least one +# package must provide it. This Recommends: pulls in +# ultramarine-release-identity-cinnamon if nothing else is already doing so. +Recommends: ultramarine-release-identity-nothing +# pull in slick greeter for people upgrading +%dnl Recommends: slick-greeter + +%description nothing +Provides a base package for Ultramarine Nothing Shade configurations. + +###################################################################### +####### Sway ####### + +%if %{with sway} + +%package sway +Summary: Base package for Ultramarine sway-specific default configurations +RemovePathPostfixes: .sway +Provides: ultramarine-release = %{version}-%{release} +Provides: ultramarine-release-sway = %{version}-%{release} +Provides: ultramarine-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Provides: base-module(platform:f%{version}) +Requires: ultramarine-release-common = %{version}-%{release} +Requires: ultramarine-release-desktop = %{version}-%{release} +Provides: system-release-product +# ultramarine-release-common Requires: ultramarine-release-identity, so at least one +# package must provide it. This Recommends: pulls in +# ultramarine-release-identity-cinnamon if nothing else is already doing so. +Recommends: ultramarine-release-identity-sway +# pull in slick greeter for people upgrading +Recommends: slick-greeter + +%description sway +Provides a base package for Ultramarine Sway Shade configurations. + +###################################################################### +####### Niri ####### + +%if %{with niri} + +%package niri +Summary: Base package for Ultramarine Niri-specific default configurations +RemovePathPostfixes: .niri +Provides: ultramarine-release = %{version}-%{release} +Provides: ultramarine-release-niri = %{version}-%{release} +Provides: ultramarine-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Provides: base-module(platform:f%{version}) +Requires: ultramarine-release-common = %{version}-%{release} +Requires: ultramarine-release-desktop = %{version}-%{release} +Provides: system-release-product +# ultramarine-release-common Requires: ultramarine-release-identity, so at least one +# package must provide it. This Recommends: pulls in +# ultramarine-release-identity-cinnamon if nothing else is already doing so. +Recommends: ultramarine-release-identity-niri +# pull in slick greeter for people upgrading +Recommends: slick-greeter + +%description niri +Provides a base package for Ultramarine Niri configurations. + +###################################################################### +####### Cinnamon ####### + +%if %{with Cinnamon} + +%package cinnamon +Summary: Base package for Ultramarine cinnamon-specific default configurations +RemovePathPostfixes: .cinnamon +Provides: ultramarine-release = %{version}-%{release} +Provides: ultramarine-release-cinnamon = %{version}-%{release} +Provides: ultramarine-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Provides: base-module(platform:f%{version}) +Requires: ultramarine-release-common = %{version}-%{release} +Requires: ultramarine-release-desktop = %{version}-%{release} +Provides: system-release-product +# ultramarine-release-common Requires: ultramarine-release-identity, so at least one +# package must provide it. This Recommends: pulls in +# ultramarine-release-identity-cinnamon if nothing else is already doing so. +Recommends: ultramarine-release-identity-cinnamon +# pull in slick greeter for people upgrading +Recommends: slick-greeter + +%description cinnamon +Provides a base package for Ultramarine Cinnamon Shade configurations. + ###################################################################### #### Accessory packages ###################################################################### @@ -914,6 +1048,48 @@ VERSION_CODENAME="%fedora_codename" PRETTY_NAME="Fedora Linux %dist_version (%fedora_codename)" EOF +## Shades ## + +%if %{with nothing} +# Nothing +cp -p os-release \ + %{buildroot}%{_prefix}/lib/os-release.nothing +echo "VARIANT=\"Nothing Shade\"" >> %{buildroot}%{_prefix}/lib/os-release.nothing +echo "VARIANT_ID=nothing" >> %{buildroot}%{_prefix}/lib/os-release.nothing +sed -i -e "s|(%{release_name}%{?prerelease})|(Nothing Shade%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.nothing +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/nothing/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.nothing +%endif + +%if %{with sway} +# Sway +cp -p os-release \ + %{buildroot}%{_prefix}/lib/os-release.sway +echo "VARIANT=\"Sway Shade\"" >> %{buildroot}%{_prefix}/lib/os-release.sway +echo "VARIANT_ID=sway" >> %{buildroot}%{_prefix}/lib/os-release.sway +sed -i -e "s|(%{release_name}%{?prerelease})|(Sway Shade%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.sway +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/sway/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.sway +%endif + +%if %{with niri} +# Niri +cp -p os-release \ + %{buildroot}%{_prefix}/lib/os-release.niri +echo "VARIANT=\"Niri Shade\"" >> %{buildroot}%{_prefix}/lib/os-release.niri +echo "VARIANT_ID=niri" >> %{buildroot}%{_prefix}/lib/os-release.niri +sed -i -e "s|(%{release_name}%{?prerelease})|(Niri Shade%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.niri +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/niri/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.niri +%endif + +%if %{with cinnamon} +# Cinnamon +cp -p os-release \ + %{buildroot}%{_prefix}/lib/os-release.cinnamon +echo "VARIANT=\"Cinnamon Shade\"" >> %{buildroot}%{_prefix}/lib/os-release.cinnamon +echo "VARIANT_ID=cinnamon" >> %{buildroot}%{_prefix}/lib/os-release.cinnamon +sed -i -e "s|(%{release_name}%{?prerelease})|(Cinnamon Shade%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.cinnamon +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/cinnamon/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.cinnamon +%endif + ########################## # Create custom Anaconda config @@ -1224,6 +1400,39 @@ ln -sf firewalld-workstation.conf %{_sysconfdir}/firewalld/firewalld.conf %{_prefix}/lib/systemd/system-preset/81-desktop.preset %endif +## Shades ## + +%if %{with nothing} +%files nothing +%files identity-nothing +%{_prefix}/lib/os-release.nothing +%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.nothing +%endif + +%if %{with sway} +%files sway +%files identity-sway +%{_prefix}/lib/os-release.sway +%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.sway +%endif + +%if %{with niri} +%files niri +%files identity-niri +%{_prefix}/lib/os-release.niri +%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.niri +%endif + +%if %{with cinnamon} +%files cinnamon +%files identity-cinnamon +%{_prefix}/lib/os-release.cinnamon +%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.cinnamon + +%endif + +######## + %if %{with chromebook} %files chromebook %{_prefix}/lib/systemd/system-preset/88-ultramarine-chromebook-default.preset From a302330ca7816569dbec2588f45f87f6792bad33 Mon Sep 17 00:00:00 2001 From: Owen-sz Date: Sat, 16 May 2026 02:19:04 -0500 Subject: [PATCH 2/2] close %ifs Signed-off-by: Owen-sz --- ultramarine/release/ultramarine-release.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ultramarine/release/ultramarine-release.spec b/ultramarine/release/ultramarine-release.spec index fa12cb3..f51bc3b 100644 --- a/ultramarine/release/ultramarine-release.spec +++ b/ultramarine/release/ultramarine-release.spec @@ -664,6 +664,7 @@ Recommends: ultramarine-release-identity-nothing %description nothing Provides a base package for Ultramarine Nothing Shade configurations. +%endif ###################################################################### ####### Sway ####### @@ -691,6 +692,7 @@ Recommends: slick-greeter %description sway Provides a base package for Ultramarine Sway Shade configurations. +%endif ###################################################################### ####### Niri ####### @@ -718,6 +720,7 @@ Recommends: slick-greeter %description niri Provides a base package for Ultramarine Niri configurations. +%endif ###################################################################### ####### Cinnamon ####### @@ -745,6 +748,7 @@ Recommends: slick-greeter %description cinnamon Provides a base package for Ultramarine Cinnamon Shade configurations. +%endif ###################################################################### #### Accessory packages