public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/fedora-release] f45: Add edition supplemental SWID tag, and convert-to-edition.lua logic.
@ 2026-08-10  9:34 Jan Pazdziora
  0 siblings, 0 replies; only message in thread
From: Jan Pazdziora @ 2026-08-10  9:34 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/fedora-release
            Branch : f45
            Commit : daef2fcdca46433b0d02fdc92522cf281da15be0
            Author : Jan Pazdziora <jpazdziora@redhat.com>
            Date   : 2018-10-18T16:17:50+02:00
            Stats  : +72/-1 in 3 file(s)
            URL    : https://src.fedoraproject.org/rpms/fedora-release/c/daef2fcdca46433b0d02fdc92522cf281da15be0?branch=f45

            Log:
            Add edition supplemental SWID tag, and convert-to-edition.lua logic.

Signed-off-by: Jan Pazdziora <jpazdziora@redhat.com>

---
diff --git a/convert-to-edition.lua b/convert-to-edition.lua
index 99633a2..0ad7b09 100644
--- a/convert-to-edition.lua
+++ b/convert-to-edition.lua
@@ -100,6 +100,14 @@ local function set_release(release)
   symlink("./os.release.d/os-release-" .. release, "/usr/lib/os-release")
 end
 
+local function set_edition_swidtag(release)
+  symlink("/usr/lib/os.release.d/Fedora-" .. release .. ".swidtag", "%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag")
+end
+
+local function unset_edition_swidtag()
+  os.remove("%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag")
+end
+
 -- release: the VARIANT_ID for os-release
 -- presets: whether this edition has extra presets beyond the
 --          defaults to enable or disable
@@ -152,6 +160,13 @@ local function convert_to_edition(edition, apply_presets)
     error("undefined edition: " .. edition)
   end
   set_release(variant.release)
+
+  -- Symlink the correct edition .swidtag for anything but nonproduct
+  if edition == "nonproduct" then
+    unset_edition_swidtag()
+  else
+    set_edition_swidtag(variant.release)
+  end
   clear_presets()
 
   set_presets(edition, apply_presets)

diff --git a/distro-edition-template.swidtag b/distro-edition-template.swidtag
new file mode 100644
index 0000000..8d58d67
--- /dev/null
+++ b/distro-edition-template.swidtag
@@ -0,0 +1,24 @@
+<!-- When changing this file, bump up the @tagVersion value. -->
+<?xml version="1.0" encoding="utf-8"?>
+<SoftwareIdentity
+  xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://standards.iso.org/iso/19770/-2/2015/schema.xsd http://standards.iso.org/iso/19770/-2/2015-current/schema.xsd"
+  xml:lang="en-US"
+  tagId="org.fedoraproject.Fedora-$version-$edition"
+  tagVersion="1"
+  name="Fedora"
+  version="$version"
+  versionScheme="unknown">
+  <Entity
+    name="Fedora Project"
+    regid="fedoraproject.org"
+    role="tagCreator softwareCreator" />
+  <Meta
+    product="Fedora"
+    colloquialVersion="$version"
+    edition="$edition" />
+  <Link
+    rel="supplemental"
+    href="swid:org.fedoraproject.Fedora-$version" />
+</SoftwareIdentity>

diff --git a/fedora-release.spec b/fedora-release.spec
index c2f5370..31e1dbb 100644
--- a/fedora-release.spec
+++ b/fedora-release.spec
@@ -14,7 +14,7 @@
 Summary:        Fedora release files
 Name:           fedora-release
 Version:        30
-Release:        0.10
+Release:        0.11
 License:        MIT
 URL:            https://fedoraproject.org/
 
@@ -32,6 +32,7 @@ Source16:       org.gnome.shell.gschema.override
 Source17:       org.projectatomic.rpmostree1.rules
 Source18:       80-iot.preset
 Source19:       distro-template.swidtag
+Source20:       distro-edition-template.swidtag
 
 Obsoletes:      redhat-release
 Obsoletes:      convert-to-edition < 30-0.7
@@ -255,6 +256,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"Atomic Host\"" >> %{buildroot}/usr/lib/os.release.d/os-release-atomichost
 echo "VARIANT_ID=atomic.host" >> %{buildroot}/usr/lib/os.release.d/os-release-atomichost
 sed -i -e "s|(%{release_name})|(Atomic Host)|g" %{buildroot}/usr/lib/os.release.d/os-release-atomichost
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Atomic/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-atomichost.swidtag
 
 # Cinnamon
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -262,6 +264,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"Cinnamon\"" >> %{buildroot}/usr/lib/os.release.d/os-release-cinnamon
 echo "VARIANT_ID=cinnamon" >> %{buildroot}/usr/lib/os.release.d/os-release-cinnamon
 sed -i -e "s|(%{release_name})|(Cinnamon)|g" %{buildroot}/usr/lib/os.release.d/os-release-cinnamon
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Cinnamon/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-cinnamon.swidtag
 
 # Cloud
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -269,6 +272,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"Cloud Edition\"" >> %{buildroot}/usr/lib/os.release.d/os-release-cloud
 echo "VARIANT_ID=cloud" >> %{buildroot}/usr/lib/os.release.d/os-release-cloud
 sed -i -e "s|(%{release_name})|(Cloud Edition)|g" %{buildroot}/usr/lib/os.release.d/os-release-cloud
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Cloud/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-cloud.swidtag
 
 # Container
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -276,6 +280,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"Container Image\"" >> %{buildroot}/usr/lib/os.release.d/os-release-container
 echo "VARIANT_ID=container" >> %{buildroot}/usr/lib/os.release.d/os-release-container
 sed -i -e "s|(%{release_name})|(Container Image)|g" %{buildroot}/usr/lib/os.release.d/os-release-container
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Container/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-container.swidtag
 
 # CoreOS
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -283,6 +288,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"CoreOS\"" >> %{buildroot}/usr/lib/os.release.d/os-release-coreos
 echo "VARIANT_ID=coreos" >> %{buildroot}/usr/lib/os.release.d/os-release-coreos
 sed -i -e "s|(%{release_name})|(CoreOS)|g" %{buildroot}/usr/lib/os.release.d/os-release-coreos
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/CoreOS/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-coreos.swidtag
 
 # IoT
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -290,6 +296,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"IoT Edition\"" >> %{buildroot}/usr/lib/os.release.d/os-release-iot
 echo "VARIANT_ID=iot" >> %{buildroot}/usr/lib/os.release.d/os-release-iot
 sed -i -e "s|(%{release_name})|(IoT Edition)|g" %{buildroot}/usr/lib/os.release.d/os-release-iot
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/IoT/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-iot.swidtag
 
 # KDE Plasma
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -297,6 +304,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"KDE Plasma\"" >> %{buildroot}/usr/lib/os.release.d/os-release-kde
 echo "VARIANT_ID=kde" >> %{buildroot}/usr/lib/os.release.d/os-release-kde
 sed -i -e "s|(%{release_name})|(KDE Plasma)|g" %{buildroot}/usr/lib/os.release.d/os-release-kde
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/KDE/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-kde.swidtag
 
 # MATE-Compiz
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -304,6 +312,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"MATE-Compiz\"" >> %{buildroot}/usr/lib/os.release.d/os-release-matecompiz
 echo "VARIANT_ID=matecompiz" >> %{buildroot}/usr/lib/os.release.d/os-release-matecompiz
 sed -i -e "s|(%{release_name})|(MATE-Compiz)|g" %{buildroot}/usr/lib/os.release.d/os-release-matecompiz
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/MATE-Compiz/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-matecompiz.swidtag
 
 # Server
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -311,6 +320,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"Server Edition\"" >> %{buildroot}/usr/lib/os.release.d/os-release-server
 echo "VARIANT_ID=server" >> %{buildroot}/usr/lib/os.release.d/os-release-server
 sed -i -e "s|(%{release_name})|(Server Edition)|g" %{buildroot}/usr/lib/os.release.d/os-release-server
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Server/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-server.swidtag
 
 # Silverblue
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -319,6 +329,7 @@ echo "VARIANT=\"Silverblue\"" >> %{buildroot}/usr/lib/os.release.d/os-release-si
 echo "VARIANT_ID=silverblue" >> %{buildroot}/usr/lib/os.release.d/os-release-silverblue
 sed -i -e "s|(%{release_name})|(Silverblue)|g" %{buildroot}/usr/lib/os.release.d/os-release-silverblue
 sed -i -e 's|DOCUMENTATION_URL=.*|DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora-silverblue/"|' %{buildroot}/usr/lib/os.release.d/os-release-silverblue
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Silverblue/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-silverblue.swidtag
 
 # Sugar on a Stick
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -326,6 +337,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"Sugar on a Stick\"" >> %{buildroot}/usr/lib/os.release.d/os-release-soas
 echo "VARIANT_ID=soas" >> %{buildroot}/usr/lib/os.release.d/os-release-soas
 sed -i -e "s|(%{release_name})|(Sugar on a Stick)|g" %{buildroot}/usr/lib/os.release.d/os-release-soas
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Sugar/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-soas.swidtag
 
 # Workstation
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -333,6 +345,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"Workstation Edition\"" >> %{buildroot}/usr/lib/os.release.d/os-release-workstation
 echo "VARIANT_ID=workstation" >> %{buildroot}/usr/lib/os.release.d/os-release-workstation
 sed -i -e "s|(%{release_name})|(Workstation Edition)|g" %{buildroot}/usr/lib/os.release.d/os-release-workstation
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Workstation/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-workstation.swidtag
 
 # Xfce
 cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -340,6 +353,7 @@ cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
 echo "VARIANT=\"Xfce\"" >> %{buildroot}/usr/lib/os.release.d/os-release-xfce
 echo "VARIANT_ID=xfce" >> %{buildroot}/usr/lib/os.release.d/os-release-xfce
 sed -i -e "s|(%{release_name})|(Xfce)|g" %{buildroot}/usr/lib/os.release.d/os-release-xfce
+sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Xfce/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}/usr/lib/os.release.d/Fedora-xfce.swidtag
 
 # Create the symlink for /etc/os-release
 # We don't create the /usr/lib/os-release symlink until %%post
@@ -548,48 +562,61 @@ uninstall_edition("xfce")
 %{_prefix}/lib/systemd/system-preset/99-default-disable.preset
 %dir %{_swidtagdir}
 %{_swidtagdir}/org.fedoraproject.Fedora-%{bug_version}.swidtag
+%ghost %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag
 /etc/swid/swidtags.d
 
 
 %files atomichost
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-atomichost
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-atomichost.swidtag
 
 %files cloud
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-cloud
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-cloud.swidtag
 
 %files cinnamon
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-cinnamon
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-cinnamon.swidtag
 
 %files container
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-container
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-container.swidtag
 
 %files coreos
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-coreos
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-coreos.swidtag
 
 %files iot
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-iot
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-iot.swidtag
 %ghost %{_prefix}/lib/systemd/system-preset/80-iot.preset
 %attr(0644,root,root) /usr/lib/os.release.d/presets/80-iot.preset
 
 %files kde
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-kde
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-kde.swidtag
 
 %files matecompiz
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-matecompiz
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-matecompiz.swidtag
 
 %files server
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-server
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-server.swidtag
 %ghost %{_prefix}/lib/systemd/system-preset/80-server.preset
 %attr(0644,root,root) /usr/lib/os.release.d/presets/80-server.preset
 
 %files silverblue
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-silverblue
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-silverblue.swidtag
 
 %files soas
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-soas
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-soas.swidtag
 
 %files workstation
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-workstation
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-workstation.swidtag
 %{_datadir}/glib-2.0/schemas/org.gnome.shell.gschema.override
 %ghost %{_prefix}/lib/systemd/system-preset/80-workstation.preset
 %attr(0644,root,root) /usr/lib/os.release.d/presets/80-workstation.preset
@@ -597,8 +624,13 @@ uninstall_edition("xfce")
 
 %files xfce
 %attr(0644,root,root) /usr/lib/os.release.d/os-release-xfce
+%attr(0644,root,root) /usr/lib/os.release.d/Fedora-xfce.swidtag
 
 %changelog
+* Thu Oct 11 2018 Jan Pazdziora <jpazdziora@redhat.com> 30-0.11
+- Add edition supplemental .swidtag files, and amend convert-to-edition.lua
+  to keep symlink to the correct one in sync with os-release.
+
 * Thu Oct 11 2018 Jan Pazdziora <jpazdziora@redhat.com> 30-0.10
 - Produce distro-level SWID tag in /usr/lib/swidtag/fedoraproject.org.
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-10  9:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-10  9:34 [rpms/fedora-release] f45: Add edition supplemental SWID tag, and convert-to-edition.lua logic Jan Pazdziora

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox