NSS Fedora Development

From Dogtag
Revision as of 01:26, 7 February 2023 by Edewata (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Getting Source Package

To clone Fedora NSS package repository:

$ fedpkg clone nss Fedora/nss

Getting Patched Source Code

Extract the patched source code with the following commands:

$ cd Fedora/nss
$ fedpkg prep

The above commands will extract the patched source code into Fedora/nss/nss-3.36.1 folder.

Creating a New Patch

Create a copy of the patched source code:

$ cd nss-3.36.1
$ git init .
$ git add .
$ git commit -a -m "Initial import"

Change the code as needed, commit the changes, then generate a patch:

$ git format-patch -1 -o ..

Edit nss.spec to include the patch:

Source0:     ...
Patch<N>:    <patch>
%patch<N> -p1

Verify with the following command:

$ fedpkg prep

Updating Source Tarball

To generate a new source tarball:

$ cd nss
$ git archive --format=tar.gz --prefix nss-3.58/nss/ -o nss-3.58.tar.gz NSS_3_58_BRANCH

To remove the old tarball checksum:

$ cd Fedora/nss
$ sed -i '/\(nss-.*.tar.gz\)/d' sources

To add a new tarball checksum:

$ cd Fedora/nss
$ sha512sum nss-*.tar.gz --tag >> sources

Creating Binary Packages

Creating Local Build

To build the binary packages:

$ cd Fedora/nss
$ fedpkg local

To build the packages without running the test suite:

$ SKIP_NSS_TEST_SUITE=1 fedpkg local

To include specific tests only, edit nss.spec as follows:

%global nss_cycles "standard"
%global nss_tests "ssl_gtests"
%global nss_ssl_tests "normal_fips"
%global nss_ssl_run "auth"

Then build the packages as follows:

$ fedpkg local

Creating COPR Build

To create a COPR build for Rawhide:

$ fedpkg srpm
$ copr build @pki/10.6 <SRPM> -r fedora-rawhide-x86_64

To create a COPR build for released Fedora:

$ fedpkg srpm
$ copr build @pki/10.6 <SRPM> -r fedora-27-x86_64 -r fedora-28-x86_64

Installing Binary Packages

To install the packages:

$ dnf reinstall x86_64/*.rpm