Compare commits

...
Sign in to create a new pull request.

2 commits

Author SHA1 Message Date
2c317afadc feat(unretire_sop): adding section about automated process
Signed-off-by: Anton Medvedev <amedvede@redhat.com>
2026-04-17 00:46:40 +02:00
c087417141 feat(remove_file_from_distgit_sop): adjusting documentation SOP
Signed-off-by: Anton Medvedev <amedvede@redhat.com>
2025-12-22 15:16:01 +01:00
2 changed files with 62 additions and 8 deletions

View file

@ -41,12 +41,24 @@ To remove unwanted tarballs and source RPMs from a specific branch of a package
cd /srv/git/repositories/rpms/PKG_NAME.git
----
. Disable warning messages:
+
----
FILTER_BRANCH_SQUELCH_WARNING=1
----
. Rewrite history on the desired branch:
+
----
FILTER_BRANCH_SQUELCH_WARNING=1 git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch *.src.rpm *.tar.gz' --original refs/archive -- BRANCH
git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch *.src.rpm *.tar.gz' --original refs/archive -- BRANCH
----
[NOTE]
====
Replace `*.src.rpm *.tar.gz` with the actual file name, that you would like to remove.
If you want to remove file from all branches use `--all` instead of `BRANCH`.
====
. Move the backup reference:
+
----
@ -66,4 +78,18 @@ Replace `BRANCH` with the target branch name.
====
== Verification
Verify the unwanted files have been removed from the branch history.
Verify the unwanted files have been removed from the branch history.
. Run Verification
+
----
git for-each-ref --format='%(refname:short)' | while read branch; do
echo "Checking $branch:"
git ls-tree -r $branch --name-only | grep -q "$FILE_NAME" && echo "FOUND in $branch" || echo "Not in $branch"
done
----
[NOTE]
====
Use actual file name instead of `$FILE_NAME`.
====

View file

@ -28,7 +28,35 @@ A valid Kerberos (`kinit`) ticket and `cvsadmin` FAS group membership are needed
== Actions
=== Validate Package Ready For Unretirement
=== Automated Unretirement (Alternative Method)
Unretirement requests can be processed automatically using the `fedpkg` tool. This is often the most efficient way to handle standard requests.
.Run the unretirement command:
----
$ fedpkg request-unretirement
----
This command takes a number of arguments. To view all of them and understand what arguments are required in your case, run:
----
$ fedpkg request-unretirement -h
----
After processing, this command will provide a URL for your request ticket. Follow this ticket for further information about the status.
[NOTE]
====
* **Rawhide Branches:** If requesting the `rawhide` branch, it should have `f` + number of the Rawhide release as a script argument.
* **Assigning Maintainers:** To assign a specific person to the package, you need to add the `--user ASSIGN_NAME` argument.
====
---
=== Manual Unretirement Process
If the automated tool cannot be used, follow these manual steps.
==== Validate Package Ready For Unretirement
. Verify what the reason and time of the retirement was.
This is usually stated in the retirement commit.
@ -37,7 +65,7 @@ This is https://docs.fedoraproject.org/en-US/fesco/Policy_for_orphan_and_retired
in case the package was retired less than 8 weeks ago.
. Verify with the the requestor exactly which branches are to be unretired.
=== Revert The Retirement Commit
==== Revert The Retirement Commit
. Connect to one of the compose systems.
+
@ -82,7 +110,7 @@ Commit message example:
`*Unretirement request: pagure.io/releng/issue/12345*`
==== Special Case: Branches That Have An Identical Commit History
===== Special Case: Branches That Have An Identical Commit History
Normally that should be all that is required in regards to git operations.
If the branches have already diverged then each branch gets its own revert commit.
@ -126,7 +154,7 @@ $ GIT_SSH=/usr/local/bin/relengpush git push origin BRANCH_NAME
The outcome of this should be that there is only one revert commit for both
branches, keeping the commit history clean.
=== Unblock The Package In Koji
==== Unblock The Package In Koji
. Check the current state of the tags.
+
@ -146,7 +174,7 @@ $ koji unblock-pkg TAG_NAME PACKAGE_NAME
$ koji untag-build --all TAG_NAME PACKAGE_NAME --force
....
=== Verify Package Is Not Orphaned
==== Verify Package Is Not Orphaned
. Navigate to https://src.fedoraproject.org/[dist-git] and find the package.
+
@ -164,4 +192,4 @@ It is a good idea to link the dist-git repository directly in the ticket when cl
== Resources
. https://docs.fedoraproject.org/en-US/fesco/Policy_for_orphan_and_retired_packages/[Policy For Orphaned And Retired Packages]
. https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/[FTBFS/FTI]
. https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/[FTBFS/FTI]