From Fedora Project Wiki
No edit summary
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{old}}
<!-- Self Contained or System Wide Change Proposal?
<!-- Self Contained or System Wide Change Proposal?
Use this guide to determine to which category your proposed change belongs to.
Use this guide to determine to which category your proposed change belongs to.
Line 20: Line 22:
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->


= Playgrounds repository <!-- The name of your change proposal --> =
= Playground repository <!-- The name of your change proposal --> =


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
The Playground Repository gives contributors a place to host packages that are not up to the standards of the main Fedora Repository but may still be useful to other users. For now the playground repository contains both packages that are destined for eventual inclusion into the main Fedora Repositories and packages that are never going to make it there. Users of the repository should be willing to endure a certain amount of instability to use packages from here.
The Playground repository gives contributors a place to host packages that are not up to the standards of the main Fedora repository but may still be useful to other users. For now the Playground repository contains both packages that are destined for eventual inclusion into the main Fedora repository and packages that are never going to make it there. Users of the repository should be willing to endure a certain amount of instability when using packages from there.


All packages in Playground must play nice - '''no bad licenses, no proprietary software, no patented software'''.  
 
{{admon/important|What the Playground repository will NOT include|
To avoid any potential confusion, we want to make it clear that in the Playground repository all packages must meet the same '''legal guidelines''' as packages in Fedora proper.}}


== Owner ==
== Owner ==
Line 33: Line 37:
This should link to your home wiki page so we know who you are.  
This should link to your home wiki page so we know who you are.  
-->
-->
* Name: [[User:mmaslano| MarcelaMašláňová]]
* Name: [[User:mmaslano| Marcela Mašláňová]]  
* Name: other names?
* Email: mmaslano@redhat.com
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: mmaslano@redhat.com
* Name: [[User:msuchy | Mirek Suchý]]
* Email: msuchy@redhat.com
 
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
Line 44: Line 50:
* Product:
* Product:
-->
-->
* Responsible WG: Env and Stacks WG
* Responsible WG: [[Env and Stacks|Env and Stacks WG]]


== Current status ==
== Current status ==
* Targeted release: [[Releases/21 | Fedora 21 ]]  
* Targeted release: [[Releases/22 | Fedora 22 ]]  
* Last updated: 2014-03-01
* Last updated: 2014-04-08
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Bugzilla states meaning as usual:
Bugzilla states meaning as usual:
Line 57: Line 63:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1091303 #1091303]


== Detailed Description ==
== Detailed Description ==
We are still working on details but the main ideas are finished and described in the [[https://fedoraproject.org/wiki/Env_and_Stacks/Playground_repository_%28draft%29#How_the_repository_works draft]].
We are still working on the details but the main ideas are finished and described in the [[Env_and_Stacks/Playground_repository_(draft)|Playground repository draft]].
 
Packages for the repository are built in [http://copr.fedoraproject.org/ COPR]. The COPR owner can propose the repository as a whole for inclusion into the Playground repository by marking it as such in COPR. Repositories/packages successfully built and satisfying the Playground repository's [[Env_and_Stacks/Playground_repository_(draft)#Policies|Policies]] are provided in the Playgroud repository by dnf plugin. The one Playground repository includes many Copr repositories.


Packages for the repository are built in COPR. The COPR owner can propose the repository as a whole for inclusion into the Playground repository by marking it as such in COPR. Repositories/packages successfully built and satisfying the Playground repository's Policies are marked as the Playgroud repository. The one Playground repository includes many Copr repositories.
Playground repository is only meant to provide packages for Fedora 21 and later versions.
Initially, the repository will be provided as a Beta for a limited number of packagers and testers, so we'll be able to incrementally define the remaining details of the workings of the repository.
To enable the repository, testers will need to use [http://dnf.baseurl.org/ DNF] along with its [http://dnf.baseurl.org/2014/03/19/copr-plugin/ Copr plugin].


== Benefit to Fedora ==
== Benefit to Fedora ==
Users can install interesting packages from ONE place, developers can offer their packages more quickly and their packages can be find easier on one place.
Users will be able to find and install interesting packages from ONE place, instead of using several COPRs or downloading packages from various third party sites.


Packages can be included in distribution, possible bugs can be found before inclusion in Fedora main repo.
Upstream developers and (new) Fedora contributors will be able to more easily and quickly package their applications, since they won't need to follow the current strict [[Packaging:Guidelines]]. Also, their applications will be easier to find by all being at a common place.


The main benefit will be easily installable software, which:
If packages are first included in the Playground repository, potential bugs can be discovered early, before their inclusion in the main Fedora repository.
* is waiting for review too long (ugly sw, bundles, ...)
 
* requires exact version of sw not included in Fedora
The main benefit of the Playground repository will be easier access to software, which is currently not available in the main Fedora repository due to falling into one of the following categories:
* its review is taking very long time (due to its code being lower quality, due to it bundling some libraries, etc.)
* it requires an exact version of some other software not included in the main Fedora repository
* its upstream decided to bundle some libraries and it is *unnatural* and painful to maintain patches that unbundle these bundled libraries


== Scope ==
== Scope ==
<!-- What work do the developers have to accomplish to complete the change in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the developers have to accomplish to complete the change in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Proposal owners: Env and Stack WG
* Proposal owners: [[Env and Stacks|Env and Stack WG]]
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
** Document process, setting, guidelines (if any)
** Communicate with Copr developers


* Other developers:  
* Other developers:  
** Copr devs
** Copr devs
*** Ability to mark an individual COPR for inclusion in the Playground repository.
*** Ability to mark an individual COPR for inclusion in the Playground repository.
*** Build from a git repository URL and revision hash
*** Copr deployment that's considered reliable enough to build packages for this repo  
*** Copr deployment that's considered reliable enough to build packages for this repo  
** Infra
*** Disk space for the yum/dnf repositories
*** Continuously regenerating repodata
*** Daily composes of the Playground repository
*** Copr deployment that's considered reliable enough to build packages for this repo
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
* Release engineering:
** Nice to haves - deltarpms, multilib.
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->


* Policies and guidelines:  
* Policies and guidelines:  
Line 126: Line 129:
== Dependencies ==
== Dependencies ==
* Copr - partially done
* Copr - partially done
* dnf - [http://dnf.baseurl.org/2014/03/19/copr-plugin/ plugin for Coprs]
* dnf - [http://dnf.baseurl.org/2014/03/19/copr-plugin/ plugin for Coprs] must replace yum, otherwise Playground stays in Beta
* infra
* releng


== Contingency Plan ==
== Contingency Plan ==
Line 134: Line 135:
* Contingency mechanism: Do not add the repo during F21.  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: Do not add the repo during F21.  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: I doesn't matter, it doesn't influence Fedora main repo.  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: It doesn't matter, it doesn't influence Fedora main repo.  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 140: Line 141:


== Documentation ==
== Documentation ==
There will documentation of the repository, how to work it and and so on, when we finally figure out all details.
There will be user documentation of the repository, how to work it and and so on, when we finally figure out all details.


== Release Notes ==
== Release Notes ==
Line 156: Line 157:


<!-- Select proper category, default is Self Contained Change -->
<!-- Select proper category, default is Self Contained Change -->
[[Category:SelfContainedChange]]
[[Category:SystemWideChange]]
<!-- [[Category:SystemWideChange]] -->

Latest revision as of 19:09, 28 September 2016

Important.png
Old page
This page has been marked as "old", and likely contains content that is irrelevant or incorrect. If you can, please update this page. This page will be deleted if action is not taken.


Playground repository

Summary

The Playground repository gives contributors a place to host packages that are not up to the standards of the main Fedora repository but may still be useful to other users. For now the Playground repository contains both packages that are destined for eventual inclusion into the main Fedora repository and packages that are never going to make it there. Users of the repository should be willing to endure a certain amount of instability when using packages from there.


Important.png
What the Playground repository will NOT include
To avoid any potential confusion, we want to make it clear that in the Playground repository all packages must meet the same legal guidelines as packages in Fedora proper.

Owner

Current status

Detailed Description

We are still working on the details but the main ideas are finished and described in the Playground repository draft.

Packages for the repository are built in COPR. The COPR owner can propose the repository as a whole for inclusion into the Playground repository by marking it as such in COPR. Repositories/packages successfully built and satisfying the Playground repository's Policies are provided in the Playgroud repository by dnf plugin. The one Playground repository includes many Copr repositories.

Playground repository is only meant to provide packages for Fedora 21 and later versions. Initially, the repository will be provided as a Beta for a limited number of packagers and testers, so we'll be able to incrementally define the remaining details of the workings of the repository. To enable the repository, testers will need to use DNF along with its Copr plugin.

Benefit to Fedora

Users will be able to find and install interesting packages from ONE place, instead of using several COPRs or downloading packages from various third party sites.

Upstream developers and (new) Fedora contributors will be able to more easily and quickly package their applications, since they won't need to follow the current strict Packaging:Guidelines. Also, their applications will be easier to find by all being at a common place.

If packages are first included in the Playground repository, potential bugs can be discovered early, before their inclusion in the main Fedora repository.

The main benefit of the Playground repository will be easier access to software, which is currently not available in the main Fedora repository due to falling into one of the following categories:

  • its review is taking very long time (due to its code being lower quality, due to it bundling some libraries, etc.)
  • it requires an exact version of some other software not included in the main Fedora repository
  • its upstream decided to bundle some libraries and it is *unnatural* and painful to maintain patches that unbundle these bundled libraries

Scope

  • Proposal owners: Env and Stack WG
    • Document process, setting, guidelines (if any)
    • Communicate with Copr developers
  • Other developers:
    • Copr devs
      • Ability to mark an individual COPR for inclusion in the Playground repository.
      • Copr deployment that's considered reliable enough to build packages for this repo
  • Policies and guidelines:
    • Packages must follow the Legal Guidelines. In particular, the license for all packages must be approved in the Legal Guidelines.
    • Packages may violate other Fedora Packaging Guidelines.

Upgrade/compatibility impact

Main repository won't be harmed by Playground.

How To Test

0. Build your package or set of packages in Copr

1. Mark your packages as Playground wanted

2. Wait for addition into Playground repository

3. Add Playground repo and install by PackageKit/dnf

User Experience

User should be able add new repository providing lot of new stuff easily.

Dependencies

  • Copr - partially done
  • dnf - plugin for Coprs must replace yum, otherwise Playground stays in Beta

Contingency Plan

  • Contingency mechanism: Do not add the repo during F21.
  • Contingency deadline: It doesn't matter, it doesn't influence Fedora main repo.
  • Blocks release? No
  • Blocks product? Doesn't block a product. Another repo, different than Playground, could be, but we are not providing any other at this moment.

Documentation

There will be user documentation of the repository, how to work it and and so on, when we finally figure out all details.

Release Notes