From Fedora Project Wiki
No edit summary
 
(50 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:FASAcountName| Your Name]]
* Name: [[User:mmaslano| Marcela Mašláňová]]  
* 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: <your email address so we can contact you, invite you to meetings, etc.>
* 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 43: 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/<number> | Fedora 21 ]]  
* Targeted release: [[Releases/22 | Fedora 22 ]]  
* Last updated: (DATE)
* 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 56: 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 ==
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
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.
 
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 ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
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 ==
== 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:
* 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: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers:  
<!-- 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?-->
** Copr devs
 
*** Ability to mark an individual COPR for inclusion in the Playground repository.
* Release engineering: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
*** Copr deployment that's considered reliable enough to build packages for this repo
<!-- 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: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines:  
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
** 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 ==
== Upgrade/compatibility impact ==
Line 83: Line 107:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)
Main repository won't be harmed by Playground.


== How To Test ==
== How To Test ==
Line 91: Line 115:


A good "how to test" should answer these four questions:
A good "how to test" should answer these four questions:
-->
0. Build your package or set of packages in Copr


0. What special hardware / data / etc. is needed (if any)?
1. Mark your packages as Playground wanted
1. How do I prepare my system to test this change? What packages
 
need to be installed, config files edited, etc.?
2. Wait for addition into Playground repository
2. What specific actions do I perform to check that the change is
working like it's supposed to?
3. What are the expected results of those actions?
-->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
3. Add Playground repo and install by PackageKit/dnf
N/A (not a System Wide Change)


== User Experience ==
== User Experience ==
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
User should be able add new repository providing lot of new stuff easily.
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
* Copr - partially done
 
* dnf - [http://dnf.baseurl.org/2014/03/19/copr-plugin/ plugin for Coprs] must replace yum, otherwise Playground stays in Beta
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: N/A (not a System Wide Change) <!-- 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: N/A (not a System Wide Change) <!-- 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? N/A (not a System Wide Change), No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? Unknown at this point
* 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 ==
== Documentation ==
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
There will be user documentation of the repository, how to work it and and so on, when we finally figure out all details.
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== Release Notes ==
== Release Notes ==
Line 143: 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

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.


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