diff --git a/convert-to-edition.lua b/convert-to-edition.lua deleted file mode 100644 index 0ad7b09..0000000 --- a/convert-to-edition.lua +++ /dev/null @@ -1,205 +0,0 @@ --- This is intended to be run as an RPM scriptlet. --- Keep this file in sync with the convert-to-edition --- shell script - -local VARIANT_FILE = "/usr/lib/variant" - --- Read in /usr/lib/variant and determine the edition -local function read_variant() - local variant - local f = io.open(VARIANT_FILE, "r") - if f ~= nil then - while true do - local line = f:read() - if line == nil then - break - end - local m = line:match("^VARIANT_ID=([^\n]+)") - if m ~= nil then - variant = m - end - end - f:close() - end - return variant -end - --- Atomically replace a file with new contents -local function writefile(path, data) - local tmp = path .. ".convert-to-edition" - local f = io.open(tmp, "w+") - if f == nil then - return - end - f:write(data) - f:close() - if not os.rename(tmp, path) then - os.remove(tmp) - end -end - --- Forcibly replace a symlink -local function symlink(from, to) - os.remove(to) - assert(posix.symlink(from, to)) -end - --- Run a subroutine in a child process -local function execute(...) - local pid = posix.fork() - if pid == 0 then - posix.exec(...) - posix.exit(1) - elseif pid ~= -1 then - local status = posix.wait(pid) - if status ~= 0 then - local program = ... - error(program .. " exited with status " .. status) - end - end -end - --- Remove preset files for other editions --- This should never be necessary, but it's best to be safe -local function clear_presets() - local path = "/usr/lib/systemd/system-preset" - for file in posix.files(path) do - if file:match("^80%-.*%.preset$") then - os.remove(path .. "/" .. file) - end - end -end - - --- Get a list of presets that need to be enabled or disabled --- as part of the installation of this edition -local function read_presets(path) - local result = {} - local f = assert(io.open(path)) - if f ~= nil then - while true do - local line = f:read() - if line == nil then - break - end - local cmd, arg = line:match("^([^ \t]+)[ \t]+([^\n \t]+)") - if cmd == "enable" or cmd == "disable" then - result[#result + 1] = arg - end - end - f:close() - end - return result -end - -local function set_variant(variant) - writefile(VARIANT_FILE, "VARIANT_ID=" .. variant .. "\n") -end - -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 -local variants = { - atomichost = {release = "atomichost", presets = false}, - cloud = {release = "cloud", presets = false}, - cinnamon = {release = "cinnamon", presets = false}, - container = {release = "container", presets = false}, - coreos = {release = "coreos", presets = false}, - iot = {release = "iot", presets = true}, - kde = {release = "kde", presets = false}, - matecompiz = {release = "matecompiz", presets = false}, - nonproduct = {release = "fedora", presets = false}, - server = {release = "server", presets = true}, - silverblue = {release = "silverblue", presets = false}, - soas = {release = "soas", presets = false}, - workstation = {release = "workstation", presets = true}, - xfce = {release = "xfce", presets = false}, -} - --- Call out to systemctl to enable or disable presets -local function set_presets(edition, apply_presets) - if variants[edition].presets then - local target = "/usr/lib/systemd/system-preset/80-" .. edition .. ".preset" - symlink("../../os.release.d/presets/80-" .. edition .. ".preset", target) - - if apply_presets then - local presets = read_presets(target) - local systemctl = "/usr/bin/systemctl" - if posix.access(systemctl, "x") then - --fork off a systemctl call - local pid = assert(posix.fork()) - if pid == 0 then - -- Child - posix.exec(systemctl, "preset", "-q", table.unpack(presets)) - -- In case exec() fails - os.exit(17) - else - -- RPM - assert(posix.wait(pid)) - end - end - end - end -end - -local function convert_to_edition(edition, apply_presets) - local variant = variants[edition] - if variant == nil then - 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) -end - -local function install_edition(edition) - -- Create the variant file if it does not already exist. This needs - -- to be done on both installation and upgrade, to ensure that we - -- upgrade from F23 and earlier properly. - if not posix.access(VARIANT_FILE, "f") then - set_variant(edition) - end - if read_variant() == edition then - -- (On initial installation only), fix up after %%systemd_post - -- in packages possibly installed before our preset file was - -- added - -- On upgrades, do not enable or disable presets to avoid - -- surprising the user - local initial_install = arg[2] == 1 - convert_to_edition(edition, initial_install) - end -end - -local function uninstall_edition(edition) - -- If we are uninstalling, we need to reset the variant file and - -- force the os-release file back to os-release-fedora. We do this - -- in %%preun so that we don't have any time where the os-release - -- symlink is dangling (since in %%postun, the os-release-$EDITION - -- file will have already been removed) - if arg[2] == 0 then - if read_variant() == edition then - set_variant("nonproduct") - convert_to_edition("nonproduct", false) - end - end -end diff --git a/fedora-release.spec b/fedora-release.spec index 7b8845a..5659ed1 100644 --- a/fedora-release.spec +++ b/fedora-release.spec @@ -14,13 +14,12 @@ Summary: Fedora release files Name: fedora-release Version: 30 -Release: 0.11 +Release: 0.12 License: MIT URL: https://fedoraproject.org/ Source1: LICENSE Source2: Fedora-Legal-README.txt -Source4: convert-to-edition.lua Source10: 85-display-manager.preset Source11: 90-default.preset @@ -34,14 +33,19 @@ Source18: 80-iot.preset Source19: distro-template.swidtag Source20: distro-edition-template.swidtag -Obsoletes: redhat-release -Obsoletes: convert-to-edition < 30-0.7 -Provides: redhat-release +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}) +Requires: fedora-release-common = %{version}-%{release} -Requires: fedora-repos(%{version}) -BuildArch: noarch BuildRequires: redhat-rpm-config > 121-1 %description @@ -49,22 +53,52 @@ Fedora release files such as various /etc/ files that define the release and systemd preset files that determine which services are enabled by default. # See https://fedoraproject.org/wiki/Packaging:DefaultServices for details. + +%package common +Summary: Fedora release files + +Requires: fedora-release-variant = %{version}-%{release} +Suggests: fedora-release + +Obsoletes: redhat-release +Provides: redhat-release +Obsoletes: fedora-release < 30-0.12 + +Obsoletes: convert-to-edition < 30-0.7 +Requires: fedora-repos(%{version}) + +%description common +Release files common to all Editions and Spins of Fedora + + %package atomichost Summary: Base package for Fedora Atomic-specific default configurations -Provides: system-release-atomichost -Provides: system-release-atomichost(%{version}) -Provides: system-release-product -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .atomichost +Conflicts: system-release +Provides: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description atomichost Provides a base package for Fedora Atomic Host-specific configuration files to depend on. + %package cinnamon Summary: Base package for Fedora Cinnamon-specific default configurations -Provides: system-release-cinnamon -Provides: system-release-cinnamon(%{version}) -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .cinnamon +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description cinnamon Provides a base package for Fedora Cinnamon-specific configuration files to @@ -73,73 +107,116 @@ depend on as well as Cinnamon system defaults. %package cloud Summary: Base package for Fedora Cloud-specific default configurations -Provides: system-release-cloud -Provides: system-release-cloud(%{version}) -Provides: system-release-product -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .cloud +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description cloud Provides a base package for Fedora Cloud-specific configuration files to depend on. + %package container Summary: Base package for Fedora container specific default configurations -Provides: system-release-container -Provides: system-release-container(%{version}) -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .container +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description container Provides a base package for Fedora container specific configuration files to depend on as well as container system defaults. + %package coreos Summary: Base package for Fedora CoreOS-specific default configurations -Provides: system-release-coreos -Provides: system-release-coreos(%{version}) -Provides: system-release-product -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .coreos +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description coreos Provides a base package for Fedora CoreOS Host-specific configuration files to depend. + %package iot Summary: Base package for Fedora IoT specific default configurations -Provides: system-release-iot -Provides: system-release-iot(%{version}) -Provides: system-release-product -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .iot +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description iot Provides a base package for Fedora IoT specific configuration files to depend on as well as IoT system defaults. + %package kde Summary: Base package for Fedora KDE Plasma-specific default configurations -Provides: system-release-kde -Provides: system-release-kde(%{version}) -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .kde +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description kde Provides a base package for Fedora KDE Plasma-specific configuration files to depend on as well as KDE Plasma system defaults. + %package matecompiz Summary: Base package for Fedora MATE-Compiz-specific default configurations -Provides: system-release-matecompiz -Provides: system-release-matecompiz(%{version}) -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .matecompiz +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description matecompiz Provides a base package for Fedora MATE-compiz-specific configuration files to depend on as well as MATE-Compiz system defaults. + %package server Summary: Base package for Fedora Server-specific default configurations -Provides: system-release-server -Provides: system-release-server(%{version}) -Provides: system-release-product -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .server +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} Requires: systemd Requires: cockpit-bridge Requires: cockpit-networkmanager @@ -150,15 +227,23 @@ Requires: openssh-server Requires(post): systemd + %description server Provides a base package for Fedora Server-specific configuration files to depend on. + %package silverblue Summary: Base package for Fedora Silverblue-specific default configurations -Provides: system-release-silverblue -Provides: system-release-silverblue(%{version}) -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .silverblue +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description silverblue Provides a base package for Fedora Silverblue-specific configuration files to @@ -167,34 +252,54 @@ depend on as well as Silverblue system defaults. %package soas Summary: Base package for Fedora Sugar on a Stick-specific default configurations -Provides: system-release-soas -Provides: system-release-soas(%{version}) -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .soas +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %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 workstation Summary: Base package for Fedora Workstation-specific default configurations -Provides: system-release-workstation -Provides: system-release-workstation(%{version}) + +RemovePathPostfixes: .workstation +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} Provides: system-release-product -Requires: fedora-release = %{version}-%{release} # needed for captive portal support Requires: NetworkManager-config-connectivity-fedora Requires(post): /usr/bin/glib-compile-schemas Requires(postun): /usr/bin/glib-compile-schemas + %description workstation Provides a base package for Fedora Workstation-specific configuration files to depend on. + %package xfce Summary: Base package for Fedora Xfce specific default configurations -Provides: system-release-xfce -Provides: system-release-xfce(%{version}) -Requires: fedora-release = %{version}-%{release} + +RemovePathPostfixes: .xfce +Conflicts: system-release +Provides: fedora-release = %{version}-%{release} +Provides: fedora-release-variant = %{version}-%{release} +Provides: system-release +Provides: system-release(%{version}) +Requires: fedora-release-common = %{version}-%{release} + %description xfce Provides a base package for Fedora Xfce specific configuration files to @@ -207,17 +312,19 @@ sed -i 's|@@VERSION@@|%{dist_version}|g' %{SOURCE2} %build %install -install -d %{buildroot}/etc -echo "Fedora release %{version} (%{release_name})" > %{buildroot}/etc/fedora-release -echo "cpe:/o:fedoraproject:fedora:%{version}" > %{buildroot}/etc/system-release-cpe +install -d %{buildroot}%{_prefix}/lib +echo "Fedora release %{version} (%{release_name})" > %{buildroot}%{_prefix}/lib/fedora-release +echo "cpe:/o:fedoraproject:fedora:%{version}" > %{buildroot}%{_prefix}/lib/system-release-cpe # Symlink the -release files -ln -s fedora-release %{buildroot}/etc/redhat-release -ln -s fedora-release %{buildroot}/etc/system-release +install -d %{buildroot}%{_sysconfdir} +ln -s ../usr/lib/fedora-release %{buildroot}%{_sysconfdir}/fedora-release +ln -s ../usr/lib/system-release-cpe %{buildroot}%{_sysconfdir}/system-release-cpe +ln -s fedora-release %{buildroot}%{_sysconfdir}/redhat-release +ln -s fedora-release %{buildroot}%{_sysconfdir}/system-release # Create the common os-release file -install -d %{buildroot}/usr/lib/os.release.d/ -cat << EOF >>%{buildroot}/usr/lib/os.release.d/os-release-fedora +cat << EOF >>%{buildroot}%{_prefix}/lib/os-release NAME=Fedora VERSION="%{dist_version} (%{release_name})" ID=fedora @@ -238,127 +345,127 @@ PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" EOF # Create the common /etc/issue -echo "\S" > %{buildroot}/usr/lib/issue -echo "Kernel \r on an \m (\l)" >> %{buildroot}/usr/lib/issue -echo >> %{buildroot}/usr/lib/issue -ln -s ../usr/lib/issue %{buildroot}/etc/issue +echo "\S" > %{buildroot}%{_prefix}/lib/issue +echo "Kernel \r on an \m (\l)" >> %{buildroot}%{_prefix}/lib/issue +echo >> %{buildroot}%{_prefix}/lib/issue +ln -s ../usr/lib/issue %{buildroot}%{_sysconfdir}/issue # Create /etc/issue.net -echo "\S" > %{buildroot}/usr/lib/issue.net -echo "Kernel \r on an \m (\l)" >> %{buildroot}/usr/lib/issue.net -ln -s ../usr/lib/issue.net %{buildroot}/etc/issue.net +echo "\S" > %{buildroot}%{_prefix}/lib/issue.net +echo "Kernel \r on an \m (\l)" >> %{buildroot}%{_prefix}/lib/issue.net +ln -s ../usr/lib/issue.net %{buildroot}%{_sysconfdir}/issue.net + +mkdir -p %{buildroot}%{_swidtagdir} # Create os-release files for the different editions # Atomic Host - https://bugzilla.redhat.com/show_bug.cgi?id=1200122 -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-atomichost -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.atomichost +echo "VARIANT=\"Atomic Host\"" >> %{buildroot}%{_prefix}/lib/os-release.atomichost +echo "VARIANT_ID=atomic.host" >> %{buildroot}%{_prefix}/lib/os-release.atomichost +sed -i -e "s|(%{release_name})|(Atomic Host)|g" %{buildroot}%{_prefix}/lib/os-release.atomichost +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Atomic/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.atomichost # Cinnamon -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-cinnamon -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.cinnamon +echo "VARIANT=\"Cinnamon\"" >> %{buildroot}%{_prefix}/lib/os-release.cinnamon +echo "VARIANT_ID=cinnamon" >> %{buildroot}%{_prefix}/lib/os-release.cinnamon +sed -i -e "s|(%{release_name})|(Cinnamon)|g" %{buildroot}%{_prefix}/lib/os-release.cinnamon +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Cinnamon/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.cinnamon # Cloud -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-cloud -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.cloud +echo "VARIANT=\"Cloud Edition\"" >> %{buildroot}%{_prefix}/lib/os-release.cloud +echo "VARIANT_ID=cloud" >> %{buildroot}%{_prefix}/lib/os-release.cloud +sed -i -e "s|(%{release_name})|(Cloud Edition)|g" %{buildroot}%{_prefix}/lib/os-release.cloud +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Cloud/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.cloud # Container -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-container -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 +cp -p %{buildroot}%{_prefix}/lib/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})|(Container Image)|g" %{buildroot}%{_prefix}/lib/os-release.container +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Container/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.container # CoreOS -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-coreos -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.coreos +echo "VARIANT=\"CoreOS\"" >> %{buildroot}%{_prefix}/lib/os-release.coreos +echo "VARIANT_ID=coreos" >> %{buildroot}%{_prefix}/lib/os-release.coreos +sed -i -e "s|(%{release_name})|(CoreOS)|g" %{buildroot}%{_prefix}/lib/os-release.coreos +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/CoreOS/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.coreos # IoT -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-iot -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.iot +echo "VARIANT=\"IoT Edition\"" >> %{buildroot}%{_prefix}/lib/os-release.iot +echo "VARIANT_ID=iot" >> %{buildroot}%{_prefix}/lib/os-release.iot +sed -i -e "s|(%{release_name})|(IoT Edition)|g" %{buildroot}%{_prefix}/lib/os-release.iot +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/IoT/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.iot # KDE Plasma -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-kde -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.kde +echo "VARIANT=\"KDE Plasma\"" >> %{buildroot}%{_prefix}/lib/os-release.kde +echo "VARIANT_ID=kde" >> %{buildroot}%{_prefix}/lib/os-release.kde +sed -i -e "s|(%{release_name})|(KDE Plasma)|g" %{buildroot}%{_prefix}/lib/os-release.kde +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/KDE/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.kde # MATE-Compiz -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-matecompiz -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.matecompiz +echo "VARIANT=\"MATE-Compiz\"" >> %{buildroot}%{_prefix}/lib/os-release.matecompiz +echo "VARIANT_ID=matecompiz" >> %{buildroot}%{_prefix}/lib/os-release.matecompiz +sed -i -e "s|(%{release_name})|(MATE-Compiz)|g" %{buildroot}%{_prefix}/lib/os-release.matecompiz +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/MATE-Compiz/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.matecompiz # Server -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-server -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.server +echo "VARIANT=\"Server Edition\"" >> %{buildroot}%{_prefix}/lib/os-release.server +echo "VARIANT_ID=server" >> %{buildroot}%{_prefix}/lib/os-release.server +sed -i -e "s|(%{release_name})|(Server Edition)|g" %{buildroot}%{_prefix}/lib/os-release.server +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Server/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.server # Silverblue -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-silverblue -echo "VARIANT=\"Silverblue\"" >> %{buildroot}/usr/lib/os.release.d/os-release-silverblue -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.silverblue +echo "VARIANT=\"Silverblue\"" >> %{buildroot}%{_prefix}/lib/os-release.silverblue +echo "VARIANT_ID=silverblue" >> %{buildroot}%{_prefix}/lib/os-release.silverblue +sed -i -e "s|(%{release_name})|(Silverblue)|g" %{buildroot}%{_prefix}/lib/os-release.silverblue +sed -i -e 's|DOCUMENTATION_URL=.*|DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora-silverblue/"|' %{buildroot}%{_prefix}/lib/os-release.silverblue +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Silverblue/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.silverblue # Sugar on a Stick -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-soas -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.soas +echo "VARIANT=\"Sugar on a Stick\"" >> %{buildroot}%{_prefix}/lib/os-release.soas +echo "VARIANT_ID=soas" >> %{buildroot}%{_prefix}/lib/os-release.soas +sed -i -e "s|(%{release_name})|(Sugar on a Stick)|g" %{buildroot}%{_prefix}/lib/os-release.soas +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Sugar/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.soas # Workstation -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-workstation -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.workstation +echo "VARIANT=\"Workstation Edition\"" >> %{buildroot}%{_prefix}/lib/os-release.workstation +echo "VARIANT_ID=workstation" >> %{buildroot}%{_prefix}/lib/os-release.workstation +sed -i -e "s|(%{release_name})|(Workstation Edition)|g" %{buildroot}%{_prefix}/lib/os-release.workstation +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Workstation/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.workstation # Xfce -cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \ - %{buildroot}/usr/lib/os.release.d/os-release-xfce -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 +cp -p %{buildroot}%{_prefix}/lib/os-release \ + %{buildroot}%{_prefix}/lib/os-release.xfce +echo "VARIANT=\"Xfce\"" >> %{buildroot}%{_prefix}/lib/os-release.xfce +echo "VARIANT_ID=xfce" >> %{buildroot}%{_prefix}/lib/os-release.xfce +sed -i -e "s|(%{release_name})|(Xfce)|g" %{buildroot}%{_prefix}/lib/os-release.xfce +sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Xfce/;s///;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.xfce # Create the symlink for /etc/os-release -# We don't create the /usr/lib/os-release symlink until %%post -# so that we can ensure that the right one is referenced. -ln -s ../usr/lib/os-release %{buildroot}/etc/os-release +ln -s ../usr/lib/os-release %{buildroot}%{_sysconfdir}/os-release # Set up the dist tag macros install -d -m 755 %{buildroot}%{_rpmconfigdir}/macros.d @@ -371,23 +478,24 @@ cat >> %{buildroot}%{_rpmconfigdir}/macros.d/macros.dist << EOF EOF # Install licenses -install -d %{buildroot}%{_datadir}/licenses/%{name}/ -install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/licenses/%{name}/LICENSE -install -pm 0644 %{SOURCE2} %{buildroot}%{_datadir}/licenses/%{name}/Fedora-Legal-README.txt +mkdir -p licenses +install -pm 0644 %{SOURCE1} licenses/LICENSE +install -pm 0644 %{SOURCE2} licenses/Fedora-Legal-README.txt # Default system wide install -Dm0644 %{SOURCE10} -t %{buildroot}%{_prefix}/lib/systemd/system-preset/ install -Dm0644 %{SOURCE11} -t %{buildroot}%{_prefix}/lib/systemd/system-preset/ -install -Dm0644 %{SOURCE12} -t %{buildroot}/usr/lib/systemd/user-preset/ +install -Dm0644 %{SOURCE12} -t %{buildroot}%{_prefix}/lib/systemd/user-preset/ install -Dm0644 %{SOURCE13} -t %{buildroot}%{_prefix}/lib/systemd/system-preset/ # Fedora IoT -install -Dm0644 %{SOURCE18} -t %{buildroot}%{_prefix}/lib/os.release.d/presets/ +install -Dm0644 %{SOURCE18} -t %{buildroot}%{_prefix}/lib/systemd/system-preset/ # Fedora Server -install -Dm0644 %{SOURCE14} -t %{buildroot}%{_prefix}/lib/os.release.d/presets/ +install -Dm0644 %{SOURCE14} -t %{buildroot}%{_prefix}/lib/systemd/system-preset/ + # Fedora Workstation -install -Dm0644 %{SOURCE15} -t %{buildroot}%{_prefix}/lib/os.release.d/presets/ +install -Dm0644 %{SOURCE15} -t %{buildroot}%{_prefix}/lib/systemd/system-preset/ # Override the list of enabled gnome-shell extensions for Workstation install -Dm0644 %{SOURCE16} -t %{buildroot}%{_datadir}/glib-2.0/schemas/ @@ -396,165 +504,34 @@ install -Dm0644 %{SOURCE17} -t %{buildroot}%{_datadir}/polkit-1/rules.d/ # Create distro-level SWID tag file install -d %{buildroot}%{_swidtagdir} sed -e "s#\$version#%{bug_version}#g" -e 's///;/^$/d' %{SOURCE19} > %{buildroot}%{_swidtagdir}/org.fedoraproject.Fedora-%{bug_version}.swidtag -install -d %{buildroot}/etc/swid/swidtags.d -ln -s %{_swidtagdir} %{buildroot}/etc/swid/swidtags.d/fedoraproject.org - -%post -p -%include %{SOURCE4} --- On initial installation, we'll at least temporarily put the non-product --- symlinks in place. It will be overridden by fedora-release-$EDITION --- %%post sections because we don't write the /usr/lib/variant file until --- %%posttrans to avoid trumping the fedora-release-$EDITION packages. --- This is necessary to avoid breaking systemctl scripts since they rely on --- /usr/lib/os-release being valid. We can't wait until %%posttrans to default --- to os-release-fedora. -if arg[2] == "0" then - set_release(fedora) -end - --- We also want to forcibly set these paths on upgrade if we are explicitly --- set to "nonproduct" -if read_variant() == "nonproduct" then - convert_to_edition("nonproduct", false) -end - -%posttrans -p -%include %{SOURCE4} --- If we get to %%posttrans and nothing created /usr/lib/variant, set it to --- nonproduct. -install_edition("nonproduct") - -%post atomichost -p -%include %{SOURCE4} -install_edition("atomichost") - -%preun atomichost -p -%include %{SOURCE4} -uninstall_edition("atomichost") - -%post cinnamon -p -%include %{SOURCE4} -install_edition("cinnamon") - -%preun cinnamon -p -%include %{SOURCE4} -uninstall_edition("cinnamon") - -%post cloud -p -%include %{SOURCE4} -install_edition("cloud") - -%preun cloud -p -%include %{SOURCE4} -uninstall_edition("cloud") - -%post container -p -%include %{SOURCE4} -install_edition("container") - -%preun container -p -%include %{SOURCE4} -uninstall_edition("container") - -%post coreos -p -%include %{SOURCE4} -install_edition("coreos") - -%preun coreos -p -%include %{SOURCE4} -uninstall_edition("coreos") - -%post iot -p -%include %{SOURCE4} -install_edition("iot") - -%preun iot -p -%include %{SOURCE4} -uninstall_edition("iot") - -%post kde -p -%include %{SOURCE4} -install_edition("kde") - -%preun kde -p -%include %{SOURCE4} -uninstall_edition("kde") - -%post matecompiz -p -%include %{SOURCE4} -install_edition("matecompiz") - -%preun matecompiz -p -%include %{SOURCE4} -uninstall_edition("matecompiz") - -%post server -p -%include %{SOURCE4} -install_edition("server") - -%preun server -p -%include %{SOURCE4} -uninstall_edition("server") - -%post silverblue -p -%include %{SOURCE4} -install_edition("silverblue") - -%preun silverblue -p -%include %{SOURCE4} -uninstall_edition("silverblue") - -%post soas -p -%include %{SOURCE4} -install_edition("soas") - -%preun soas -p -%include %{SOURCE4} -uninstall_edition("soas") - -%post workstation -p -%include %{SOURCE4} -install_edition("workstation") - -%preun workstation -p -%include %{SOURCE4} -uninstall_edition("workstation") +install -d %{buildroot}%{_sysconfdir}/swid/swidtags.d +ln -s %{_swidtagdir} %{buildroot}%{_sysconfdir}/swid/swidtags.d/fedoraproject.org %postun workstation if [ $1 -eq 0 ] ; then glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : fi + %posttrans workstation glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : -%post xfce -p -%include %{SOURCE4} -install_edition("xfce") - -%preun xfce -p -%include %{SOURCE4} -uninstall_edition("xfce") - -%files -%license LICENSE Fedora-Legal-README.txt -%ghost /usr/lib/variant -%dir /usr/lib/os.release.d -%dir /usr/lib/os.release.d/presets -%attr(0644,root,root) /usr/lib/os.release.d/os-release-fedora -%ghost /usr/lib/os-release -/etc/os-release -%config %attr(0644,root,root) /etc/fedora-release -/etc/redhat-release -/etc/system-release -%config %attr(0644,root,root) /etc/system-release-cpe -%attr(0644,root,root) /usr/lib/issue -%config(noreplace) /etc/issue -%attr(0644,root,root) /usr/lib/issue.net -%config(noreplace) /etc/issue.net +%files common +%license licenses/LICENSE licenses/Fedora-Legal-README.txt +%{_prefix}/lib/fedora-release +%{_prefix}/lib/system-release-cpe +%{_sysconfdir}/os-release +%{_sysconfdir}/fedora-release +%{_sysconfdir}/redhat-release +%{_sysconfdir}/system-release +%{_sysconfdir}/system-release-cpe +%attr(0644,root,root) %{_prefix}/lib/issue +%config(noreplace) %{_sysconfdir}/issue +%attr(0644,root,root) %{_prefix}/lib/issue.net +%config(noreplace) %{_sysconfdir}/issue.net %attr(0644,root,root) %{_rpmconfigdir}/macros.d/macros.dist -%dir /usr/lib/systemd/user-preset/ +%dir %{_prefix}/lib/systemd/user-preset/ %{_prefix}/lib/systemd/user-preset/90-default-user.preset %dir %{_prefix}/lib/systemd/system-preset/ %{_prefix}/lib/systemd/system-preset/85-display-manager.preset @@ -562,71 +539,87 @@ 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 +%{_sysconfdir}/swid/swidtags.d + + +%files +%{_prefix}/lib/os-release %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 +%{_prefix}/lib/os-release.atomichost +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.atomichost + %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 +%{_prefix}/lib/os-release.cloud +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.cloud + %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 +%{_prefix}/lib/os-release.cinnamon +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.cinnamon + %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 +%{_prefix}/lib/os-release.container +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.container + %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 +%{_prefix}/lib/os-release.coreos +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.coreos + %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 +%{_prefix}/lib/os-release.iot +%{_prefix}/lib/systemd/system-preset/80-iot.preset +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.iot + %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 +%{_prefix}/lib/os-release.kde +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.kde + %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 +%{_prefix}/lib/os-release.matecompiz +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.matecompiz + %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 +%{_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 -%attr(0644,root,root) /usr/lib/os.release.d/os-release-silverblue -%attr(0644,root,root) /usr/lib/os.release.d/Fedora-silverblue.swidtag +%{_prefix}/lib/os-release.silverblue +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.silverblue + %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 +%{_prefix}/lib/os-release.soas +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.soas + %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 +%{_prefix}/lib/os-release.workstation +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.workstation %{_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 -%attr(0644,root,root) /usr/share/polkit-1/rules.d/org.projectatomic.rpmostree1.rules +%{_prefix}/lib/systemd/system-preset/80-workstation.preset +%attr(0644,root,root) %{_prefix}/share/polkit-1/rules.d/org.projectatomic.rpmostree1.rules + %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 +%{_prefix}/lib/os-release.xfce +%attr(0644,root,root) %{_swidtagdir}/org.fedoraproject.Fedora-edition.swidtag.xfce + %changelog +* Tue Oct 23 2018 Stephen Gallagher - 30-0.12 +- Convert to more maintainable implementation of variant-handling + * Thu Oct 11 2018 Jan Pazdziora 30-0.10 - Add edition supplemental .swidtag files, and amend convert-to-edition.lua to keep symlink to the correct one in sync with os-release.