Fedora Packaging Guide - dogtagpki/pki GitHub Wiki
-
Become a Fedora packager by submitting a request to packager-sponsors.
-
Install
fedpkg
:
$ dnf install fedpkg
See Fedora Packages.
The dist-git project for PKI module is located at:
See also Fedora Modules.
Make sure the SSH key is set up properly in Fedora Account System. Verify by connecting to fedorapeople.org
:
$ ssh -v <username>@fedorapeople.org
Log out from fedorapeople.org
and continue on the local machine.
Obtain a Kerberos ticket for FEDORAPROJECT.ORG:
$ kinit <username>@FEDORAPROJECT.ORG Password for <username>@FEDORAPROJECT.ORG: ********
Verify with the following command:
$ klist Ticket cache: KEYRING:persistent:13079:13079 Default principal: <username>@FEDORAPROJECT.ORG Valid starting Expires Service principal 03/15/2018 21:37:11 03/16/2018 21:36:57 krbtgt/[email protected] renew until 03/22/2018 21:36:57
Note: If there’s no ticket issued, edit /etc/krb5.conf.d/kcm_default_ccache
, and comment out the following lines:
[libdefaults] default_ccache_name = KCM:
See also Infrastructure/Kerberos.
To clone a project into a local repository:
$ fedpkg clone <project>
If there’s a problem, try running it in verbose mode:
$ fedpkg -v clone <project>
If the Fedora username is different from the local username, specify it using --user
:
$ fedpkg --user <username> clone <project>
To fork a project, visit the main Fedora project page (e.g. dogtag-pki) and click the Fork button at the top of the page.
The forked project should appear under https://src.fedoraproject.org/fork/<username>/rpms/<project>/
.
To add the forked package into the local repository, execute:
$ git remote add <username> https://src.fedoraproject.org/forks/<username>/rpms/<project>.git $ git fetch <username>
First, commit the changes into a temporary branch, and push the branch into the forked project:
$ git checkout -b <branch> $ git commit -m "..." $ git push <username> <branch>
Then open the forked project page, go to the Commits page of the branch, and click Create pull request.
After the request is merged, go back to the original branch and pull the changes:
$ git checkout <original branch> $ git pull
To create a scratch build:
$ fedpkg scratch-build
The scratch build be created in https://koji.fedoraproject.org.
A side tag can be used to update multiple packages at the same time (i.e. avoid partial update).
To list existing side tags:
$ fedpkg list-side-tags
To request a new side tag:
$ fedpkg request-side-tag
To build a package with the side tag:
$ fedpkg build --target <side tag>
Wait for the new package to be available before building the next package:
$ koji wait-repo --build <package NVR> <side tag>
Once all packages are built, create an update in Bodhi using the side tag.
See also Package update HOWTO - Multiple Packages.