summaryrefslogtreecommitdiffstats
path: root/doc/internal/release.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/internal/release.txt')
-rw-r--r--doc/internal/release.txt32
1 files changed, 32 insertions, 0 deletions
diff --git a/doc/internal/release.txt b/doc/internal/release.txt
new file mode 100644
index 0000000..e356cef
--- /dev/null
+++ b/doc/internal/release.txt
@@ -0,0 +1,32 @@
+Libcgroup release procedure
+===========================
+Please follow the following steps (TODO: Automate these steps)
+1. Check, that every new or changed feature since last release is reflected in
+ README and/or man pages.
+2. Bump soname of libcgroup shared objects if needed - LIBRARY_VERSION_MAJOR,
+ _MINOR and _RELEASE in configure.in.
+3. Prepare release candidate (X.YY-rcZ - X.YY = version, Z - prerelease
+umber):
+ a. Update AC_INIT(X.YY.rcZ) in configure.in.
+ b. Run 'autoreconf -i' to generate the configure file again, with the
+ new release number.
+ c. Run './configure' to generate Makefile and dist/libcgroup.spec with
+ correct version numbers.
+ d. Run 'make dist' to create tarball. Fix Makefile.am files if
+ something goes wrong.
+ The tarball should contain everything needed for compilation with
+ simple sh, make and (optionally) rpmbuild, among others:
+ libcgroup-X.YY.rcZ/configure
+ libcgroup-X.YY.rcZ/dist/libcgroup.spec
+ e. Try to build rpms ('rpmbuild -ta libcgroup-X.YY.rcZ.tar.gz'), fix
+ errors in dist/libcgroup.spec.in file if something goes wrong.
+ f. Tag the pre-release in git.
+ g. Publish the pre-release libcgroup-X.YY.rcZ.tar.gz and announce it on
+ the libgroup-devel list.
+ h. Test the pre-release and go to a) if new one is needed.
+ During this period, ABI of newly introduced shared symbols is *not*
+ stable and may change, if there is very good reason to break it.
+
+5. Finally release official version using the same procedure as in step 3.,
+ only without the .rcZ version number suffix.
+6. Update topic on #libcgroup IRC channel.