#20 add config for "Label our Variants" change
Merged 5 years ago by mohanboddu. Opened 5 years ago by mattdm.
Unknown source master  into  master

file modified
+8
@@ -110,10 +110,18 @@

  local variants = {

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

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

+   cinnamon = {release = "cinnamon", issue = "fedora", presets = false},

+   container = {release = "container", issue = "fedora", presets = false},

+   coreos = {release = "coreos", issue = "fedora", presets = false},

    iot = {release = "iot", issue = "fedora", presets = true},

+   kde = {release = "kde", issue = "fedora", presets = false},

+   matecompiz = {release = "matecompiz", issue = "fedora", presets = false},

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

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

+   silverblue = {release = "silverblue", issue = "fedora", presets = false},

+   soas = {release = "soas", issue = "fedora", presets = false},

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

+   xfce = {release = "xfce", issue = "fedora", presets = false},

  }

  

  -- Call out to systemctl to enable or disable presets

file modified
+234 -1
@@ -11,7 +11,7 @@

  Summary:        Fedora release files

  Name:           fedora-release

  Version:        30

- Release:        0.5

+ Release:        0.6

  License:        MIT

  URL:            https://fedoraproject.org/

  
@@ -54,6 +54,17 @@

  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
@@ -65,6 +76,27 @@

  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

Why CoreOS-specific? I think it should be CoreOS specific (I see this in others but not in "container specific"

Why CoreOS-specific? I think it should be CoreOS specific (I see this in others but not in "container specific"

+ 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
@@ -76,6 +108,26 @@

  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
@@ -96,6 +148,27 @@

  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
@@ -111,6 +184,17 @@

  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}

+ 

+ %description xfce

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

+ depend on as well as Xfce system defaults.

+ 

+ 

  %package -n convert-to-edition

  Summary: Script for converting between Fedora Editions

  Requires: fedora-release = %{version}-%{release}
@@ -172,6 +256,13 @@

  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

  

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

+ 

  # Cloud

  cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \

        %{buildroot}/usr/lib/os.release.d/os-release-cloud
@@ -179,6 +270,20 @@

  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

  

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

+ 

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

+ 

  # IoT

  cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \

        %{buildroot}/usr/lib/os.release.d/os-release-iot
@@ -186,6 +291,20 @@

  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

  

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

+ 

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

+ 

  # Server

  cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \

        %{buildroot}/usr/lib/os.release.d/os-release-server
@@ -198,6 +317,20 @@

  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

+ 

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

+ 

  # Workstation

  cp -p %{buildroot}/usr/lib/os.release.d/os-release-fedora \

        %{buildroot}/usr/lib/os.release.d/os-release-workstation
@@ -205,6 +338,13 @@

  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

  

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

+ 

  # 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.
@@ -285,6 +425,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")
@@ -293,6 +441,22 @@

  %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")
@@ -301,6 +465,22 @@

  %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")
@@ -309,6 +489,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")
@@ -325,6 +521,14 @@

  %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
@@ -358,17 +562,38 @@

  %files cloud

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

  

+ %files cinnamon

+ %attr(0644,root,root) /usr/lib/os.release.d/os-release-cinnamon

+ 

+ %files container

+ %attr(0644,root,root) /usr/lib/os.release.d/os-release-container

+ 

+ %files coreos

+ %attr(0644,root,root) /usr/lib/os.release.d/os-release-coreos

+ 

  %files iot

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

  %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

+ 

+ %files matecompiz

+ %attr(0644,root,root) /usr/lib/os.release.d/os-release-matecompiz

+ 

  %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

  %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

+ 

+ %files soas

+ %attr(0644,root,root) /usr/lib/os.release.d/os-release-soas

+ 

  %files workstation

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

  %{_datadir}/glib-2.0/schemas/org.gnome.shell.gschema.override
@@ -376,10 +601,18 @@

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

+ %attr(0644,root,root) /usr/lib/os.release.d/os-release-xfce

+ 

  %files -n convert-to-edition

  /usr/sbin/convert-to-edition

  

  %changelog

+ * Fri Aug 24 2018 Matthew Miller <mattdm@fedoraproject.org> - 30-0.6

+ - add container

+ - add coreos

+ - add desktop spins

+ 

  * Thu Aug 23 2018 Peter Robinson <pbrobinson@fedoraproject.org> 30-0.5

  - Add Fedora IoT edition components

  

I decided to just go with copy, paste, edit of existing structure rather than go for radical change. We can look at making this pretty after we have something in place.

Why CoreOS-specific? I think it should be CoreOS specific (I see this in others but not in "container specific"

Why CoreOS-specific? I think it should be CoreOS specific (I see this in others but not in "container specific"

Why CoreOS-specific? I think it should be CoreOS specific, same goes for the others, most others but not in "container specific". Other than that it looks good to me.

There is a related PR#19 for adding coreos sub-package. Was wondering if we should also make changes in convert-to-edition file as well for coreos specifics.

The shell script is supposed to be dead, but it got re-added when we merged the upstream and downstream. We need to remove it again. It should not be used or available. I’ll make a PR for that on Monday when I’m not on PTO.

The shell script is supposed to be dead, but it got re-added when we merged the upstream and downstream. We need to remove it again. It should not be used or available. I’ll make a PR for that on Monday when I’m not on PTO.

Thanks for the information!

The shell script is supposed to be dead, but it got re-added when we merged the upstream and downstream. We need to remove it again. It should not be used or available. I’ll make a PR for that on Monday when I’m not on PTO.

That is fake news, it didn't get "re-added when we merged the upstream" it's there in the F-28 fedora-release-28-2 as well as the pre merge fedora-release-29-0.4 package. It's shipped in the convert-to-edition sub package and is used as the command line tool shipped there. It might be that the way that works is now obsolete but it certainly wasn't readded! I triple checked that everything was identical as part of the merge.

If it no longer needs to be shipped we need to ensure that the sub package is properly obsoleted and that no documentation points to it.

The shell script is supposed to be dead, but it got re-added when we merged the upstream and downstream. We need to remove it again. It should not be used or available. I’ll make a PR for that on Monday when I’m not on PTO.

That is fake news, it didn't get "re-added when we merged the upstream" it's there in the F-28 fedora-release-28-2 as well as the pre merge fedora-release-29-0.4 package.

Huh, that's odd. I could have sworn when I looked on Thursday, it was gone from F28. I thought I remembered killing it off because we had generally decided that it wasn't useful. I must have made a mistake. That being said, I do think we should kill it rather than trying to keep it in sync with the lua.

It's shipped in the convert-to-edition sub package and is used as the command line tool shipped there. It might be that the way that works is now obsolete but it certainly wasn't readded! I triple checked that everything was identical as part of the merge.

I think I confused myself because I did find a bunch of stuff that was different after the merge (but was more correct!). Prior to the merge, we had lost a bunch of the Lua fixes that had been in F25 or F26 because they had been made in the upstream and didn't get handled right when we branched, and then whoever did the releases didn't realize they needed to copy the lua outside of the tarball due to RPM limitations. If it's inside the tarball, it isn't available to %include for the scriptlets. That last part was probably my fault for not making sure there was an SOP for doing the releases, but it's no longer an issue.

If it no longer needs to be shipped we need to ensure that the sub package is properly obsoleted and that no documentation points to it.

The only appearance it should make would be in Cloud documentation; the script was there pretty much exclusively for Cloud->Server upgrades, but I made it generic in case we came up with reasons to move in other directions as well.

Pull-Request has been merged by mohanboddu

5 years ago