firehol/packaging
Philip Whineray 6969b7e019 Download public keys by fingerprint in travis
The uid and fingerprint are more legible than the full key, which should
make future changes easier to review.

The keys are used by Travis only to validate that a git tag was signed
with a recognised key. The results of the build are signed separately.

You can confirm the fingerprints in .travis.yml match the ones in
the by running this on the old packaging/gpg.keys:

  gpg --import-options show-only --import packaging/gpg.keys
2018-08-12 10:36:55 +01:00
..
firehol Moved the service definitions out of firehol and fireqos. 2018-02-14 21:22:28 +01:00
check-files Add help on checking against empty repo 2016-11-20 16:23:48 +00:00
git-build Fix parallel builds #255 2017-09-21 05:04:40 +01:00
gpg-recv-key Download public keys by fingerprint in travis 2018-08-12 10:36:55 +01:00
packaging.functions Skip some pre-commit checks with Travis build 2016-11-28 15:51:46 +00:00
README.md Download public keys by fingerprint in travis 2018-08-12 10:36:55 +01:00
release-msg Clean up packaging 2015-11-27 23:56:11 +00:00
tar-compare Fix packaging checks and add missing manpages 2016-11-28 15:35:56 +00:00
update-tags Generalise packaging scripts 2015-11-28 13:04:35 +00:00

Packaging Tools

The programs in this folder are used when packaging from within git and are not included in source or binary packages.

For the most part they are used from the git commit hooks (copy ../hooks/* to ../.git/hooks to automate checking and the release process.

The check-files script pulls in *.functions and */*.functions to do the actual work.

packaging.functions contains generic checks on e.g ChangeLog and configure.ac and automates release version, checking, tagging and post-release update.

Programs and packages with specific needs should create extra whatever.functions and supporting scripts in a subdirectory.

Making a release

` Just update ChangeLog and configure.ac to specify a suitable version suffix:

empty - final release
pre.# - pre-release candidate
rc.# - pre-release candidate

If it is a final release and there is a package.spec.in, add a new entry to the top of the %changelog section and update: PACKAGE_RPM_RELEASE="1"

The hooks will take over and if everything is OK will tag the release (you will be asked to sign the tag) and then update the files ready for further development.

The release is not pushed out automatically, so if you want to undo it, run:

git reset --hard HEAD^^
git tag -d vx.y.z

Otherwise you can just push the results; the script outputs the required instructions upon success.

Once pushed the infrastructure will build a set of tar-files on the server. For information on how to verify, sign and make these available, see:

https://github.com/firehol/infrastructure/raw/master/doc/release.txt