[Kolab-devel] CVS - New Modules and Tools (releng, devel, utils)
Thomas Lotterer
thl at dev.de.cw.com
Mon May 3 22:37:13 CEST 2004
On Mon, May 03, 2004, Steffen Hansen wrote:
> On Monday 03 May 2004 16:45, Stephan Buys wrote:
>
> > If you want to develop, just check out 'devel' and start hacking
> > (remember to 'opa /kolab') and be sure to uninstall the perl-kolab
>
> What does that mean 'opa /kolab' ?
>
http://www.openpkg.org/doc/handbook/openpkg.html#environ-opa
> > If you want to release then check out 'releng' (as well as 'devel').
> > There are three directories in here; kolab, perl-kolab and obmtool.
> > obmtool contains the obmtool.conf that we will use, whereas kolab
> > and perl-kolab contain all the files used for creating a Kolab or
> > Perl-Kolab release. In order to release you'll have to copy the
> > devtool scripts in 'utils/devtool' to the relevant directory, then
> > run './devtool release'. This will copy all the source files from
> > devel into their release locations within the current directory and
> > roll the necessary tarballs.
>
> Can you give some examples about how to use devtool and shtool so
> I can get up to speed and merge in my stuff (and implement the new
> features)?
>
The structure is very simple: run "./devtool foo". Then devtool will
take the %foo shell snippet from devtool.conf and prepend the wholly
devtool.func and run that generated script. Strong rpm feeling, simple
and powerful. It's up to the project organization to create the
%scriptlets and adopt them to their environment. My recommendations and
experience from other projects are:
%autoclean
%autogen
%checkout
%configure
%depend
%dist
%install
%release
%snap
%tag
%test
%upload
%version
In most if not all cases a developer should get an idea of what these
are doing by examining the names. Some are "meta" scriptlets only
calling others. I provided examples for the most important ones.
> The first "showstopper" for me was running devtool. It needs
> devtool.func from utils and devtool.conf from releng and it seems to
> want both to be in the current dir.
>
That's true. The devtool triple should always stay in the same
directory in order to build a working group of files. This also allows
a %scriptlet to call "./devtool %otherscriptlet" with no need for
setting a PATH. This also allows all devtool/devtool.func files to be
updated on the favourite pace of the project. And updates are rare.
More importantly the project specific devtool.conf can be customized
seperately.
> > Not everything relating to using devtool to release is in; we'll
> > have to considerably customise devtool.conf for each module (there
> > are a lot of FIXMEs around the place), however for the moment the
> > basics are there. Thanks go to Ralf Engelschall and Thomas Lotterer
> > for this release system. (Note that you'll need the 'cvs2cl' program
> > in order for the CVS log to ChangeLog/Changes functionality to
> > work).
>
> Where do I get cvs2cl?
>
i.e. ftp://ftp.openpkg.org/release/2.0/SRC/PLUS/cvs2cl-2.52-2.0.0.src.rpm
> > Other developers may also want to move some of the directories in the
> > current server module over to the new system as well; I'm not sure
> > how everyone feels about this though.
>
> Most of those are obsolete as the required changes are in OpenPKG.
> The only one I can think of that we need that might not have been
> integrated would be the groupfile_hack patch for cyrus. I'll import
> whatever I need soonish.
>
The hack was included into OpenPKG with a FreeBSD port of the Linux'ish
getgrent() added, http://cvs.openpkg.org/chngview?cn=12796 The
interesing thing is that I have never seen a situation where Kolab
actually requires this hack. I believe the whole stuff stays dormant
within Kolab.
--
Thomas.Lotterer at cw.com, Cable & Wireless
More information about the devel
mailing list