fedrepo_req contains a command-line (CLI) tools developed in Python that provides an easy way to submit ticket requests for things such as:
fedrepo-req - a command to request new src.fedoraproject.org repositories. After the project is created in git, if you requested a branch, it can be created manually using git. Please note that if you specify a branch, a master branch will still be created in git and PDC alongside of your specified branch.
Usage: fedrepo-req [OPTIONS] REPO [BRANCH] Request new repositories on src.fedoraproject.org. If a branch is specified, it will create it in addition to the master branch in PDC. Examples: fedrepo-req nethack -t 12345 fedrepo-req nethack epel7 -t 12345 fedrepo-req nethack lts -t 12345 --sl security_fixes:2022-01-01 --sl bug_fixes:2022-01-01 Options: -d, --description TEXT The package's description. -m, --monitor [no-monitoring|monitoring|monitoring-with-scratch] Monitoring type for the package. -n, --namespace [rpms|container|modules|test-modules] The repo's namespace. -s, --summary TEXT Override the package's summary from the ticket. -t, --ticket TEXT The package request's ticket number. -u, --upstreamurl TEXT The package's upstream URL. --sl TEXT The SLs tied to the branch. This must be in the format of "sl_name:2017-12-25" --help Show this message and exit.
Below is an example when requesting the "python" repository with the default
"f27" branch and default SL. The -t
represents the Bugzilla ticket number
for the package review:
$ fedrepo-req python -t 1234
Below is an example when requesting the "python" repository with the "2.7"
branch and two SLs. The -t
represents the Bugzilla ticket number for the
package review:
$ fedrepo-req python 2.7 --sl security_fixes:2020-01-01 --sl bug_fixes:2020-01-01 -t 1234
fedrepo-req-branch - a command to request new src.fedoraproject.org branch entries in PDC. Once the branch is created in PDC, you are then able to create it manually using git.
Usage: fedrepo-req-branch [OPTIONS] REPO BRANCH Request new branches on src.fedoraproject.org repositories. This adds an entry in PDC, which is required to build your package, but doesn't touch git. You must still manually create your branch in git. Examples: fedrepo-req-branch nethack epel7 fedrepo-req-branch nethack lts --sl security_fixes:2022-01-01 --sl bug_fixes:2022-01-01 Options: -n, --namespace [rpms|container|modules|test-modules] The repo's namespace. --sl TEXT The SLs tied to the branch. This must be in the format of "sl_name:2017-12-25" --help Show this message and exit.
Below is an example of requesting the "2.7" branch for the "python" package:
$ fedrepo-req-branch python 2.7 --sl security_fixes:2020-01-01 --sl bug_fixes:2020-01-01
The default configuration is located at /etc/fedrepo_req/config.ini
. For more
information on this, please view the "Default Configuration" section below.
The user specified configuration should be located in
~/.config/fedrepo_req/config.ini
. To add an additional path, you may set the
environment variable FEDREPO_REQ_CONFIG
to the path of a configuration file.
To get started, you'll need to get a Pagure API key to be able to create
new tickets on the "releng/fedora-scm-requests" repo and add it to ~/.config/fedrepo_req/config.ini
.
To do this:
~/.config/fedrepo_req/config.ini
[app] pagure_api_token = <api_key_here>
If you are using the fedrepo-req-admin tool, you'll need to get a Pagure API
key to create projects/repos and add it to ~/.config/fedrepo_req/config.ini
.
To do this:
pagure-admin
~/.config/fedrepo_req/config.ini
[admin] pagure_api_token = <api_key_here>
Additionally, you'll need an API key on the "releng/fedora-scm-requests" repo to comment and close tickets. To do this:
~/.config/fedrepo_req/config.ini
[admin] pagure_ticket_api_token = <api_key_here>
Additionally, you'll need an API token to make modifications in PDC. To do this:
[admin] pdc_api_token = <api_key_here>
Lastly, since the admin tool uses git, you'll need to trust the remote git
server's SSH key. To do this, make sure you have the proper "@cert-authority" entries
in your ~/.ssh/known_hosts
file. One way to achieve this is by running the following
command:
curl --silent https://admin.fedoraproject.org/ssh_known_hosts >> ~/.ssh/known_hosts
The default configuration is located at /etc/fedrepo_req/config.ini
. This
sets the values for:
releng/fedora-scm-requests
repository. This defaults to https://pagure.io
.https://src.fedoraproject.org
.https://pdc.fedoraproject.org
.