public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Stephen Gallagher <sgallagh@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/fedora-release] f45: Support installing Edition env groups
Date: Mon, 10 Aug 2026 09:35:09 GMT [thread overview]
Message-ID: <178635450980.1.7316487055846430397.rpms-fedora-release-6be4dd974eb4@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/fedora-release
Branch : f45
Commit : 6be4dd974eb4eba7e8233360a6354701fd153179
Author : Stephen Gallagher <sgallagh@redhat.com>
Date : 2020-04-29T15:49:43+00:00
Stats : +290/-23 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/fedora-release/c/6be4dd974eb4eba7e8233360a6354701fd153179?branch=f45
Log:
Support installing Edition env groups
Add new "identity" subpackages to handle the actual creation of
os-release, SWID tags and similar metadata for identifying a
particular Spin or Edition in Fedora.
Resolves: rhbz#1813482
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
---
diff --git a/.gitignore b/.gitignore
index e69de29..b9c6347 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,7 @@
+.build*.log
+fedora-release-*/*
+*~
+*.swp
+*.src.rpm
+noarch/*
+licenses/*
diff --git a/fedora-release.spec b/fedora-release.spec
index 3cd3a2e..a253355 100644
--- a/fedora-release.spec
+++ b/fedora-release.spec
@@ -14,7 +14,7 @@
Summary: Fedora release files
Name: fedora-release
Version: 33
-Release: 0.6
+Release: 0.7
License: MIT
URL: https://fedoraproject.org/
@@ -41,15 +41,17 @@ BuildArch: noarch
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
-# We need to Provides: and Conflicts: system release here and in each
-# of the fedora-release-$VARIANT subpackages to ensure that only one
-# may be installed on the system at a time.
-Conflicts: system-release
Provides: system-release
Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-basic if nothing else is already doing so.
+Recommends: fedora-release-identity-basic
+
+
BuildRequires: redhat-rpm-config > 121-1
%description
@@ -67,15 +69,33 @@ Suggests: fedora-release
Obsoletes: redhat-release
Provides: redhat-release
Requires: fedora-repos(%{version})
+Requires: fedora-release-identity = %{version}-%{release}
+
+# Fedora ships a generic-release package to make the creation of Remixes
+# easier, but it cannot coexist with the fedora-release[-*] packages, so we
+# will explicitly conflict with it.
+Conflicts: generic-release
%description common
Release files common to all Editions and Spins of Fedora
+
+%package identity-basic
+Summary: Package providing the basic Fedora identity
+
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-basic
+Provides the necessary files for a Fedora installation that is not identifying
+itself as a particular Edition or Spin.
+
+
%package cinnamon
Summary: Base package for Fedora Cinnamon-specific default configurations
RemovePathPostfixes: .cinnamon
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -83,17 +103,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-cinnamon if nothing else is already doing so.
+Recommends: fedora-release-identity-cinnamon
+
%description cinnamon
Provides a base package for Fedora Cinnamon-specific configuration files to
depend on as well as Cinnamon system defaults.
+%package identity-cinnamon
+Summary: Package providing the identity for Fedora Cinnamon Spin
+
+RemovePathPostfixes: .cinnamon
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-cinnamon
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora Cinnamon.
+
+
%package cloud
Summary: Base package for Fedora Cloud-specific default configurations
RemovePathPostfixes: .cloud
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -101,17 +138,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-cloud if nothing else is already doing so.
+Recommends: fedora-release-identity-cloud
+
%description cloud
Provides a base package for Fedora Cloud-specific configuration files to
depend on.
+%package identity-cloud
+Summary: Package providing the identity for Fedora Cloud Edition
+
+RemovePathPostfixes: .cloud
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-cloud
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora Cloud Edition.
+
+
%package container
Summary: Base package for Fedora container specific default configurations
RemovePathPostfixes: .container
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -119,17 +173,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-container if nothing else is already doing so.
+Recommends: fedora-release-identity-container
+
%description container
Provides a base package for Fedora container specific configuration files to
depend on as well as container system defaults.
+%package identity-container
+Summary: Package providing the identity for Fedora Container Base Image
+
+RemovePathPostfixes: .container
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-container
+Provides the necessary files for a Fedora installation that is identifying
+itself as the Fedora Container Base Image.
+
+
%package coreos
Summary: Base package for Fedora CoreOS-specific default configurations
RemovePathPostfixes: .coreos
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -137,17 +208,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-coreos if nothing else is already doing so.
+Recommends: fedora-release-identity-coreos
+
%description coreos
Provides a base package for Fedora CoreOS Host-specific configuration files to
depend.
+%package identity-coreos
+Summary: Package providing the identity for Fedora CoreOS
+
+RemovePathPostfixes: .coreos
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-coreos
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora CoreOS.
+
+
%package iot
Summary: Base package for Fedora IoT specific default configurations
RemovePathPostfixes: .iot
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -155,17 +243,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-iot if nothing else is already doing so.
+Recommends: fedora-release-identity-iot
+
%description iot
Provides a base package for Fedora IoT specific configuration files to
depend on as well as IoT system defaults.
+%package identity-iot
+Summary: Package providing the identity for Fedora IoT Edition
+
+RemovePathPostfixes: .iot
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-iot
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora IoT Edition.
+
+
%package kde
Summary: Base package for Fedora KDE Plasma-specific default configurations
RemovePathPostfixes: .kde
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -173,17 +278,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-kde if nothing else is already doing so.
+Recommends: fedora-release-identity-kde
+
%description kde
Provides a base package for Fedora KDE Plasma-specific configuration files to
depend on as well as KDE Plasma system defaults.
+%package identity-kde
+Summary: Package providing the identity for Fedora KDE Plasma Spin
+
+RemovePathPostfixes: .kde
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-kde
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora KDE Plasma Spin.
+
+
%package matecompiz
Summary: Base package for Fedora MATE-Compiz-specific default configurations
RemovePathPostfixes: .matecompiz
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -191,17 +313,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-matecompiz if nothing else is already doing so.
+Recommends: fedora-release-identity-matecompiz
+
%description matecompiz
Provides a base package for Fedora MATE-compiz-specific configuration files to
depend on as well as MATE-Compiz system defaults.
+%package identity-matecompiz
+Summary: Package providing the identity for Fedora MATE-Compiz Spin
+
+RemovePathPostfixes: .matecompiz
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-matecompiz
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora MATE-Compiz.
+
+
%package server
Summary: Base package for Fedora Server-specific default configurations
RemovePathPostfixes: .server
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -209,17 +348,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-server if nothing else is already doing so.
+Recommends: fedora-release-identity-server
+
%description server
Provides a base package for Fedora Server-specific configuration files to
depend on.
+%package identity-server
+Summary: Package providing the identity for Fedora Server Edition
+
+RemovePathPostfixes: .server
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-server
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora Server Edition.
+
+
%package silverblue
Summary: Base package for Fedora Silverblue-specific default configurations
RemovePathPostfixes: .silverblue
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -227,17 +383,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-silverblue if nothing else is already doing so.
+Recommends: fedora-release-identity-silverblue
+
%description silverblue
Provides a base package for Fedora Silverblue-specific configuration files to
depend on as well as Silverblue system defaults.
+%package identity-silverblue
+Summary: Package providing the identity for Fedora Silverblue
+
+RemovePathPostfixes: .silverblue
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-silverblue
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora Silverblue.
+
+
%package snappy
Summary: Base package for Fedora snap specific default configurations
RemovePathPostfixes: .snappy
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -245,17 +418,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-snappy if nothing else is already doing so.
+Recommends: fedora-release-identity-snappy
+
%description snappy
Provides a base package for Fedora snap specific configuration files to
depend on as well as Snappy system defaults.
+%package identity-snappy
+Summary: Package providing the identity for Fedora Snappy environments
+
+RemovePathPostfixes: .snappy
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-snappy
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora's snappy environment.
+
+
%package soas
Summary: Base package for Fedora Sugar on a Stick-specific default configurations
RemovePathPostfixes: .soas
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -263,17 +453,34 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-soas if nothing else is already doing so.
+Recommends: fedora-release-identity-soas
+
%description soas
Provides a base package for Fedora Sugar on a Stick-specific configuration files to
depend on as well as SoaS system defaults.
+%package identity-soas
+Summary: Package providing the identity for Fedora Sugar on a Stick
+
+RemovePathPostfixes: .soas
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-soas
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora Sugar on a Stick.
+
+
%package workstation
Summary: Base package for Fedora Workstation-specific default configurations
RemovePathPostfixes: .workstation
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -282,17 +489,34 @@ Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
Provides: system-release-product
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-workstation if nothing else is already doing so.
+Recommends: fedora-release-identity-workstation
+
%description workstation
Provides a base package for Fedora Workstation-specific configuration files to
depend on.
+%package identity-workstation
+Summary: Package providing the identity for Fedora Workstation Edition
+
+RemovePathPostfixes: .workstation
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-workstation
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora Workstation Edition.
+
+
%package xfce
Summary: Base package for Fedora Xfce specific default configurations
RemovePathPostfixes: .xfce
-Conflicts: system-release
Provides: fedora-release = %{version}-%{release}
Provides: fedora-release-variant = %{version}-%{release}
Provides: system-release
@@ -300,12 +524,30 @@ Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: fedora-release-common = %{version}-%{release}
+# fedora-release-common Requires: fedora-release-identity, so at least one
+# package must provide it. This Recommends: pulls in
+# fedora-release-identity-xfce if nothing else is already doing so.
+Recommends: fedora-release-identity-xfce
+
%description xfce
Provides a base package for Fedora Xfce specific configuration files to
depend on as well as Xfce system defaults.
+%package identity-xfce
+Summary: Package providing the identity for Fedora Xfce Spin
+
+RemovePathPostfixes: .xfce
+Provides: fedora-release-identity = %{version}-%{release}
+Conflicts: fedora-release-identity
+
+
+%description identity-xfce
+Provides the necessary files for a Fedora installation that is identifying
+itself as Fedora Xfce.
+
+
%prep
sed -i 's|@@VERSION@@|%{dist_version}|g' %{SOURCE2}
@@ -565,31 +807,37 @@ ln -s %{_swidtagdir} %{buildroot}%{_sysconfdir}/swid/swidtags.d/fedoraproject.or
%files
+%files identity-basic
%{_prefix}/lib/os-release
-%files cloud
-%{_prefix}/lib/os-release.cloud
-%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.cloud
-
-
%files cinnamon
+%files identity-cinnamon
%{_prefix}/lib/os-release.cinnamon
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.cinnamon
+%files cloud
+%files identity-cloud
+%{_prefix}/lib/os-release.cloud
+%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.cloud
+
+
%files container
+%files identity-container
%{_prefix}/lib/os-release.container
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.container
%files coreos
+%files identity-coreos
%{_prefix}/lib/systemd/system-preset/80-coreos.preset
%{_prefix}/lib/os-release.coreos
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.coreos
%files iot
+%files identity-iot
%{_prefix}/lib/os-release.iot
%{_prefix}/lib/systemd/system-preset/80-iot.preset
%{_prefix}/lib/systemd/user-preset/80-iot-user.preset
@@ -598,22 +846,26 @@ ln -s %{_swidtagdir} %{buildroot}%{_sysconfdir}/swid/swidtags.d/fedoraproject.or
%files kde
+%files identity-kde
%{_prefix}/lib/os-release.kde
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.kde
%files matecompiz
+%files identity-matecompiz
%{_prefix}/lib/os-release.matecompiz
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.matecompiz
%files server
+%files identity-server
%{_prefix}/lib/os-release.server
%{_prefix}/lib/systemd/system-preset/80-server.preset
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.server
%files silverblue
+%files identity-silverblue
%{_prefix}/lib/os-release.silverblue
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.silverblue
# Keep this in sync with workstation below
@@ -622,16 +874,19 @@ ln -s %{_swidtagdir} %{buildroot}%{_sysconfdir}/swid/swidtags.d/fedoraproject.or
%attr(0644,root,root) %{_prefix}/share/polkit-1/rules.d/org.projectatomic.rpmostree1.rules
%files snappy
+%files identity-snappy
%{_prefix}/lib/os-release.snappy
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.snappy
%files soas
+%files identity-soas
%{_prefix}/lib/os-release.soas
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.soas
%files workstation
+%files identity-workstation
%{_prefix}/lib/os-release.workstation
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.workstation
# Keep this in sync with silverblue above
@@ -641,11 +896,16 @@ ln -s %{_swidtagdir} %{buildroot}%{_sysconfdir}/swid/swidtags.d/fedoraproject.or
%files xfce
+%files identity-xfce
%{_prefix}/lib/os-release.xfce
%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.xfce
%changelog
+* Tue Apr 21 2020 Stephen Gallagher <sgallagh@redhat.com> - 33-0.7
+- Add new "identity" subpackages to allow Edition and Spin environment groups
+ to be installed together.
+
* Mon Apr 20 2020 Stephen Gallagher <sgallagh@redhat.com> - 33-0.6
- Add "Prerelease" notation to PRETTY_NAME and VERSION in os-release
reply other threads:[~2026-08-10 9:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178635450980.1.7316487055846430397.rpms-fedora-release-6be4dd974eb4@fedoraproject.org \
--to=sgallagh@redhat.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox