- Clean up any artifacts from your local repository.
$ git clean -xfd
- Setup build directory.
$ ./autogen.sh
$ mkdir build && cd build
$ ../configure --enable-full-test-suite --with-crypto-library=gcrypt --with-ldap
$ make
- Run the test suite. All the tests must pass.
$ sudo make check
- Compare previous lib version with current.
$ abidiff --stat ../abi-ref/libusbguard.so.abi .libs/libusbguard.so
$ cd ..
-
Update the lib version (CURRENT, REVISION, AGE) in
configure.ac
according to comments. -
Update ABI reference.
$ abidw --out-file abi-ref/libusbguard.so.abi build/.libs/libusbguard.so
$ sudo rm -rf build
-
Update the
VERSION
file andCHANGELOG.md
. Commit your changes. -
Build the final release tarball.
$ ./autogen.sh
$ mkdir build; cd build
$ ../configure --with-crypto-library=gcrypt
$ make dist
- Tag the release with a signed tag.
$ git tag -s -m "usbguard-0.x.y" usbguard-0.x.y
$ git push origin usbguard-0.x.x
- Hash and sign the release.
$ sha256sum usbguard-0.x.y.tar.gz > usbguard-0.x.y.tar.gz.sum
$ gpg --armor --detach-sign usbguard-0.x.y.tar.gz
$ gpg --clearsign usbguard-0.x.y.tar.gz.sum
-
Create a new GitHub release using the associated tag; add the relevant section from CHANGELOG.md. Upload:
- usbguard-0.x.y.tar.gz
- usbguard-0.x.y.tar.gz.asc
- usbguard-0.x.y.tar.gz.sum
- usbguard-0.x.y.tar.gz.sum.asc