From Fedora Project Wiki

Revision as of 01:14, 28 January 2010 by Poelstra (talk | contribs) (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...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Important.png
Work In Process
This page isn't done yet poelcat 01:14, 28 January 2010 (UTC)

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.

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.

Detecting Orphans

A script 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 for the body of a message. It runs without options, and should take about a minute to complete.

$ ./find-unblocked-orphans.py

This output should be mailed to devel@lists.fedodraproject.org at least a week before the feature freeze. This gives maintainers an opportunity to pick up orphans that are important to them.

Blocking orphans

Once maintainers have been given an opportunity to pick up orphans, we 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 Usage: koji block-pkg [options] tag package [package2 ...] (Specify the --help global option for a list of other help options)

Options:

 -h, --help  show this help message and exit


This can take multiple packages and thus we can use the orphan list from the find command as input. We block packages from the latest dist-f## 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

To verify that the packages were blocked correctly we can use the '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

Verification

Consider Before Running