== Unretiring a package branch

=== Description

Sometimes, packagers request that we _unretire_ a package branch that
has previously been retired.

This typically happens on the [.title-ref]#rawhide# branch, but could
conceivably happen on any stable or arbitrary branch.

=== Action

==== Validate Package Ready for Unretirement

. Verify the package was not retired for any reason, such as legal or
license issues, that would prevent it from being re-instated.
. Ensure a bugzilla was filed to review the package for unretirement.
. Verify with the the requestor exactly which tags they would like
unblocked as part of the unretirement request.

==== Revert the Retirement Commit

. Connect to one of the compose systems.
+
____
....
$ ssh compose-branched01.iad2.fedoraproject.org
....
____
. Clone the dist-git package using the the proper release engineering
credentials.
+
____
....
$ GIT_SSH=/usr/local/bin/relengpush fedpkg --user releng clone PACKAGENAME
....
____
. 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"
....
____
. Git revert the [.title-ref]#dead.package# file commit 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
....
____

==== Unblock the Package in Koji

. Check the current state of the branches in koji for the package.
+
____
....
$ koji list-pkgs --show-blocked --package=PACKAGENAME
....
____
. Unblock each requested tag using koji.
+
....
$ koji unblock-pkg TAGNAME PACKAGENAME
....

==== Verify Package is Not Orphaned

. Check package ownership
+
Navigate to [.title-ref]#https://src.fedoraproject.org/# and check
package owner.
. If the package is orphaned, then give the package to the requestor
through the web interface.

Settings -> Give Project 
+
[NOTE]
.Note
====
This script requires the user to be a member of the group
[.title-ref]#cvsadmin# in FAS.
====
