From Fedora Project Wiki

(Created page with '{{admon/important | Work In Process | This page isn't done yet ~~~~}} == Description == Every release prior to the Feature Freeze we purge all the orphans from the distribution...')
 
(Redirect Package Maintainer wiki links to docs.fp.o)
 
(26 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{admon/important | Work In Process | This page isn't done yet [[User:Poelstra|poelcat]] 01:14, 28 January 2010 (UTC)}}
{{admon/important|This page is deprecated| All Fedora Release Engineering Documentation has moved [https://docs.pagure.org/releng/ here] with source hosted along side the code in the [https://pagure.io/releng releng pagure repository]}}


== Description ==
== Description ==


Every release prior to the Feature Freeze we purge all the orphans from the distribution. This keeps out unowned software and prevents future problems down the road.
Every release prior to the [[Schedule|Feature Freeze/Branching]] Release Engineering retires [https://docs.fedoraproject.org/en-US/package-maintainers/Package_Orphaning_Process/ orphaned packages]. This keeps out unowned software and prevents future problems down the road.


The orphan process takes place in 2 stages.  The first stage is to detect the list of orphans and what will be broken if the orphans are removed. The second stage is the actual removal.
== Action ==
The orphan process takes place in stages:
# Detecting a list of orphans and the dependencies that will be broken if the orphans are removed.
# Sending the list of potential orphans to devel@lists.fedoraproject.org for community review and removal from the orphan list.
# Retriring packages nobody wants to adopt.


=== Detecting Orphans ===
=== Detecting Orphans ===


A script
A script called <code>find_unblocked_orphans.py</code> assists in the detection processIt should be run on a machine that has <code>koji</code> and <code>python-fedora</code> installed.  It runs without options and takes a while to complete.
https://fedorahosted.org/rel-eng/browser/scripts/find-unblocked-orphans.py exists to do the detection.  This needs to be ran on a machine that has koji and python-fedora installed.


find-unglocked-orphans.py will output text to stdout that is suitable
<code>find_unblocked_orphans.py</code> is available in the [https://fedorahosted.org/rel-eng/browser/scripts/find_unblocked_orphans.py|Release Engineering git repository].
for the body of a message. It runs without options, and should take
about a minute to complete.


$ ./find-unblocked-orphans.py
=== Announcing Packages to be retired ===


This output should be mailed to devel@lists.fedodraproject.org at least a week before the feature freezeThis gives maintainers an opportunity to pick up orphans that are important to them.
<code>find_unblocked_orphans.py</code>outputs text to stdout on the command line in a form suitable for the body of an email message.   


=== Blocking orphans ===
<pre>
$ ./find-unblocked-orphans.py > email-message
</pre>


Once maintainers have been given an opportunity to pick up orphans, we
Email the output to the development list (devel@lists.fedodraproject.org) at least a month before the feature freeze, send mails with updated lists as necessary.  This gives maintainers an opportunity to pick up orphans that are important to them or are required by other packages.
need to do the blocking.  Currently we don't have a script to do this,
so we re-use the find-unblocked-orphans.py script to generate the list.
The 'block-pkg' koji command is used to do the blocking.


$ koji block-pkg --help
=== Retiring Orphans ===
Usage: koji block-pkg [options] tag package [package2 ...]
(Specify the --help global option for a list of other help options)


Options:
Once maintainers have been given an opportunity to pick up orphaned packages, the remaining packages are [https://docs.fedoraproject.org/en-US/package-maintainers/Package_Retirement_Process/ retired].
  -h, --help  show this help message and exit


==== Bugs ====
This procedure probably leaves open bugs for the d packages behind. It is not within the scope of releng to take care of these. If bugs are closed, only bugs targeted at Rawhide should be affected, since other branches might still be maintained.


This can take multiple packages and thus we can use the orphan list from
== Verification ==
the find command as input.  We block packages from the latest dist-f##
To verify that the packages were blocked correctly we can use the ''latest-pkg'' <code>koji</code> action.
tag only, for example if we wished to block sbackup roxterm and uisp
from rawhide during Fedora 13 development we would run:
 
$ koji block-pkg dist-f13 sbackup roxterm uisp


Verification
<pre>
$ koji latest-pkg dist-f21 wdm
</pre>


To verify that the packages were blocked correctly we can use the
This should return nothing, as the <code>wdm</code> package is blocked.
'latest-pkg' koji action.
 
$ koji latest-pkg dist-f13 wdm
 
This should return nothing, as wdm is a blocked package.
 
Considerations
 
Generally we block anything that doesn't leave any deps, but if there
are orphans that are still depended on a second warning sent to
devel@lists.fedoraproject.org and to <package>-owner@fedoraproject.org
for each dep.
 
We give another couple of days for maintainers to take notice and pick
up packages or rebuild their packages without needing the orphans.  We
don't like to create broken deps by purging orphans so every effort
should be made to find owners or to fix deps.
 
 
== Action ==
<!-- Describe the action and provide examples -->
 
== Verification ==
<!-- Provide a method to verify that the action completed as expected (success) -->


== Consider Before Running ==
== Consider Before Running ==
<!-- Create a list of things to keep in mind when performing action. -->
Generally we retire anything that doesn't leave broken dependencies.  If there are orphans whose removal would result in broken dependencies a second warning should be sent to devel@lists.fedoraproject.org and to <package>-owner@fedoraproject.org for each dependent package. 


<!-- 1) Be sure to remove the Category:Template link below.  
Allow another couple of days for maintainers to take notice and fix these package so the package repository can be maintained without broken dependencies or needing to  the package. It is not good to have broken package dependencies in our package repositories so every effort should be made to find owners or to fix the broken dependencies.
    2) Keep the RelEng SOP category link.  
-->


[[Category:Release Engineering SOPs]]
[[Category:Release Engineering SOPs]]

Latest revision as of 20:28, 2 October 2021

Important.png
This page is deprecated
All Fedora Release Engineering Documentation has moved here with source hosted along side the code in the releng pagure repository

Description

Every release prior to the Feature Freeze/Branching Release Engineering retires orphaned packages. This keeps out unowned software and prevents future problems down the road.

Action

The orphan process takes place in stages:

  1. Detecting a list of orphans and the dependencies that will be broken if the orphans are removed.
  2. Sending the list of potential orphans to devel@lists.fedoraproject.org for community review and removal from the orphan list.
  3. Retriring packages nobody wants to adopt.

Detecting Orphans

A script called find_unblocked_orphans.py assists in the detection process. It should be run on a machine that has koji and python-fedora installed. It runs without options and takes a while to complete.

find_unblocked_orphans.py is available in the Engineering git repository.

Announcing Packages to be retired

find_unblocked_orphans.pyoutputs text to stdout on the command line in a form suitable for the body of an email message.

$ ./find-unblocked-orphans.py > email-message

Email the output to the development list (devel@lists.fedodraproject.org) at least a month before the feature freeze, send mails with updated lists as necessary. This gives maintainers an opportunity to pick up orphans that are important to them or are required by other packages.

Retiring Orphans

Once maintainers have been given an opportunity to pick up orphaned packages, the remaining packages are retired.

Bugs

This procedure probably leaves open bugs for the d packages behind. It is not within the scope of releng to take care of these. If bugs are closed, only bugs targeted at Rawhide should be affected, since other branches might still be maintained.

Verification

To verify that the packages were blocked correctly we can use the latest-pkg koji action.

$ koji latest-pkg dist-f21 wdm

This should return nothing, as the wdm package is blocked.

Consider Before Running

Generally we retire anything that doesn't leave broken dependencies. If there are orphans whose removal would result in broken dependencies a second warning should be sent to devel@lists.fedoraproject.org and to <package>-owner@fedoraproject.org for each dependent package.

Allow another couple of days for maintainers to take notice and fix these package so the package repository can be maintained without broken dependencies or needing to the package. It is not good to have broken package dependencies in our package repositories so every effort should be made to find owners or to fix the broken dependencies.