NSS Fedora Development
Contents
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>
%prep ... %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