Review scmadmin SOP

Signed-off-by: Michal Konečný <mkonecny@redhat.com>
This commit is contained in:
Michal Konečný 2021-09-10 14:04:10 +02:00
parent 987fe806f0
commit c24a05ee10
2 changed files with 37 additions and 65 deletions

View file

@ -96,7 +96,7 @@
** xref:requestforresources.adoc[Request for resources - SOP]
** xref:resultsdb.adoc[ResultsDB - SOP]
** xref:retrace.adoc[Retrace - SOP]
** xref:scmadmin.adoc[scmadmin - SOP in review ]
** xref:scmadmin.adoc[SCM Admin - SOP]
** xref:selinux.adoc[selinux - SOP in review ]
** xref:sigul-upgrade.adoc[sigul-upgrade - SOP in review ]
** xref:simple_koji_ci.adoc[simple_koji_ci - SOP in review ]

View file

@ -1,54 +1,30 @@
= SCM Admin SOP
[WARNING]
.Warning
====
Most information here (probably 1.4 and later) is not updated for pkgdb2
and therefore not correct anymore.
====
TODO: This whole SOP needs a revision
== Contents
[arabic]
. Creating New Packages
____
[arabic]
. Obtaining process-git-requests
. Prerequisites
. Running the script
. Steps for manual processing
____
____
[arabic]
. Using pkgdb-client
. Using pkgdb2branch
. Update Koji
____
____
[arabic, start=5]
. Helper Scripts
____
____
[arabic]
. mkbranchwrapper
. setup_package
____
____
[arabic, start=6]
. Pseudo Users for SIGs
____
____
[arabic, start=2]
. Deprecate Packages
. Undeprecate Packages
. Performing mass comaintainer requests
____
* <<_creating_new_packages>>
** <<_obtaining_process_git_requests>>
** <<_prerequisites>>
** <<_running_the_script>>
** <<_steps_for_manual_processing>>
*** <<_using_pkgdb_client>>
*** <<_using_pkgdb2branch>>
*** <<_update_koji>>
** <<_helper_scripts>>
*** <<_mkbranchwrapper>>
*** <<_setup_package>>
** <<_pseudo_users_for_sigs>>
* <<_deprecate_packages>>
* <<_undeprecate_packages>>
* <<_performing_mass_comaintainer_requests>>
== Creating New Packages
@ -77,9 +53,9 @@ The script lives in `scripts/process-git-requests`.
=== Prerequisites
You must have the python-bugzilla and python-fedora packages installed.
You must have the `python-bugzilla` and `python-fedora` packages installed.
Before running process-git-requests, you should run:
Before running `process-git-requests`, you should run:
....
bugzilla login
@ -92,7 +68,7 @@ least a month); if you wish to remove it, delete the
`~/.bugzillacookies` file.
It is also advantageous to have your Fedora ssh key loaded so that you
can ssh into pkgs.fedoraproject.org without being prompted for a
can ssh into _pkgs.fedoraproject.org_ without being prompted for a
password.
It perhaps goes without saying that you will need unfirewalled and
@ -100,7 +76,7 @@ unproxied access to ports 22, 80 and 443 on various Fedora machines.
=== Running the script
Simply execute the process-git-requests script and follow the prompts.
Simply execute the `process-git-requests` script and follow the prompts.
It can provide the text of all comments in the bugzilla ticket for
inspection and will perform various useful checks on the ticket and the
included SCM request. If there are warnings present, you will need to
@ -118,22 +94,21 @@ server to create the repository. If this does not succeed, the package
name is saved and when you finish processing a command line will be
output with instructions on creating the repositories manually. If you
hit Crtl-C or the script otherwise aborts, you may miss this
information. If so, see below for information on running pkgdb2branch.py
information. If so, see below for information on running `pkgdb2branch.py`
on the SCM server; you will need to run it for each package you created.
=== Steps for manual processing
It is still useful to document the process of handling these requests
manually in the case that process-git-requests has issues.
manually in the case that `process-git-requests` has issues.
[arabic]
. Check Bugzilla Ticket to make sure it looks ok
. Add the package information to the packagedb with pkgdb-client
. Use pkgdb2branch to create the branches on the cvs server
. Add the package information to the packagedb with `pkgdb-client`
. Use `pkgdb2branch` to create the branches on the cvs server
____
[WARNING]
.Warning
====
Do not run multiple instances of pkgdb2branch in parallel! This will
cause them to fail due to mismatching 'modules' files. It's not a good
@ -148,7 +123,7 @@ ____
==== Using pkgdb-client
Use pkgdb-client to update the pkgdb with new information. For instance,
to add a new package::
to add a new package:
....
pkgdb-client edit -u toshio -o terjeros \
@ -191,7 +166,6 @@ export PACKAGEDBURL=https://admin.fedoraproject.org/pkgdb
....
[NOTE]
.Note
====
You may be asked to CC fedora-perl-devel-list on a perl package. This
can be done with the username "perl-sig". This is presently a user, not
@ -200,24 +174,24 @@ a group so it cannot be used as an owner or comaintainer, only for CC.
=== Using pkgdb2branch
Use pkgdb2branch.py to create branches for a package. pkgdb2branch.py
Use `pkgdb2branch.py` to create branches for a package. `pkgdb2branch.py`
takes a list of package names on the command line and creates the
branches that are specified in the packagedb. The script lives in
/usr/local/bin on the SCM server (pkgs.fedoraproject.org) and must be
`/usr/local/bin` on the SCM server (_pkgs.fedoraproject.org_) and must be
run there.
For instance, `pkgdb2branch.py python-exif qa-assistant` will create
branches specified in the packagedb for python-exif and qa-assistant.
branches specified in the packagedb for _python-exif_ and _qa-assistant_.
pkgdb2branch can only be run from pkgs.fedoraproject.org.
`pkgdb2branch` can only be run from _pkgs.fedoraproject.org_.
=== Update Koji
Optionally you can synchronize pkgdb and koji by hand: it is done
automatically hourly by a cronjob. There is a script for this in the
admin/ directory of the CVSROOT module.
`admin/` directory of the CVSROOT module.
Since dist-f13 and later inherit from dist-f12, and currently dist-f12
Since _dist-f13_ and later inherit from _dist-f12_, and currently _dist-f12_
is the basis of our stack, it's easiest to just call:
....
@ -229,7 +203,7 @@ Just run `./owners-sync-pkgdb` for usage output.
This script requires that you have a properly configured koji client
installed.
owner-sync-pkgdb requires the koji client libraries which are not
`owner-sync-pkgdb` requires the koji client libraries which are not
available on the cvs server. So you need to run this from one of your
machines.
@ -255,7 +229,6 @@ is created in devel only.
`mkbranchwrapper` has to be run from cvs-int.
[IMPORTANT]
.Important
====
mkbranchwrapper is not used by any current programs. Use pkgdb2branch
instead.
@ -292,14 +265,13 @@ done
then call the script with all branches after it.
[NOTE]
.Note
====
setup_package is currently called from pkgdb2branch.
`setup_package` is currently called from `pkgdb2branch`.
====
=== Pseudo Users for SIGs
See [62]Package_SCM_admin_requests#Pseudo-users_for_SIGs for the current
See Package_SCM_admin_requests#Pseudo-users_for_SIGs for the current
list.
=== Deprecate Packages
@ -310,7 +282,7 @@ command to deprecate a package.
=== Undeprecate Packages
Any cvsadmin can undeprecate a package. Simply use pkgdb-client to
Any cvsadmin can undeprecate a package. Simply use `pkgdb-client` to
assign an owner and the package will be undeprecated:
....