Hi,

this is my proposal for release procedure - it's quite simple and covers all
the technical details you need to know regarding autotools. Comments?

Signed-off-by: Jan Safranek <[email protected]>
---

 doc/internal/release.txt |   41 ++++++++++++++++++++++++++++-------------
 1 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/doc/internal/release.txt b/doc/internal/release.txt
index d25fad9..843b5ce 100644
--- a/doc/internal/release.txt
+++ b/doc/internal/release.txt
@@ -2,17 +2,32 @@ Libcgroup release procedure
 ===========================
 Please follow the following steps (TODO: Automate these steps)
 
-0. Update package version in AC_INIT (configure.in)
-1. Tag the current sources in trunk to the specified version
-1. Run autoreconf -i to generate the configure file again
-   (on changing any of the automake files)
-2. Run configure with --prefix=<desired prefix> default is /usr/local
-3. This step should generate
-       a. Makefile
-       b. libcgroup.spec
-4. To build the RPM, carry out the following steps (obsolete, will be revised)
-       a. Create a tag with the same version as specified in step 0
-       a. Run mktarball
-       b. copy tarball and spec file to correct place in the RPMBUILD
-       c. Build an rpm of the spec file
+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 
number):
+       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 number.
+       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.
+
+6. Finally release official version using the same procedure as in step. 3.,
+   only without the .rcZ version number suffix.
+8. Update topic on #libcgroup IRC channel.
 


------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to