summaryrefslogtreecommitdiffstats
path: root/packaging/README.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--packaging/README.md53
1 files changed, 53 insertions, 0 deletions
diff --git a/packaging/README.md b/packaging/README.md
new file mode 100644
index 00000000..664f588e
--- /dev/null
+++ b/packaging/README.md
@@ -0,0 +1,53 @@
+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