diff options
author | Jan Safranek <jsafrane@redhat.com> | 2010-02-08 14:13:18 +0100 |
---|---|---|
committer | Balbir Singh <balbir@linux.vnet.ibm.com> | 2010-02-10 16:40:04 +0530 |
commit | 6b50959c3128c9ba7cfcd9602a39877f69aa5351 (patch) | |
tree | 12d7123958570d8928b132bbe3d1ae340477f740 | |
parent | c05a25c145d1584299ecdfe8f941bc8658c809b7 (diff) | |
download | libcg-6b50959c3128c9ba7cfcd9602a39877f69aa5351.tar.gz libcg-6b50959c3128c9ba7cfcd9602a39877f69aa5351.tar.xz libcg-6b50959c3128c9ba7cfcd9602a39877f69aa5351.zip |
Release procedure proposal
this is my proposal for release procedure - it's quite simple and covers all
the technical details you need to know regarding autotools.
Changelog:
- re-diff with current master (and not my internal branch :)
- renumber the steps
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
-rw-r--r-- | README | 17 | ||||
-rw-r--r-- | doc/internal/release.txt | 32 |
2 files changed, 32 insertions, 17 deletions
@@ -1,20 +1,3 @@ -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 - - Design ======== 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. |