Unretire a Package

Description

Sometimes a packager might request that we unretire a package branch that has previously been retired.

This typically happens on the rawhide branch, but could conceivably happen on any stable or arbitrary branch.

A valid Kerberos (kinit) ticket and cvsadmin FAS group membership are needed.

Actions

Validate Package Ready for Unretirement

  1. Verify the package was not retired for any reason, such as legal or license issues, that would prevent it from being re-instated.

  2. Ensure a Bugzilla was filed to review the package for unretirement.

  3. Verify with the the requestor exactly which tags they would like unblocked as part of the unretirement request.

Revert the Retirement Commit

  1. Connect to one of the compose systems.

    $ ssh compose-branched01.rdu3.fedoraproject.org
  2. Clone the dist-git package using the the proper release engineering credentials.

    $ GIT_SSH=/usr/local/bin/relengpush fedpkg --user releng clone PACKAGENAME
  3. Enter the directory of the cloned package and configure the git user information.

    $ cd PACKAGENAME
    $ git config --local user.name "Fedora Release Engineering"
    $ git config --local user.email "releng@fedoraproject.org"
  4. Git revert the retirement commit (that introduces the dead.package file) in dist-git on the particular branch using its commit hash ID. Ensure the commit message contains a URL to the request in Pagure.

    $ git revert -s COMMIT_HASH_ID
    $ GIT_SSH=/usr/local/bin/relengpush fedpkg --user releng push

Commit message example:

Unretirement request: pagure.io/releng/issue/12345

Unblock the Package in Koji

  1. Check the current state of the branches in Koji for the package.

    $ koji list-pkgs --show-blocked --package PACKAGE_NAME
  2. Unblock each requested tag using Koji.

    $ koji unblock-pkg TAG_NAME PACKAGE_NAME

Verify Package is Not Orphaned

  1. Navigate to dist-git and find the package.

  2. Check who the package owner is.

  3. If the owner is orphan then give the package to the requestor through the web interface.

    Settings → Give Project → NEW_MAINTAINER_FAS_NAME

It is a good idea to link the dist-git repository directly in the ticket when closing it.

It makes it much more time efficient in case something else needs to be done in regards to the ticket in the future.