[Kroupware] contribution to improve kolab version control
Stephan Buys
list at codefusion.co.za
Wed Jan 28 09:26:26 CET 2004
Thanks! This is _real_ cool.
On Wednesday 28 January 2004 02:16, Thomas Lotterer wrote:
> Here comes my contribution to improve kolab version numbering: ideas,
> suggestions, documentation, code for automation.
>
> Unpack the tar archive into server/kolab/kolab CVS, add the files, grep
> for FIXMEs and adopt them for your environment. Nothing stops you from
> putting them higher in the tree. Just correct the pathes.
>
> 662 Jan 28 00:54 2004 README
> 987 Jan 27 22:47 2004 devtool
> 4638 Jan 28 00:51 2004 devtool.conf
> 2214 Jan 27 22:47 2004 devtool.func
> 118664 Jan 28 00:32 2004 shtool
> 497 Jan 28 00:53 2004 version.pm
>
> Then just run
>
> $ ./devtool release
>
> and the current version.revision.level will be shown. Enter the new
> triple and a new version will be created, put into version.pm (which
> could be used by perl modules), substituted into README, kolab_bootstrap
> and admin/kolab/index.php (consider this examples), ChangeLog created
> (if you stick with cvs2cl put ChangeLog into .cvsignore), files are
> flushed to CVS and TAGged, permissions fixated, tarball rolled,
> compressed and uploaded. Done!
>
> Please review devtool.conf to understand and modify what's going on.
>
> The devtool and devtool.func are static files, they will rarly ever
> change. Note shtool is GNU shtool, nothing special.
>
> For easier discussion in this list, here is the version explanation
> content from the devtool.conf comments:
>
> DESCRIPTION derived from "GNU shtool version"
>
> The version is always described with a triple
> <version,revision,level> and is represented by a string which always
> matches the regular expression ``"[0-9]+\.[0-9]+[sabp.][0-9]+"''.
>
> The hexadecimal format for a version "v.rtl" is "VVRRTLL" where "VV"
> and "RR" directly correspond to "v" and "r", "T" encodes the level
> type as 9, 2, 1, 0 (representing "s", "p"/".", "b", "a" in this
> order) and "LL" is either directly corresponding to "l" or set to 99
> if level type is "s".
>
> EXAMPLE
>
> Typical development cycle with alpha, beta, release and updates
> Note that the hexadecimal format advances through the evolution
>
> 1.2a4 = 0x102004 = fourth alpha of future version 1 revision 2
> 1.2b1 = 0x102101 = first beta of future version 1 revision 2
> 1.2.0 = 0x102200 = initial release of version 1 revision 2 aka 1.2.0
> 1.2.1 = 0x102201 = version 1 revision 2, first patch level aka 1.2.1
> update 1.3a1 = 0x103001 = first alpha of future version 1 revision 3
> 1.3.0 = 0x103200 = initial release of version 1 revision 3 aka 1.3.0
>
> 1.3.1b impossible: alpha/beta for patchlevels/updates
> 2b0.0 impossible: alpha/beta for versions (only version/revision pairs)
> 1.3.1.4 impossible: anything else but triple
> 2.0 impossible: anything else but triple
>
> OPENPKG SRPM NAMING
>
> kolab-1.3b1-2.0.0.src.rpm = kolab-1.3b1.tar.gz in
> OPENPKG_2_0_RELEASE kolab-1.3b1-2.0.1.src.rpm =
> kolab-1.3b1.tar.gz in " (security)patch 1 kolab-1.4a1-20040230.src.rpm
> = kolab-1.4a1.tar.gz in CURRENT 30-Feb-2004
> kolab-SNAP20040230-20040231.src.rpm = kolab snapshot 30-Feb-2004 in CURRENT
> kolab-1.5-kolab_xyz.src.rpm = kolab-1.5.tar.gz 3rd party no OpenPKG
> ^^^^^^^^^ ^^^^^^^^^
> vendor openpkg numbering; 3rd parties use textual prefix
>
> USAGE
>
> ./devtool release = version + tag + dist + upload
> ./devtool version = display, ask, change version
> ./devtool tag = flush pending changes and tag CVS
> ./devtool dist = roll and view distribution tarball
> ./devtool upload = upload tarball for public access
> ./devtool snap like release but creates SNAPYYYYMMDD snapshot
>
> --
> Thomas.Lotterer at cw.com, Cable & Wireless
--
Stephan Buys
Code Fusion cc.
Tel: +27 11 391 1412
Mobile: +27 83 294 1876
Email: s.buys at codefusion.co.za
More information about the Kroupware
mailing list