#24 Updates policy: Clean up asciidoc conversion, freshen content
Closed 3 years ago by ferdnyc. Opened 4 years ago by ferdnyc.
fesco/ ferdnyc/fesco-docs adoc-conversion-fixes  into  master

file added
+46
@@ -0,0 +1,46 @@ 

+ #!/bin/sh

+ 

+ image="docker.io/antora/antora"

+ cmd="--html-url-extension-style=indexify site.yml"

+ 

+ if [ "$(uname)" == "Darwin" ]; then

+     # Running on macOS.

+     # Let's assume that the user has the Docker CE installed

+     # which doesn't require a root password.

+     echo ""

+     echo "This build script is using Docker container runtime to run the build in an isolated environment."

+     echo ""

+     docker run --rm -it -v $(pwd):/antora $image $cmd

+ 

+ elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then

+     # Running on Linux.

+     # Check whether podman is available, else faill back to docker

+     # which requires root.

+ 

+     if [ -f /usr/bin/podman ]; then

+         echo ""

+         echo "This build script is using Podman to run the build in an isolated environment."

+         echo ""

+ 	podman run --rm -it -v $(pwd):/antora:z $image $cmd

+ 

+     elif [ -f /usr/bin/docker ]; then

+         echo ""

+         echo "This build script is using Docker to run the build in an isolated environment."

+         echo ""

+ 

+         if groups | grep -wq "docker"; then

+ 	    docker run --rm -it -v $(pwd):/antora:z $image $cmd

+ 	else

+             echo ""

+             echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password."

+             echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/."

+             echo ""

+             sudo docker run --rm -it -v $(pwd):/antora:z $image $cmd

+ 	fi

+     else

+         echo ""

+ 	echo "Error: Container runtime haven't been found on your system. Fix it by:"

+ 	echo "$ sudo dnf install podman"

+ 	exit 1

+     fi

+ fi

@@ -83,58 +83,66 @@ 

  Anytime a releng ticket is open, please cross reference it from the bug

  report.

  

+ == Packages exempted from this policy

+ 

+ * link:https://pagure.io/fesco/issue/2331[shim, shim-unsigned-aarch64, shim-unsigned-x64]

+   are temporarily exempted from the FTBFS policy until upstream release of shim 16.

  

  == Tracking bugs

  

  * link:https://bugzilla.redhat.com/showdependencytree.cgi?id=440169[generic

- FTBFS blocker bug]

+   FTBFS blocker bug]

  * link:https://bugzilla.redhat.com/showdependencytree.cgi?id=440169&hide_resolved=1[F9FTBFS]

  * link:https://bugzilla.redhat.com/showdependencytree.cgi?id=463452&hide_resolved=1[F10FTBFS]

  * F11 was handled by Release Engineering, no FTBFS bugs were filed.

- link:http://jkeating.fedorapeople.org/needed-f11-rebuilds.html[]

- (link:https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild[Fedora 11 Mass Rebuild])

+   link:http://jkeating.fedorapeople.org/needed-f11-rebuilds.html[]

+   (link:https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild[Fedora 11 Mass Rebuild])

  * link:https://bugzilla.redhat.com/showdependencytree.cgi?id=511348&hide_resolved=1[F12FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild[Fedora 12 Mass Rebuild])

+   (link:https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild[Fedora 12 Mass Rebuild])

  * link:https://bugzilla.redhat.com/showdependencytree.cgi?id=538681&hide_resolved=1[F13FTBFS]

  ** link:https://bugzilla.redhat.com/showdependencytree.cgi?id=564245&hide_resolved=1[F13FTBFS

- due to] Features/ChangeInImplicitDSOLinking

+    due to] Features/ChangeInImplicitDSOLinking

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=596849[F14FTBFS]

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=659965[F15FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild[Fedora 15 Mass Rebuild])

+   (link:https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild[Fedora 15 Mass Rebuild])

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=713919[F16FTBFS]

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=817273[F17FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild[Fedora 17 Mass Rebuild])

+   (link:https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild[Fedora 17 Mass Rebuild])

  * There seem to be no FTBFS bugs reported for Fedora 18, list of failed

- builds from the mass rebuild:

- link:http://fedorapeople.org/~ausil/f18-failures.html[]

- (link:https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild[Fedora 18 Mass Rebuild])

+   builds from the mass rebuild:

+   link:http://fedorapeople.org/~ausil/f18-failures.html[]

+   (link:https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild[Fedora 18 Mass Rebuild])

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=913825[F19FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild[Fedora 19 Mass Rebuild])

+   (link:https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild[Fedora 19 Mass Rebuild])

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=991858[F20FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild[Fedora 20 Mass Rebuild])

+   (link:https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild[Fedora 20 Mass Rebuild])

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=1105908[F21FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild[Fedora 21 Mass Rebuild])

+   (link:https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild[Fedora 21 Mass Rebuild])

  * F22?

  * F23? (link:https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild[Fedora 23 Mass Rebuild])

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=1305208[F24FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild[Fedora 24 Mass Rebuild])

+   (link:https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild[Fedora 24 Mass Rebuild])

  * No mass rebuild in F25

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=1423041[F26FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild[Fedora 26 Mass Rebuild])

+   (link:https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild[Fedora 26 Mass Rebuild])

  * F27? (link:https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild[Fedora 27 Mass Rebuild])

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=1555378[F28FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild[Fedora 28 Mass Rebuild]),

+   (link:https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild[Fedora 28 Mass Rebuild]),

    link:https://bugzilla.redhat.com/show_bug.cgi?id=1700320[F28FailsToInstall]

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=1602938[F29FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild[Fedora 29 Mass Rebuild]),

+   (link:https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild[Fedora 29 Mass Rebuild]),

    link:https://bugzilla.redhat.com/show_bug.cgi?id=1700321[F29FailsToInstall]

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=1674516[F30FTBFS]

- (link:https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild[Fedora 30 Mass Rebuild]),

+   (link:https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild[Fedora 30 Mass Rebuild]),

    link:https://bugzilla.redhat.com/show_bug.cgi?id=1700323[F30FailsToInstall]

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=1700317[F31FTBFS],

    link:https://bugzilla.redhat.com/show_bug.cgi?id=1700324[F31FailsToInstall]

  * link:https://bugzilla.redhat.com/show_bug.cgi?id=1750908[F32FTBFS],

    link:https://bugzilla.redhat.com/show_bug.cgi?id=1750909[F32FailsToInstall]

+ * link:https://bugzilla.redhat.com/show_bug.cgi?id=1803234[F33FTBFS],

+   link:https://bugzilla.redhat.com/show_bug.cgi?id=1803235[F33FailsToInstall]

+ * link:https://bugzilla.redhat.com/show_bug.cgi?id=1868278[F34FTBFS],

+   link:https://bugzilla.redhat.com/show_bug.cgi?id=1868279[F34FailsToInstall]

  

  == What to do if you get a FTBFS bug?

  
@@ -143,32 +151,33 @@ 

  

  .  Fix the problems uncovered and commit the changes.

  .  Build the package. The fixed package will land in rawhide, generally

- the next day. If branching has already occurred, also fix the build in

- branched.

+    the next day. If branching has already occurred, also fix the build in

+    branched.

  .  If the build succeeds, close the bug as CLOSED: RAWHIDE, and include

- the package version number in the _Fixed In Version_ field.

+    the package version number in the _Fixed In Version_ field.

      Here is a command line template for powerusers:

      `bugzilla modify --close RAWHIDE <bug-number> --comment

      'Built successfully in rawhide' -F <package-nevr>`

  .  If branching already occurred, but bodhi hasn't been activated yet,

- also build the package in branched.

+    also build the package in branched.

  .  If bodhi has already been activated for branched, also make an

- update. An update should be made even if branched has already been

- released.

+    update. An update should be made even if branched has already been

+    released.

  

  * If the build of your package fails due to a bug in *another package*

  (such as a compiler bug or missing dependency):

  

  .  Find an existing bug for that package describing the problem. Set

- your bug to "Depends on" that other bug. Do not change the component of

- your bug to the other package, or you will get more FTBFS bugs created

- against you.

+    your bug to "Depends on" that other bug. Do not change the component of

+    your bug to the other package, or you will get more FTBFS bugs created

+    against you.

  .  When that other bug is closed, you'll get an email from bugzilla as

- usual. Rebuild your package using a koji scratch build, to verify it

- builds cleanly again. Proceed according to points 2-5 above.

+    usual. Rebuild your package using a koji scratch build, to verify it

+    builds cleanly again. Proceed according to points 2-5 above.

  

  * If the package is no longer useful to the Fedora project, it should be

- retired.

+   retired.

+ +

  See link:https://fedoraproject.org/wiki/How_to_remove_a_package_at_end_of_life[How

  to remove a package at end of life].

  

@@ -1,38 +1,45 @@ 

- == Package maintainer responsibilities

+ = Package maintainer responsibilities

  :experimental:

  :toc:

  

- link:Package_maintainer[Package maintainers] take care of the packages in Fedora. This includes both the packaging of upstream software into Fedora rpms and working with upstream to improve the software in various ways.

+ link:https://fedoraproject.org/wiki/Category:Package_Maintainers[Package maintainers] take care of the packages in Fedora.

+ This includes both the packaging of upstream software into Fedora rpms and working with upstream to improve the software in various ways.

  

  == How long to maintain?

  

- Each Fedora release lasts at least 13 months until it reaches end of life. A package maintainer is responsible for the package for at least this length of time. Refer to link:Fedora_Release_Life_Cycle[Fedora Release Life Cycle] for more details.

+ Each Fedora release lasts at least 13 months until it reaches end of life.

+ A package maintainer is responsible for the package for at least this length of time.

+ Refer to link:https://fedoraproject.org/wiki/Fedora_Release_Life_Cycle[Fedora Release Life Cycle] for more details.

  

  == Belong to the appropriate low-traffic mailing list

  

- Package maintainers will receive important announcements through the moderated devel-announce mailing list. Maintainers will be automatically subscribed to this list. Everyone that is a primary maintainer of a package in Fedora is also strongly encouraged to subscribe to the devel list, though this is not mandatory.

+ Package maintainers will receive important announcements through the moderated devel-announce mailing list.

+ Maintainers will be automatically subscribed to this list.

+ Everyone that is a primary maintainer of a package in Fedora is also strongly encouraged to subscribe to the devel list, though this is not mandatory.

  

  * link:https://admin.fedoraproject.org/mailman/listinfo/devel-announce[]

  * link:https://admin.fedoraproject.org/mailman/listinfo/devel[]

  

  == Manage security issues

  

- * Package maintainer should handle security issues quickly, and if they need help they should contact the link:Security/ResponseTeam[Security Response Team].

+ Package maintainer should handle security issues quickly, and if they need help they should contact the link:https://fedoraproject.org/wiki/Category:Security_Team#Contact[Security Response Team].

  

  == Work with upstream

  

- It is recommended that package maintainers work closely with upstream wherever possible. This can include:

+ It is recommended that package maintainers work closely with upstream wherever possible.

+ This can include:

  

  * Send any changes to upstream.

  * Participate on the upstream mailing list.

  * Get an account on upstream bug trackers.

  * Forward severe bugs upstream when possible for assistance.

  

- Refer to link:staying_close_to_upstream_projects[staying close to upstream projects] for more information on this.

+ Refer to link:https://fedoraproject.org/wiki/Staying_close_to_upstream_projects[staying close to upstream projects] for more information on this.

  

  == Work with Testing

  

- There are lots of places for package maintainers to interface with QA to improve the quality of Fedora. It is recommended that maintainers:

+ There are lots of places for package maintainers to interface with QA to improve the quality of Fedora.

+ It is recommended that maintainers:

  

  * On package submission, provide information to QA on how to debug/triage the package, for use for bug submitters and triagers

  * Provide test cases of general functionality, for use when testing for regressions
@@ -40,42 +47,62 @@ 

  

  == Deal with reported bugs in a timely manner

  

- * If you find yourself unable to handle the load of bugs from your package(s), please ask for assistance on the link:https://admin.fedoraproject.org/mailman/listinfo/devel[devel] and/or link:https://admin.fedoraproject.org/mailman/listinfo/test[test] lists. Teaching triagers about how to triage your bugs or getting help from other maintainers can not only reduce your load, but improve Fedora. Consider reaching out for some (more) co-maintainers to assist as well.

- * If there are bugs which you aren't capable of fixing yourself because they deal with intricacies of the source code which you don't fully understand, then you still need to address these bugs. It can be helpful to work with the upstream maintainer of the code, obtain help from more code-oriented people on fedora-devel, or check other distributions for patches. Always be sure to post to the bug report what you have done so that the reporter knows what it happening and what to expect. It is recommended that non-coder packagers should find co-maintainers who are familiar with the programming language used by their package(s), and can help with such bugs as a kind of 'second line support'.

+ * If you find yourself unable to handle the load of bugs from your package(s), please ask for assistance on the link:https://admin.fedoraproject.org/mailman/listinfo/devel[devel] and/or link:https://admin.fedoraproject.org/mailman/listinfo/test[test] lists.

+   Teaching triagers about how to triage your bugs or getting help from other maintainers can not only reduce your load, but improve Fedora.

+   Consider reaching out for some (more) co-maintainers to assist as well.

+ * If there are bugs which you aren't capable of fixing yourself because they deal with intricacies of the source code which you don't fully understand, then you still need to address these bugs.

+   It can be helpful to work with the upstream maintainer of the code, obtain help from more code-oriented people on fedora-devel, or check other distributions for patches.

+   Always be sure to post to the bug report what you have done so that the reporter knows what it happening and what to expect.

+   It is recommended that non-coder packagers should find co-maintainers who are familiar with the programming language used by their package(s), and can help with such bugs as a kind of 'second line support'.

  * Try and solve bugs or issues for the release against which they were reported, or if that is impractical note to bug reporters why their bug cannot be fixed in that release

  

  == Package updates

  

- link:PackageMaintainers/Package_update_guidelines[Package update guidelines] provides guidance for maintainers updating packages on an already-released branch. In summary, however, maintainers should bear in mind that:

+ The link:https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/[Package update policy] provides guidance for maintainers updating packages on an already-released branch.

+ In summary, however, maintainers should bear in mind that:

  

- 1.  Many Fedora users update automatically, so it is most important that an update doesn't cause a users' applications or system to stop working suddenly.

- 2.  Fedora users who do not update automatically may review the descriptions attached to updates before choosing whether they should apply them.

- 3.  Not all Fedora users have good Internet bandwidth available and may prefer a single update with multiple changes rather than many updates in a short period.

+ * Many Fedora users update automatically, so it is most important that an update doesn't cause a users' applications or system to stop working suddenly.

+ * Fedora users who do not update automatically may review the descriptions attached to updates before choosing whether they should apply them.

+ * Not all Fedora users have good Internet bandwidth available and may prefer a single update with multiple changes rather than many updates in a short period.

  

  == Mentor and watch over co-maintainers

  

- When you take on co-maintainers you enter into a partnership with them. They are able to work on the package which takes some of the burden off of you but you need to also be prepared to both help them along and make sure they aren't committing any grevious mistakes. So do be available to answer questions that the co-maintainers may have and also keep an eye on the changes they make to the package to keep issues from cropping up unexpectedly.

+ When you take on co-maintainers you enter into a partnership with them.

+ They are able to work on the package which takes some of the burden off of you but you need to also be prepared to both help them along and make sure they aren't committing any grevious mistakes.

+ So do be available to answer questions that the co-maintainers may have and also keep an eye on the changes they make to the package to keep issues from cropping up unexpectedly.

  

  Watching over the changes to your package also goes for changes made by people who are not explicit co-maintainers if you have opened your package for any packager to commit to.

  

- You can also take on co-maintainers that are not yet sponsored into the packager group provided that you agree to mentor them in the ways of packaging for Fedora: teaching them both about the tools we use and the link:https://fedoraproject.org/wiki/Packaging:Guidelines[ packaging guidelines] they need to follow. See the link:How_to_get_sponsored_into_the_packager_group#Become_a_comaintainer[ How to get sponsored page] for details on getting a new packager sponsored if you are not a sponsor yourself.

+ You can also take on co-maintainers that are not yet sponsored into the packager group provided that you agree to mentor them in the ways of packaging for Fedora: teaching them both about the tools we use and the link:https://fedoraproject.org/wiki/Packaging:Guidelines[ packaging guidelines] they need to follow.

+ See the link:https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group#Become_a_comaintainer[ How to get sponsored page] for details on getting a new packager sponsored if you are not a sponsor yourself.

  

  == Track dependency issues in a timely manner

  

- * In Rawhide, updates to packages may cause other packages to have broken dependencies. Maintainers will be alerted when this happens, and should work to rebuild their packages with all due haste. Broken dependencies may leave end user systems in a state where no updates will be applied. In order to keep the distribution in a reasonable state, someone will step in and rebuild packages that have had dependency issues for some time, but package maintainers should not rely on these rebuilds.

+ In Rawhide, updates to packages may cause other packages to have broken dependencies.

+ Maintainers will be alerted when this happens, and should work to rebuild their packages with all due haste.

+ Broken dependencies may leave end user systems in a state where no updates will be applied.

+ In order to keep the distribution in a reasonable state, someone will step in and rebuild packages that have had dependency issues for some time, but package maintainers should not rely on these rebuilds.

  

  == Notify others of changes that may affect their packages

  

- * Some packages are depended upon by others; in this case, changes to one package may cause issues for others. Maintainers should be aware of the effects that changes to their packages may have, and should alert to the fedora-devel-announce mailing list of updates which contain ABI or API changes which may cause dependency problems for other packages. The announcement should occur a week before the packages update, so all maintainers affected are notified. The announcement should include the following information:

- ** Nature of the change.

- ** Branches (Rawhide, F9, etc.) which will be affected by the change.

- ** Expected date of the change.

- ** List of packages which are affected by the change. Generally, this is merely the list of packages which depend directly on the package which is being updated, and can be found with `repoquery --whatrequires <package>` where `<package>` is the package being updated.

- ** If your package upgrade breaks other packages in Rawhide, you should try to help fix the packages affected. For example, if you're a provenpackager, queue the rebuilds yourself.

+ Some packages are depended upon by others; in this case, changes to one package may cause issues for others.

+ Maintainers should be aware of the effects that changes to their packages may have, and should alert to the fedora-devel-announce mailing list of updates which contain ABI or API changes which may cause dependency problems for other packages.

+ 

+ The announcement should occur a week before the packages update, so all maintainers affected are notified.

+ The announcement should include the following information:

+ 

+ * Nature of the change.

+ * Branches (Rawhide, F9, etc.) which will be affected by the change.

+ * Expected date of the change.

+ * List of packages which are affected by the change.

+   Generally, this is merely the list of packages which depend directly on the package which is being updated, and can be found with `repoquery --whatrequires <package>` where `<package>` is the package being updated.

+ * If your package upgrade breaks other packages in Rawhide, you should try to help fix the packages affected.

+   For example, if you're a provenpackager, queue the rebuilds yourself.

  

  == Respect Schedules

  

- Each Fedora release has a schedule indicating, among others, freezes such as string freeze : link:Releases/20/Schedule[see for example planning for F20]. When creating a new package or updating an existing package, the release planning has to be respected.

+ Each Fedora release has a https://fedorapeople.org/groups/schedule/[schedule] indicating, among others, freezes such as string freeze.

+ When creating a new package or updating an existing package, the release planning has to be respected.

  

  == Miscellaneous Items

  
@@ -83,5 +110,7 @@ 

  +

  F(current-1) -> F(current) -> Rawhide

  

- * Packages should be pushed to the Rawhide branch first. If it builds and works fine for a few days, then it can be pushed to F(current). If there is a good reason to push it to F(current-1), it should be done after a few days of being in F(current).

+ * Packages should be pushed to the Rawhide branch first.

+   If it builds and works fine for a few days, then it can be pushed to F(current).

+   If there is a good reason to push it to F(current-1), it should be done after a few days of being in F(current).

  * When releasing a new package to a stable release branch, they should be pushed to the testing repo first in most cases.

@@ -4,6 +4,18 @@ 

  

  The following are the members of previous FESCos.

  

+ [[members-of-december-2019---june-2020]]

+ == Members of December 2019 - June 2020

+ * link:https://fedoraproject.org/wiki/User:Kevin[Kevin Fenzi] (nirik) — F32/F33

+ * link:https://fedoraproject.org/wiki/User:zbyszek[Zbigniew Jędrzejewski-Szmek] (zbyszek) — F32/F33

+ * link:https://fedoraproject.org/wiki/User:Bookwar[Aleksandra Fedorova] (bookwar) — F31/F32

+ * link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] (sgallagh) — F31/F32

+ * link:https://fedoraproject.org/wiki/User:Psabata[Petr Šabata] (contyk/psabata) — F31/F32

+ * link:https://fedoraproject.org/wiki/User:Churchyard[Miro Hrončok] (churchyard/mhroncok) — F32/F33

+ * link:https://fedoraproject.org/wiki/User:Ignatenkobrain[Igor Gnatenko] (ignatenkobrain) — F31/F32

+ * link:https://fedoraproject.org/wiki/User:Dcantrel[David Cantrell] (dcantrel) — F32/F33

+ * link:https://fedoraproject.org/wiki/User:Decathorpe[Fabio Valentini] (decathorpe) — F32/F33

+ 

  [[members-of-june-2019---december-2019]]

  == Members of June 2019 - December 2019

  

@@ -2,7 +2,7 @@ 

  

  End users sometimes want to install software that is not provided by Fedora. This policy lays out the extent to which Fedora Products can make it easier for end users to do that.

  

- At the moment, FESCo policy is that no third party repositories can be configured in package managers in Fedora. However, Fedora may ship application search software that searches for applications in some specific third party repositories in addition to the Fedora Main Repository and install packages from them. This application search software can search for applications in these specific third party repositories as long as the user is explicitly asked to enable the repository before installing packages from them.

+ FESCo policy is that no third party repositories can be included in Fedora, other than according to the following exceptions.

  

  == Copr Repositories

  
@@ -20,11 +20,11 @@ 

  Of course, Fedora doesn't have the only software repositories that contain free (libre) software. There are other third party repositories that Fedora users want to use. Since Red Hat has no relationship with these repositories as it does with Copr repositories, allowing things in Fedora to point users to these repositories would represent a new legal liability. Fedora Legal would need to audit the packages in these repositories for legal problems both when the repositories are initially approved and on an ongoing basis (as the software in the repositories is updated, Fedora Legal would need to check that the new versions of packages in the repository remained legally okay for us to point people at.) For this reason, the rules for including a non-Copr third party repository are more strict than for Copr repos.

  

  * Third party repositories that host diverse pieces of software (a repository like Fedora before it became a Red Hat community project, for instance) cannot be searched or enabled. This is because it would simply be too much work for Fedora Legal to audit such a repository.

- * Repositories that enable a specific piece of free software may be pointed at in the same way as COPRs. However, they must be approved by both FESCo and Fedora Legal first.

+ * Repositories that enable a specific piece of free software may be shipped if the repo file has the `enabled=0` and `enabled_metadata=0` settings. They must be approved by both FESCo and Fedora Legal first.

  * Fedora Legal is not limited to simply evaluating the repositories on Legal criteria. Because they are responsible for auditing the third party repositories on an ongoing basis, they have discretion to say no for other reasons including (but not limited to) simply not having time to take on the auditing of more repositories.

  * FESCo and Fedora Legal can remove approval as well as grant it. This is due in part to the work that ongoing maintenance represents to Fedora Legal and also to the fact that package updates in the repositories could mean we no longer want to point to them.

  

- Application installers in the main Fedora repositories may search repositories that are currently approved under the above list as long as they explicitly ask the user to enable the third party repository as noted in the introductory section.

+ Application installers in the main Fedora repositories must explicitly ask the user to enable the third party repository in order to search its content or install from it.

  

  == Repositories with non-free (libre) software

  

@@ -19,13 +19,22 @@ 

  

  link:https://fedoraproject.org/wiki/Releases/Rawhide[Rawhide] is the always-rolling development tree.

  Package updates built for rawhide are composed every day and pushed out to all rawhide consumers.

- There are no "_updates_" or "_updates-testing_" Repositories for rawhide. The Bodhi updates system is

- not used. New builds against this tree also are added to the build root (i.e., other packages build

- from them) daily (usually).

+ New builds against this tree also are added to the build root (i.e., other packages build from them).

  

  Repos available: link:https://fedoraproject.org/wiki/Repositories#rawhide[_rawhide_]

  

- For updates to rawhide packages, Maintainers *SHOULD*:

+ Since link:https://fedoraproject.org/wiki/Changes/GatingRawhidePackages[Rawhide Gating change] was introduced,

+ package updates in Fedora Rawhide need to pass verification before they land in the rawhide repositories. This

+ is implemented as a check for a Bodhi update, which verifies that the update satisfies the Gating policy. See

+ link:https://docs.fedoraproject.org/en-US/rawhide-gating/single-builds/[Rawhide Gating/single-builds] and

+ link:https://docs.fedoraproject.org/en-US/rawhide-gating/multi-builds/[Rawhide Gating/multi-builds] for

+ details.

+ 

+ Currently the default gating policy is empty, thus Fedora Rawhide update can pass the gate, no matter the test

+ results. Package maintainer can opt-in for the gating of a package, by setting up individual gating policies,

+ see link:https://docs.fedoraproject.org/en-US/rawhide-gating/optin/[Rawhide Gating/optin].

+ 

+ For updates to Rawhide packages, Maintainers SHOULD:

  

  * Try not to push a broken build (breaks the default buildroot package set, etc).

  * When a proposed update contains an ABI or API change: notify *a week in advance* both the
@@ -63,7 +72,7 @@ 

  link:https://fedoraproject.org/wiki/Repositories#stable[stable] immediately, and sent to the

  link:https://fedoraproject.org/wiki/Repositories#fedora[_fedora_ repository] directly in the next nightly

  compose. There are no restrictions beyond those for Rawhide at this point, but maintainers *SHOULD* be

- thinking about stabilization from this point onwards, and making sure their packages will be in good

+ thinking about stabilization from this point onward, and making sure their packages will be in good

  condition well in advance of the stable release. Some packages will be signed at this point, but not

  all of them. You may have to use `--nogpgcheck` to install or update.

  
@@ -99,14 +108,18 @@ 

  Repos available: link:https://fedoraproject.org/wiki/Repositories#fedora[_fedora_],

  link:https://fedoraproject.org/wiki/Repositories#updates-testing[_updates-testing_]

  

- From this point onwards Maintainers **MUST**footnote:enforced[_Must_ requirements are enforced by Bodhi.]:

+ From this point onward Maintainers

+ **MUST**footnote:enforced[_Must_ requirements are enforced by Bodhi.]:

  

  * Push all updates first to updates-testing.

- * All link:https://fedoraproject.org/wiki/Critical_path_package[critical path] updates *MUST* either get

-   one +1 karma, *OR* spend at least 14 days in updates-testing and have no negative karma before being

-   moved to stable.

- * All non critical path updates *MUST* either reach the prescribed karma level for that update, OR

-   spend at least 3 days in updates-testing before being allowed to move to stable.

+ * All link:https://fedoraproject.org/wiki/Critical_path_package[critical path] updates

+   *MUST* either get one +1 karma,

+   *OR* spend at least 14 days in updates-testing and have no negative karma

+   before being moved to stable.

+ * All non critical path updates

+   *MUST* either reach the prescribed karma level for that update,

+   *OR* spend at least 3 days in updates-testing

+   before being allowed to move to stable.

  

  and Maintainers *SHOULD* (not enforced):

  
@@ -143,15 +156,19 @@ 

  Repos available: link:https://fedoraproject.org/wiki/Repositories#fedora[_fedora_],

  link:https://fedoraproject.org/wiki/Repositories#updates-testing[_updates-testing_]

  

- From this point onwards maintainers **MUST**footnote:enforced[]:

+ From this point onward maintainers **MUST**footnote:enforced[]:

  

  * Avoid Major version updates, ABI breakage or API changes if at all possible.

  * Push updates first to updates-testing.

  * All link:https://fedoraproject.org/wiki/Critical_path_package[critical path]

-   updates *MUST* either have a sum of +2 karma,

-   *OR* spend at least 14 days in updates-testing and have no negative karma.

- * All non critical path updates *MUST* either reach the prescribed karma level for that update,

-   *OR* spend at least 7 days in updates-testing before being allowed to go to stable.

+   updates

+   *MUST* either have a sum of +2 karma,

+   *OR* spend at least 14 days in updates-testing

+   and have no negative karma.

+ * All non critical path updates

+   *MUST* either reach the prescribed karma level for that update,

+   *OR* spend at least 7 days in updates-testing

+   before being allowed to go to stable.

  

  [[pre-release]]

  === Pre release
@@ -173,15 +190,19 @@ 

  

  During this period:

  

- * All updates pulled into the release **MUST**footnote:enforced[] fix an accepted blocker

-   or freeze exception bug.

+ * All updates pulled into the release

+   **MUST**footnote:enforced[] fix an accepted blocker or freeze exception bug.

  * All update pushes will go to updates-testing.

- * All link:https://fedoraproject.org/wiki/Critical_path_package[ critical path] updates *MUST* either

-   have a sum of +2 karma, *OR* spend at least 14 days in updates-testing and have no negative karma.

- * All non critical path updates *MUST* either reach the prescribed karma level for that update, *OR*

-   spend at least 7 days in updates-testing before being allowed in stable.

+ * All link:https://fedoraproject.org/wiki/Critical_path_package[critical path] updates

+   *MUST* either have a sum of +2 karma,

+   *OR* spend at least 14 days in updates-testing and have no negative karma.

+ * All non critical path updates

+   *MUST* either reach the prescribed karma level for that update,

+   *OR* spend at least 7 days in updates-testing

+   before being allowed in stable.

  * Once the _updates_ repository is available, builds marked as

-   link:https://fedoraproject.org/wiki/Repositories#stable[_stable_] will go there instead of to

+   link:https://fedoraproject.org/wiki/Repositories#stable[_stable_]

+   will go there instead of to

    link:https://fedoraproject.org/wiki/Repositories#fedora[_fedora_].

  

  [[stable-releases]]
@@ -219,14 +240,17 @@ 

  [[updates-to-critical-path-packages]]

  === Updates to 'critical path' packages

  

- Updates that constitute a part of the 'critical path' package set (defined

- below) *including security updates* *MUST* follow the rules as defined for

- link:https://fedoraproject.org/wiki/Critical_path_package[critical path packages] for

- pending releases, meaning:

+ Updates that constitute a part of the 'critical path' package set

+ (defined below) *including security updates*

+ *MUST* follow the rules as defined for

+ link:https://fedoraproject.org/wiki/Critical_path_package[critical path packages]

+ for pending releases, meaning:

  

  * At the time of the request to stable, the update needs to have either a

-   link:https://fedoraproject.org/wiki/Bodhi[Bodhi karma] sum of 2 *OR*

- * It must spend at least 14 days in updates-testing *AND* have no negative

+   link:https://fedoraproject.org/wiki/Bodhi[Bodhi karma]

+   sum of 2 *OR*

+ * It must spend at least 14 days in updates-testing

+   *AND* have no negative

    link:https://fedoraproject.org/wiki/Bodhi[Bodhi karma] points.

  

  For the purposes of this policy, the 'critical path' package set is defined as the following:
@@ -235,14 +259,15 @@ 

    link:https://fedoraproject.org/wiki/Critical_Path_Packages[critical path package set]

  * All major desktop environments' core functionality (GNOME, KDE, Xfce, LXDE)

  * Package updating frameworks

-   (link:https://apps.fedoraproject.org/packages/gnome-packagekit[``gnome-packagekit``],

-   link:https://apps.fedoraproject.org/packages/apper[``apper``])

- * Major desktop productivity apps. An initial list would be

-   link:https://apps.fedoraproject.org/packages/firefox[``firefox``],

-   link:https://apps.fedoraproject.org/packages/kde-baseapps[``kde-baseapps``](konqueror),

-   link:https://apps.fedoraproject.org/packages/thunderbird[``thunderbird``],

-   link:https://apps.fedoraproject.org/packages/evolution[``evolution``],

-   link:https://apps.fedoraproject.org/packages/kdepim[``kdepim``](kmail).

+   (link:https://src.fedoraproject.org/rpms/gnome-packagekit[``gnome-packagekit``],

+   link:https://src.fedoraproject.org/rpms/apper[``apper``])

+ * Major desktop productivity apps.

+   An initial list would be

+   link:https://src.fedoraproject.org/rpms/firefox[``firefox``],

+   link:https://src.fedoraproject.org/rpms/kde-baseapps[``kde-baseapps``](konqueror),

+   link:https://src.fedoraproject.org/rpms/thunderbird[``thunderbird``],

+   link:https://src.fedoraproject.org/rpms/evolution[``evolution``],

+   link:https://src.fedoraproject.org/rpms/kdepim[``kdepim``](kmail).

  

  Changes to this definition may only be made by xref:index.adoc[FESCo] or their delegate.

  
@@ -258,14 +283,14 @@ 

  

  Package maintainers *MUST*:

  

- * Avoid Major version updates, ABI breakage or API changes if at all possible.

+ * Avoid Major version updates, ABI breakage, or API changes if at all possible.

  * Avoid changing the user experience if at all possible.

  * Avoid updates that are trivial or don't affect any Fedora users.

  

  Package maintainers *SHOULD*:

  

- * Push *only* major bug fixes and security fixes to the previous stable releases (i.e., at present,

-   and before).

+ * Push *only* major bug fixes and security fixes to the previous stable releases

+   (i.e. the current Fedora _N_, and the previous Fedora _N-1_).

  

  [[exceptions]]

  === Exceptions
@@ -285,18 +310,18 @@ 

  * The package is a "leaf" node. Nothing depends on it or requires it.

  * The update fixes a security issue that would affect a large number of users.

  * The update doesn't change ABI/API and nothing needs to be rebuilt against the new version.

- * The update fixes serious bugs that many fedora users are encountering.

+ * The update fixes serious bugs that many Fedora users are encountering.

  

  Things that would make it less likely to grant a request:

  

  * The update converts databases or resources one way to a new format.

- * The update requires admin intervention for the service to keep working (config file format

-   changes, etc)

- * The update causes behavior changes (something that was denied is allowed, etc)

- * The update changes the UI the end user sees (moves menus or buttons around, changes option names

-   on command line)

- * The update fixes bugs that no fedora user has reported nor would affect many fedora users (i.e.,

-   fixes for other platforms or configurations).

+ * The update requires admin intervention for the service to keep working

+   (config file format changes, etc.)

+ * The update causes behavior changes (something that was denied is allowed, etc.)

+ * The update changes the UI the end user sees

+   (moves menus or buttons around, changes option names on command line)

+ * The update fixes bugs that no Fedora user has reported nor would affect many Fedora users

+   (i.e., fixes for other platforms or configurations).

  

  [[exceptions-list]]

  ==== Exceptions list
@@ -367,10 +392,10 @@ 

  devices or formats in compatible ways.

  

  Examples of this type of package:

- link:https://apps.fedoraproject.org/packages/libopenraw[``libopenraw``],

- link:https://apps.fedoraproject.org/packages/libimobiledevice[``libimobiledevice``],

- link:https://apps.fedoraproject.org/packages/calibre[``calibre``],

- link:https://apps.fedoraproject.org/packages/pilot-link[``pilot-link``]

+ link:https://src.fedoraproject.org/rpms/libopenraw[``libopenraw``],

+ link:https://src.fedoraproject.org/rpms/libimobiledevice[``libimobiledevice``],

+ link:https://src.fedoraproject.org/rpms/calibre[``calibre``],

+ link:https://src.fedoraproject.org/rpms/pilot-link[``pilot-link``]

  

  [[database-packages]]

  ==== Database packages
@@ -382,8 +407,8 @@ 

  rebasing.

  

  Examples of this type of package:

- link:https://apps.fedoraproject.org/packages/spamassassin[``spamassassin``],

- link:https://apps.fedoraproject.org/packages/clamav[``clamav``]

+ link:https://src.fedoraproject.org/rpms/spamassassin[``spamassassin``],

+ link:https://src.fedoraproject.org/rpms/clamav[``clamav``]

  

  [[examples]]

  ==== Examples
@@ -409,23 +434,28 @@ 

    changes are (removing the File menu would be rude, but moving the plugin configuration menu item

    would be acceptable).

  

- * Firefox releases an update that only contains changes for other platforms. This update could be

-   pushed to rawhide (to keep up with the latest version), but should not be pushed to stable

-   releases, as it does no good to our users and wastes resources to build, update, mirror and

-   download to our users.

  

- * Terminal fails to build from source when tested in a mass rebuild. An updated package should be

-   pushed to rawhide. Fixes for stable releases should be tested and even committed, but unless there

-   is a problem with the previous existing build in the stable release, no update should be issued.

+ * Firefox releases an update that only contains changes for other platforms.

+   This update could be pushed to rawhide (to keep up with the latest version),

+   but should not be pushed to stable releases, as it does no good to our users

+   and wastes resources to build, update, mirror, and download to our users.

+ 

+ * Terminal fails to build from source when tested in a mass rebuild.

+   An updated package should be pushed to rawhide.

+   Fixes for stable releases should be tested and even committed,

+   but unless there is a problem with the previous existing build in the stable release,

+   no update should be issued.

    This update would not change any user facing functions of the package.

  

- * KDE upstream releases a new major version, and at the same time stops supporting the older release

-   that is in Fedora N and Fedora N-1. This release includes a large number of bugfixes, mixed with

-   enhancements and security fixes. An exception for this type of update would need to consider:

-   ability to backport major fixes/security issues, type and amount of bugs fixed, ability to not

-   update other parts of fedora for this update (i.e., avoid Qt or other base library ABI changes),

-   amount of testing and end user visible changes. An exception like this would be on a case by case

-   bases based on all the above.

+ * KDE upstream releases a new major version,

+   and at the same time stops supporting the older release that is in Fedora N and Fedora N-1.

+   This release includes a large number of bugfixes, mixed with enhancements and security fixes.

+   An exception for this type of update would need to consider:

+   ability to backport major fixes/security issues,

+   type and amount of bugs fixed,

+   ability to not update other parts of Fedora for this update (i.e., avoid Qt or other base library ABI changes),

+   amount of testing and end user visible changes.

+   An exception like this would be on a case by case basis, based on all the above.

  

  [[problems-or-issues-with-updates]]

  == Problems or issues with Updates
@@ -481,4 +511,4 @@ 

  against their good will, and is likely to drive testers away. Bodhi and updates-testing are not a

  place for experimentation or advanced notification of potentially disruptive updates. These should

  be handled with packages in link:https://copr.fedorainfracloud.org/[Copr] or another public repository

- with a message to call for testing on the appropriate mailing lists. 

\ No newline at end of file

+ with a message to call for testing on the appropriate mailing lists.

@@ -36,13 +36,13 @@ 

  

  * link:https://fedoraproject.org/wiki/User:Kevin[Kevin Fenzi] (nirik) — F32/F33

  * link:https://fedoraproject.org/wiki/User:zbyszek[Zbigniew Jędrzejewski-Szmek] (zbyszek) — F32/F33

- * link:https://fedoraproject.org/wiki/User:Bookwar[Aleksandra Fedorova] (bookwar) — F31/F32

- * link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] (sgallagh) — F31/F32

- * link:https://fedoraproject.org/wiki/User:Psabata[Petr Šabata] (contyk/psabata) — F31/F32

  * link:https://fedoraproject.org/wiki/User:Churchyard[Miro Hrončok] (churchyard/mhroncok) — F32/F33

- * link:https://fedoraproject.org/wiki/User:Ignatenkobrain[Igor Gnatenko] (ignatenkobrain) — F31/F32

- * link:https://fedoraproject.org/wiki/User:Dcantrel[David Cantrell] (dcantrel) — F32/F33

+ * link:https://fedoraproject.org/wiki/User:Dcantrell[David Cantrell] (dcantrell) — F32/F33

  * link:https://fedoraproject.org/wiki/User:Decathorpe[Fabio Valentini] (decathorpe) — F32/F33

+ * link:https://fedoraproject.org/wiki/User:Sgallagh[Stephen Gallagher] (sgallagh) — F33/34

+ * link:https://fedoraproject.org/wiki/User:Ignatenkobrain[Igor Raits] (ignatenkobrain) — F33/F34

+ * link:https://fedoraproject.org/wiki/User:Ngompa[Neal Gompa] (ngompa) — F33/F34

+ * link:https://fedoraproject.org/wiki/User:Cverna[Clément Verna] (cverna) — F33/F34

  

  Chair is rotating.

  
@@ -57,8 +57,11 @@ 

  

  Once a ticket has a formal proposal offered, FESCo members have one week to either vote for or against it or else propose the ticket for the next weekly meeting agenda. At the end of that one week, if the proposal has gained at least three "for" votes and no "against" votes, it is approved. Any "against" votes mean that it goes onto the next meeting agenda, unless there are at least 7 negative votes and no positive ones, see below. If the week passes and the required number of votes have not been met, the proposal is extended by one further week and the minimum requirement becomes a single positive "for" vote. This is intended to ensure that proposals do not languish.

  

- There is also a shortcut procedure, which does not require waiting for the week to be up.

+ There is also a fast-track procedure, which does not require waiting for the week to be up.

  Seven positive votes with no negative votes will immediately approve a proposal, and seven negative votes with no positive votes will immediately reject a proposal.

+ The fast-track procedure must be specifically requested by the person submitting the proposal or a FESCo member and is only in effect when there's agreement from other members.

+ Tagging the issue for the meeting agenda is understood to disqualify the proposal for fast-track status.

+ Proposals that receive a unanimous vote are immediately considered approved or rejected as appropriate, independent of fast-track status.

  

  == Meetings

  

file added
+17
@@ -0,0 +1,17 @@ 

+ #!/bin/sh

+ 

+ if [ "$(uname)" == "Darwin" ]; then

+     # Running on macOS.

+     # Let's assume that the user has the Docker CE installed

+     # which doesn't require a root password.

+     echo "The preview will be available at http://localhost:8080/"

+     docker run --rm -v $(pwd):/antora:ro -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro -p 8080:80 nginx

+ 

+ elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then

+     # Running on Linux.

+     # Fedora Workstation has python3 installed as a default, so using that

+     echo ""

+     echo "The preview is available at http://localhost:8080"

+     echo ""

+     python3 -m http.server --directory ./public 8080

+ fi

Fix issues introduced by automated conversion to AsciiDoc, and update/correct content:

  • Example packages for various update types restored¹ (with links)
  • Replace fedorahosted.org URLs and references to trac with Pagure links
  • Link to HyperKitty for "devel list" mentions
  • Some broken/unlinked wikilinks restored
  • Replace [multiblock footnote omitted] insertions with additional references to labeled footnote
  • Bold all remaining "SHOULD" "MUST" etc.
  • Consistently capitalize "Bodhi"
  • Make spelling, grammar, punctuation fixes

1 — (Note: Some examples are pretty out of date (pilot-link!?), they could use reviewing and refreshing.)

rebased onto 6e9ec5b

4 years ago

These changes look good to me. Will await feedback from other FESCo members.

I do have a style comment. It is well established in our community, but our use of "repos" is jargon specific to our distribution (and those derived from it). For documentation, I think using a word like "collections" or something similar sounds better and is easier for new community members to understand.

I wouldn't know what "collections" means. "repos" might be a jargon, but at least it has a well established meaning. If we are to change it, than we can use "repositories".

Yeah, the more I think about it in this context it doesn't really matter because the intended audience would already be familiar with Fedora specific terms.

I'm fine with either 'repos' or 'repositories'.

Yeah, really I'd say the biggest issue with "repos" is that it isn't jargony enough. Especially as it's been adopted by version control (distributed version control in particular), so now you can have Git repos, SourceForge repos, etc...

Every person who uses Ubuntu (and plenty of us who don't) pretty quickly learns what a PPA is, and anytime that term is used it's understood to mean a very specific thing. We used to call our package collections "yum repos", but for obvious reasons that name would do more harm than good if we continued using it today.

I was going to "ping?" about getting this merged (though I have no idea if it even still applies cleanly), but then I noticed that all of the apps.fedoraproject.org URLs I inserted will now be dead links, so I guess I should replace them all with src.fedoraproject.org links, first. Bother.

rebased onto 00c3682

3 years ago

OK, I've pushed a commit replacing all of the apps.fedoraproject.. URLs with the equivalent src.fedoraproject... URL.

I also pushed some other minor changes, in separate commits, that I think will be uncontroversial, including:

  • One that rearranges some lists of maintainer requirements to lean more heavily into semantic newlines, placing most *MUST*, *OR*, etc. statements at the beginning of a line (except where they came at the end of a sentence/bullet-point)
  • Another that replaces 'onwards' with 'onward' 3×, the former not being a real word
  • Another that capitalizes 'Fedora' in multiple places, add serial commas, makes sure 'etc.' consistently ends with a period, and changes 'bases' to 'basis' at one point where the latter was clearly the intended word.

Hopefully those won't be a problem, but I'm happy to revert in whole or in part on request.

I have a version locally that makes even more sweeping changes to formatting (and some additional content edits), but I decided that wasn't my place so those will remain uncommitted.

Aaand, somehow merging master into my branch has replaced this PR with all the wrong commits, prior to the ones I just added an hour ago. WTFedora?!!

I'll probably have to close this and open a replacement from a different branch, but I'll see if I can salvage this one first. Actually, I'll close it first, because it should definitely not be merged in this state.

Pull-Request has been closed by ferdnyc

3 years ago

PR #38 has been submitted as a replacement for this PR.