#39 Produce distro-level SWID tag in /usr/lib/swidtag/fedoraproject.org
Closed 5 years ago by adelton. Opened 5 years ago by adelton.
rpms/ adelton/fedora-release swidtag-f29  into  master

file added
+3
@@ -0,0 +1,3 @@ 

+ #

+ # Fedora IoT

+ #

file modified
+7
@@ -1,3 +1,10 @@ 

+ # Enable the D-Bus service (including its socket for socket activation)

+ # unconditionally. It is used throughout Fedora and required on all machines.

+ # https://src.fedoraproject.org/rpms/fedora-release/pull-request/4

+ # https://fedoraproject.org/w/index.php?title=Starting_services_by_default&oldid=377748

+ enable dbus.socket

+ enable dbus-daemon.service

+ 

  # This enables the pipewire service to be socket-activated for

  # individual user sessions.

  # https://bugzilla.redhat.com/show_bug.cgi?id=1592434

file modified
+10
@@ -264,3 +264,13 @@ 

  # Mark the system for SELinux autorelabel when appropriate

  # https://bugzilla.redhat.com/show_bug.cgi?id=1589720

  enable selinux-autorelabel-mark.service

+ 

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1623901

+ enable cpi.service

+ 

+ # Initialize persistent devices on s390x

+ enable device_cio_free.service

+ 

+ # Enable the stratis daemon for managing stratis storage

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1630514

+ enable stratisd.service

file removed
-183
@@ -1,183 +0,0 @@ 

- #!/bin/bash

- 

- # Simple script to set up Edition defaults for Fedora

- # Keep this in sync with convert-to-edition.lua

- 

- OPTIND=1

- 

- VARIANT_FILE=/usr/lib/variant

- 

- # Defaults are set to provide the fewest suprises for anyone running this

- # script manually to convert their own system. In nearly all cases, it should

- # be possible to run `convert-to-edition -e <edition>` and get expected results

- 

- # By default, install new packages to ensure that all the necessary files are

- # available before symlinking. This must be skipped when running this file as

- # part of an RPM scriptlet.

- do_installation=1

- 

- # By default, do not modify the enabled or disabled state of any service on the

- # system. This should only be done when this script is run as part of system

- # installation or if the user is certain that they want to apply the changes to

- # the presets to their system.

- enable_presets=0

- 

- exit_usage() {

-     echo "Usage: convert-to-edition [options] -e cloud|non-edition|server|workstation"

-     echo "    Options:"

-     echo "        -e: The edition to install (atomichost, cloud, non-edition, server or workstation)"

-     echo "        -i: Skip installing additional files and just update symlinks"

-     echo "        -p: Also enable newly-added systemd presets"

-     exit 1

- }

- 

- while getopts "e:ihp" opt; do

-     case "$opt" in

-     e)

-         EDITION=$OPTARG

-         ;;

-     i)

-         do_installation=0

-         ;;

-     p)

-         enable_presets=1

-         ;;

-     h)

-         exit_usage

-         ;;

-     esac

- done

- 

- # None of the actions below can be run by a non-root user

- if [[ $EUID -ne 0 ]]; then

-    echo "This script must be run as root" 1>&2

-    exit 1

- fi

- 

- case $EDITION in

-   atomichost)

-     if [ $do_installation -gt 0 ]; then

-         dnf install -y fedora-release-atomichost

-     fi

- 

-     echo "VARIANT_ID=atomic.host" > $VARIANT_FILE

- 

-     # Ensure that the os-release file is pointing to the correct version

-     ln -sf ./os.release.d/os-release-atomichost /usr/lib/os-release || :

- 

-     # Ensure that the issue file is pointing to the correct version

-     ln -sf ./os.release.d/issue-fedora /usr/lib/issue

- 

-     # Remove any presets from other Editions.

-     rm -f /usr/lib/systemd/system-preset/80-*.preset

-     ;;

- 

-   cloud)

-     if [ $do_installation -gt 0 ]; then

-         echo "Installing Fedora Cloud Packages"

-         dnf install -y fedora-release-cloud

-     fi

- 

-     echo "VARIANT_ID=cloud" > $VARIANT_FILE

- 

-     # Ensure that the os-release file is pointing to the correct version

-     ln -sf ./os.release.d/os-release-cloud /usr/lib/os-release || :

- 

-     # Ensure that the issue file is pointing to the correct version

-     ln -sf ./os.release.d/issue-fedora /usr/lib/issue

- 

-     # Remove any presets from other Editions.

-     rm -f /usr/lib/systemd/system-preset/80-*.preset

-     ;;

- 

-   non-edition)

-     echo "VARIANT_ID=nonproduct" > $VARIANT_FILE

- 

-     # Ensure that the os-release file is pointing to the correct version

-     ln -sf ./os.release.d/os-release-fedora /usr/lib/os-release || :

- 

-     # Ensure that the issue file is pointing to the correct version

-     ln -sf ./os.release.d/issue-fedora /usr/lib/issue

- 

-     # Remove any presets from other Editions.

-     rm -f /usr/lib/systemd/system-preset/80-*.preset

-     ;;

- 

-   server)

-     if [ $do_installation -gt 0 ]; then

-         echo "Installing Fedora Server Packages"

-         dnf install -y fedora-release-server

-     fi

- 

-     echo "VARIANT_ID=server" > $VARIANT_FILE

- 

-     # Ensure that the os-release and issue files are pointing to the correct

-     # version

-     ln -sf ./os.release.d/os-release-server /usr/lib/os-release

-     ln -sf ./os.release.d/issue-server /usr/lib/issue

- 

-     # Remove any presets from other Editions. This should always be a no-op,

-     # but it's good to be explicit.

-     # We reserve 80-*.preset for Editions

-     rm -f /usr/lib/systemd/system-preset/80-*.preset

- 

-     # Symlink in the proper preset

-     ln -sf ../../os.release.d/presets/80-server.preset \

-            /usr/lib/systemd/system-preset/80-server.preset

- 

-     if [ $enable_presets -gt 0 ]; then

-         # Enable new units specified by presets

-         units=$(sed -n 's/^enable//p' \

-             < /usr/lib/systemd/system-preset/80-server.preset)

-         /usr/bin/systemctl preset $units >/dev/null 2>&1 || :

- 

-         # Disable new units specified by presets

-         units=$(sed -n 's/^disable//p' \

-             < /usr/lib/systemd/system-preset/80-server.preset)

-         /usr/bin/systemctl preset $units >/dev/null 2>&1 || :

-     fi

-     ;;

- 

-   workstation)

-     if [ $do_installation -gt 0 ]; then

-         echo "Installing Fedora Workstation Packages"

-         dnf install -y fedora-release-workstation

-     fi

- 

-     echo "VARIANT_ID=workstation" > $VARIANT_FILE

-     # Ensure that the os-release and issue files are pointing to the correct

-     # version

-     ln -sf ./os.release.d/os-release-workstation /usr/lib/os-release

-     ln -sf ./os.release.d/issue-fedora /usr/lib/issue

- 

-     # Remove any presets from other Editions. This should always be a no-op,

-     # but it's good to be explicit.

-     # We reserve 80-*.preset for Editions

-     rm -f /usr/lib/systemd/system-preset/80-*.preset

- 

-     # Symlink in the proper preset

-     ln -sf ../../os.release.d/presets/80-workstation.preset \

-            /usr/lib/systemd/system-preset/80-workstation.preset

- 

-     if [ $enable_presets -gt 0 ]; then

-         # Enable new units specified by presets

-         units=$(sed -n 's/^enable//p' \

-             < /usr/lib/systemd/system-preset/80-workstation.preset)

-         /usr/bin/systemctl preset $units >/dev/null 2>&1 || :

- 

-         # Disable new units specified by presets

-         units=$(sed -n 's/^disable//p' \

-             < /usr/lib/systemd/system-preset/80-workstation.preset)

-         /usr/bin/systemctl preset $units >/dev/null 2>&1 || :

-     fi

-     ;;

- 

-   *)

-     exit_usage

-     ;;

- esac

- 

- echo This system has been converted to $EDITION

- 

- exit 0

- 

file modified
+28 -9
@@ -100,19 +100,32 @@ 

    symlink("./os.release.d/os-release-" .. release, "/usr/lib/os-release")

  end

  

- local function set_issue(release)

-   symlink("./os.release.d/issue-" .. release, "/usr/lib/issue")

+ 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

- -- issue: which /etc/issue file to install

  -- presets: whether this edition has extra presets beyond the

  --          defaults to enable or disable

  local variants = {

-   atomichost = {release = "atomichost", issue = "fedora", presets = false},

-   cloud = {release = "cloud", issue = "fedora", presets = false},

-   nonproduct = {release = "fedora", issue = "fedora", presets = false},

-   server = {release = "server", issue = "server", presets = true},

-   workstation = {release = "workstation", issue = "fedora", presets = true},

+   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
@@ -147,7 +160,13 @@ 

      error("undefined edition: " .. edition)

    end

    set_release(variant.release)

-   set_issue(variant.issue)

+ 

+   -- 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)

@@ -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>

@@ -0,0 +1,28 @@ 

+ <!-- 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"

+   tagVersion="1"

+   name="Fedora"

+   version="$version"

+   versionScheme="unknown"

+   media="(OS:linux)">

+   <Entity

+     name="Fedora Project"

+     regid="fedoraproject.org"

+     role="tagCreator softwareCreator aggregator distributor licensor" />

+   <Link

+     rel="license"

+     href="https://fedoraproject.org/wiki/Legal:Licenses/LicenseAgreement" />

+   <Meta

+     product="Fedora"

+     colloquialVersion="$version"

+     summary="Linux distribution developed by the community-supported Fedora Project and sponsored by Red Hat, Inc."

+     entitlementDataRequired="false"

+     unspscCode="43233004"

+     unspscVersion="20.0601" />

+ </SoftwareIdentity>

file modified
+345 -32
@@ -1,6 +1,10 @@ 

- %define release_name Rawhide

+ %define release_name Twenty Nine

  %define dist_version 29

- %define bug_version rawhide

+ %define bug_version 29

+ %{!?_swidtagdir: %define _swidtagdir %{_prefix}/lib/swidtag/fedoraproject.org}

+ 

+ # Change this when branching to fNN

+ %define doc_version f29

  

  # Changes should be submitted as pull requests under

  #     https://src.fedoraproject.org/rpms/fedora-release
@@ -11,13 +15,12 @@ 

  Summary:        Fedora release files

  Name:           fedora-release

  Version:        29

- Release:        0.10

+ Release:        2

  License:        MIT

  URL:            https://fedoraproject.org/

  

  Source1:        LICENSE

  Source2:        Fedora-Legal-README.txt

- Source3:        convert-to-edition

  Source4:        convert-to-edition.lua

  

  Source10:       85-display-manager.preset
@@ -28,13 +31,17 @@ 

  Source15:       80-workstation.preset

  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 < 29-0.15

  Provides:       redhat-release

  Provides:       system-release

  Provides:       system-release(%{version})

  

- Requires:       fedora-repos(%{version})

+ Requires:       fedora-repos(%{version}) >= 1

  BuildArch:      noarch

  

  %description
@@ -53,6 +60,16 @@ 

  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}

+ 

+ %description cinnamon

+ Provides a base package for Fedora Cinnamon-specific configuration files to

+ depend on as well as Cinnamon system defaults.

+ 

  %package cloud

  Summary:        Base package for Fedora Cloud-specific default configurations

  Provides:       system-release-cloud
@@ -64,6 +81,58 @@ 

  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}

+ 

+ %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}

+ 

+ %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}

+ 

+ %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}

+ 

+ %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}

+ 

+ %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
@@ -84,6 +153,26 @@ 

  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}

+ 

+ %description silverblue

+ Provides a base package for Fedora Silverblue-specific configuration files to

+ 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}

+ 

+ %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
@@ -99,12 +188,15 @@ 

  Provides a base package for Fedora Workstation-specific configuration files to

  depend on.

  

- %package -n convert-to-edition

- Summary: Script for converting between Fedora Editions

- Requires: fedora-release = %{version}-%{release}

+ %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}

  

- %description -n convert-to-edition

- Provides a script to convert the running system between Fedora Editions

+ %description xfce

+ Provides a base package for Fedora Xfce specific configuration files to

+ depend on as well as Xfce system defaults.

  

  %prep

  sed -i 's|@@VERSION@@|%{dist_version}|g' %{SOURCE2}
@@ -132,6 +224,7 @@ 

  ANSI_COLOR="0;34"

  CPE_NAME="cpe:/o:fedoraproject:fedora:%{dist_version}"

  HOME_URL="https://fedoraproject.org/"

+ DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/%{doc_version}/system-administrators-guide/"

  SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"

  BUG_REPORT_URL="https://bugzilla.redhat.com/"

  REDHAT_BUGZILLA_PRODUCT="Fedora"
@@ -142,16 +235,17 @@ 

  EOF

  

  # Create the common /etc/issue

- echo "\S" > %{buildroot}/usr/lib/os.release.d/issue-fedora

- echo "Kernel \r on an \m (\l)" >> %{buildroot}/usr/lib/os.release.d/issue-fedora

- echo >> %{buildroot}/usr/lib/os.release.d/issue-fedora

+ 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

  

  # 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

  

- # Create os-release and issue files for the different editions

+ # 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 \
@@ -159,6 +253,15 @@ 

  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 \

+       %{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

  

  # Cloud

  cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -166,6 +269,47 @@ 

  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 \

+       %{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

+ 

+ # 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

+ 

+ # 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

+ 

+ # 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

+ 

+ # 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

  

  # Server

  cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -173,11 +317,24 @@ 

  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}/usr/lib/os.release.d/issue-fedora \

-       %{buildroot}/usr/lib/os.release.d/issue-server

- echo "Admin Console: https://\4:9090/ or https://[\6]:9090/" >> %{buildroot}/usr/lib/os.release.d/issue-server

- echo >> %{buildroot}/usr/lib/os.release.d/issue-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

+ 

+ # 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

  

  # Workstation

  cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \
@@ -185,24 +342,28 @@ 

  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 \

+       %{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

  

  # 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

  

- # Create the symlink for /etc/issue

- # 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/issue %{buildroot}/etc/issue

- 

  # Set up the dist tag macros

  install -d -m 755 %{buildroot}%{_rpmconfigdir}/macros.d

  cat >> %{buildroot}%{_rpmconfigdir}/macros.d/macros.dist << EOF

  # dist macros.

  

  %%fedora                %{dist_version}

- %%dist                %{?distprefix}.fc%{dist_version}

+ %%dist                %%{?distprefix}.fc%{dist_version}

  %%fc%{dist_version}                1

  EOF

  
@@ -217,6 +378,9 @@ 

  install -Dm0644 %{SOURCE12} -t %{buildroot}/usr/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/

+ 

  # Fedora Server

  install -Dm0644 %{SOURCE14} -t %{buildroot}%{_prefix}/lib/os.release.d/presets/

  # Fedora Workstation
@@ -226,8 +390,11 @@ 

  install -Dm0644 %{SOURCE16} -t %{buildroot}%{_datadir}/glib-2.0/schemas/

  install -Dm0644 %{SOURCE17} -t %{buildroot}%{_datadir}/polkit-1/rules.d/

  

- # Copy the make_edition script to /usr/sbin

- install -Dm0755 %{SOURCE3} -t %{buildroot}/%{_prefix}/sbin/

+ # 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 <lua>

  %include %{SOURCE4}
@@ -240,7 +407,6 @@ 

  -- to os-release-fedora.

  if arg[2] == "0" then

      set_release(fedora)

-     set_issue(fedora)

  end

  

  -- We also want to forcibly set these paths on upgrade if we are explicitly
@@ -263,6 +429,14 @@ 

  %include %{SOURCE4}

  uninstall_edition("atomichost")

  

+ %post cinnamon -p <lua>

+ %include %{SOURCE4}

+ install_edition("cinnamon")

+ 

+ %preun cinnamon -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("cinnamon")

+ 

  %post cloud -p <lua>

  %include %{SOURCE4}

  install_edition("cloud")
@@ -271,6 +445,46 @@ 

  %include %{SOURCE4}

  uninstall_edition("cloud")

  

+ %post container -p <lua>

+ %include %{SOURCE4}

+ install_edition("container")

+ 

+ %preun container -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("container")

+ 

+ %post coreos -p <lua>

+ %include %{SOURCE4}

+ install_edition("coreos")

+ 

+ %preun coreos -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("coreos")

+ 

+ %post iot -p <lua>

+ %include %{SOURCE4}

+ install_edition("iot")

+ 

+ %preun iot -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("iot")

+ 

+ %post kde -p <lua>

+ %include %{SOURCE4}

+ install_edition("kde")

+ 

+ %preun kde -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("kde")

+ 

+ %post matecompiz -p <lua>

+ %include %{SOURCE4}

+ install_edition("matecompiz")

+ 

+ %preun matecompiz -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("matecompiz")

+ 

  %post server -p <lua>

  %include %{SOURCE4}

  install_edition("server")
@@ -279,6 +493,22 @@ 

  %include %{SOURCE4}

  uninstall_edition("server")

  

+ %post silverblue -p <lua>

+ %include %{SOURCE4}

+ install_edition("silverblue")

+ 

+ %preun silverblue -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("silverblue")

+ 

+ %post soas -p <lua>

+ %include %{SOURCE4}

+ install_edition("soas")

+ 

+ %preun soas -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("soas")

+ 

  %post workstation -p <lua>

  %include %{SOURCE4}

  install_edition("workstation")
@@ -295,6 +525,13 @@ 

  %posttrans workstation

  glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :

  

+ %post xfce -p <lua>

+ %include %{SOURCE4}

+ install_edition("xfce")

+ 

+ %preun xfce -p <lua>

+ %include %{SOURCE4}

+ uninstall_edition("xfce")

  

  %files

  %license LICENSE Fedora-Legal-README.txt
@@ -308,8 +545,7 @@ 

  /etc/redhat-release

  /etc/system-release

  %config %attr(0644,root,root) /etc/system-release-cpe

- %attr(0644,root,root) /usr/lib/os.release.d/issue-fedora

- %ghost /usr/lib/issue

+ %attr(0644,root,root) /usr/lib/issue

  %config(noreplace) /etc/issue

  %attr(0644,root,root) /usr/lib/issue.net

  %config(noreplace) /etc/issue.net
@@ -320,33 +556,110 @@ 

  %{_prefix}/lib/systemd/system-preset/85-display-manager.preset

  %{_prefix}/lib/systemd/system-preset/90-default.preset

  %{_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 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 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 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/issue-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

  %attr(0644,root,root) /usr/share/polkit-1/rules.d/org.projectatomic.rpmostree1.rules

  

- %files -n convert-to-edition

- /usr/sbin/convert-to-edition

+ %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

+ * Fri Oct 26 2018 Jan Pazdziora <jpazdziora@redhat.com> - 29-2

+ - Produce distro-level SWID tag in /usr/lib/swidtag/fedoraproject.org.

+ - Add edition supplemental .swidtag files, and amend convert-to-edition.lua

+   to keep symlink to the correct one in sync with os-release.

+ 

+ * Sun Oct 14 2018 Mohan Boddu <mboddu@bhujji.com> 29-1

+ - Setup for F29 Final

+ - Add DOCUMENTATION_URL to os-release

+ 

+ * Fri Sep 14 2018 Mohan Boddu <mboddu@bhujji.com> 29-0.17

+ - Enable the stratis daemon for managing stratis storage

+ 

+ * Fri Sep 14 2018 Mohan Boddu <mboddu@bhujji.com> 29-0.16

+ - Set cpi.service as enabled in the systemd presets

+ - Set device_cio_free service as enabled

+ 

+ * Mon Aug 27 2018 Stephen Gallagher <sgallagh@redhat.com> - 29-0.15

+ - Drop special issue handling and convert-to-edition script

+ 

+ * Mon Aug 27 2018 Mohan Boddu <mboddu@bhujji.com> 29-0.14

+ - Adding Container sub package

+ - Adding CoreOS sub package

+ - Adding Desktop Spin sub packages

+ 

+ * Thu Aug 23 2018 Peter Robinson <pbrobinson@fedoraproject.org> 29-0.13

+ - Add Fedora IoT edition components

+ 

+ * Sat Aug 18 2018 Jason L Tibbitts III <tibbs@math.uh.edu> - 29-0.12

+ - Escape use of the distprefix macro, so it makes it into the macro

+   file instead of being expanded in the spec.

+ 

+ * Wed Aug 15 2018 David Herrmann <dh.herrmann@gmail.com> - 29-0.12

+ - Enable dbus user units explicitly

+ 

+ * Tue Aug 14 2018 Mohan Boddu <mboddu@bhujji.com> 29-0.11

+ - Branching F29 from rawhide

+ 

  * Thu Aug  9 2018 Peter Robinson <pbrobinson@fedoraproject.org> 29-0.10

  - Enable dbus units explicitly