From Fedora Project Wiki
(Add the opposing rationale for union)
Line 23: Line 23:
* Conflicts
* Conflicts
* Alternatives
* Alternatives
=== Identifying the Product ===
* /etc/os-release?
* /etc/fedora-release?
* /etc/fedora-release.d?

Revision as of 19:25, 7 March 2014

We want to have products be able to specify divergent and conflicting behaviour.

Use cases

Agreed upon

(at least sgallagh and abadger1999 :-)

  1. install time -- we want the product you're installing to determine which configuration you get.
  2. installing a package on an existing system -- if it has separate config, we'd like the package manager to choose the configuration for the product you're using.
  3. Want to have a single tool that can switch default configs per-package. Which things you can switch may depend on what combinations we support and how the user has selected which Products are "active" on their system.
    1. Tool should not switch out user-modified configs unless run with --force


  1. Product union: Installed Cloud or Server but want a graphical environment. Preference is to make that be Workstation.
    1. recommendation implementation: the defaults should not change for anything that was part of the installed Product, but new packages should get the Workstation default
    2. sgallagh thinks this would make sense as it might mean we can benefit from some of the testing of the Workstation Product for the GUI-on-Server case
    3. abadger1999 thinks this would make things harder for testing and debugging as you get into cases where you're running part of the system installed as if for Workstation and part as if installed for Server. You'll run into cases where the two parts of the system will be making different assumptions.
  2. Product conversion: Installed Cloud or Server but want a graphical environment. Convert existing config to workstation and install additional packages on top to get a Graphical environment.

Possible Implementations

  • Conflicts
  • Alternatives

Identifying the Product

  • /etc/os-release?
  • /etc/fedora-release?
  • /etc/fedora-release.d?