> == Technical implementation == > > * There is a <code>fedora-third-party</code> package with a > <code>fedora-third-party</code> script with > <code>enable/disable/refresh/query</code> subcommands. The status is > stored in <code>/etc/fedora-third-party.conf</code> > * Packages like <code>fedora-workstation-repositories</code> that > include third-party repositories will drop config files into > <code>/etc/fedora-third-party.d/*.conf</code>. There will be a > post-transaction file trigger to run <code>fedora-third-party > refresh</code>, which applies the users opt-in status to newly > installed repository files. For packaged stuff, please do: s|/etc/fedora-third-party.conf|/usr/lib/fedora-third-party.conf| We shouldn't add yet more stuff in /etc/. Zbyszek > * We add a new page to GNOME Initial Setup that asks a single > question, *along the lines of*:<br> > '''Enable Third Party Software repositories?''' <br> > ☑ Access additional software from selected third party sources. Some > of this software is proprietary and therefore has restrictions on use, > sharing, and access to source code. <br> > [Find out more...](https://fedoraproject.org/wiki/Workstation/Third_Party_Software_Repositories) > * If the user leaves the box checked, GNOME Initial setup runs > `fedora-third-party enable`. > * For upgrades, GNOME Software shows an info-bar with the same > question if no status is stored in `/etc/fedora-thirdparty.conf` > > == Feedback == > <!-- Summarize the feedback from the community and address why you > chose not to accept proposed alternatives. This section is optional > for all change proposals but is strongly suggested. Incorporating > feedback here as it is raised gives FESCo a clearer view of your > proposal and leaves a good record for the future. If you get no > feedback, that is useful to note in this section as well. For > innovative or possibly controversial ideas, consider collecting > feedback before you file the change proposal. --> > > == Benefit to Fedora == > > The main benefit of this proposal is the removal of the state where > the user has opted in to third party repositories but they are not > actually enabled. PackageKit supports the > <code>enabled_metadata=1</code> key in a repository file, which allows > applications to be searched in this state, but this is not supported > by DNF. > > The new method is also easily extensible to Flatpaks, where there also > no equivalent to <code>enabled_metadata=1</code>, even in GNOME > Software. > > == Scope == > * Proposal owners: Create and test proposed > <code>fedora-third-party</code> package. Implement the graphical > controls for this in GNOME Software and gnome-initial-setup. > * Release engineering: [https://pagure.io/releng/issue/10186 #10186] > No changes are required. > * Policies and guidelines: Third-party Software guidelines will need > minor changes to remove references to `enabled_metadata=1`. Pending > finalization of technical implementation. > * Trademark approval: N/A (not needed for this Change) > * Alignment with Objectives: No real alignment > > == Upgrade/compatibility impact == > Because the "opt-in" status to 3rd party software is currently > represented by whether fedora-workstation-repositories is installed, > and because fedora-workstation-repositories will become an > installed-by-default package, users will need to opt-in again. > > They can do this either by responding in the infobar that will be > displayed in GNOME Software, or by running <code>fedora-third-party > enable</code> on the command line. > > == How To Test == > * A fresh install of Fedora Workstation where the user ''does not'' > opt-in should have all repositories disabled. > * A fresh install of Fedora Workstation where the user ''does'' opt-in > should have all 3rd-party repositories enabled. > * On an upgrade from F34, if the user opts-out, the enablement status > of third-party repositories should be ''unchanged'' (try enabling one > before the upgrade) > * On an upgrade from F35, if the user opts-in, all 3rd party > repositories should be enabled. > > == User Experience == > The user will get less confusing behavior around third-party > repositories - enabled will mean enabled and will take affect no > matter how they are installing packages. > > See https://hackmd.io/@owtaylor/fedora-third-party-repos for a > detailed description of the *current* experience along with some notes > about the desired behavior. > > == Dependencies == > The changes are limited to the following packages: > > * The new `fedora-third-party` package > * `fedora-workstation-repositories` > * `gnome-software` > * `gnome-initial-setup` > * `fedora-release-workstation` and other release packages that will > now require fedora-workstation-repositories. > > This change proposal is a prerequisite for a separate change proposal > to add a filtered view of Flathub to the set of third-party > repositories. > > == Contingency Plan == > * Contingency mechanism: revert all changes back to the F34 state. > (This will also require reverting the filtered-view-of-Flathub > change.) > * Contingency deadline: beta freeze > * Blocks release? Yes - this needs to be finished or reverted > > == Documentation == > '''This should be a link to a man page for the `fedora-third-party` tool''' > > == Release Notes == > Fedora optionally provides repository definitions allowing users to > install certain third-party software. This used to be done as a > two-step process where when the user asked to enable third-party > repositories, the repository definitions were installed but not > actually enabled, and they had to be separately enabled. With Fedora > 35, this is simplified so that the repository definitions are > installed by default, but only enabled if the user opts in. > > If you are upgrading from an older version of Fedora, you'll need to > opt-in again - this can be done by running GNOME Software and > accepting the prompt that is shown on the initial page. Alternatively, > you can run <code>fedora-third-party enable</code> from the command > line. If you do not wish to enable third-party repositories, no action > is needed. > > > -- > Ben Cotton > He / Him / His > Fedora Program Manager > Red Hat > TZ=America/Indiana/Indianapolis > _______________________________________________ > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx > Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx > Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure