[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