On Wednesday 25 March 2009 15:43:29 Lukas Oboril wrote:
> We have to simplify a bit our build system. There must be a serious
> discussion and we have to create some integration plan, which doesn;t
> exist now.
Luc, can you start a separate thread for this one? Or, hang on, I'll just
change the Subject: line.
> > The KDE4 may be pure spec, but everything needed to actually build
> > is a combination of sources from our SVN repo at cvsdude.com which
> > is where the major "dependencies" tool chain using Studio 12 as the
> > compiler work is done, and the spec files that use those customizations
> > (it's not pure spec for those packages)
Let us presuppose that specfiles and builds using pkgtool are a must.
There are two layers of indirection in the current build setup (possibly
three) which make things confusing, along with a tangle of include files.
Since you (Luc) and I wrote the first specfile bits in Dude over a year ago,
things have grown, been cleaned up (down with pspc!) and grown again. I agree
that it's time for another cleanup attempt.
Anyway, the indirections (note that these also tie in closely with an SCM
discussion, elsewhere):
- The patches and build scripts are written separately from the specfiles.
These are rolled into tarballs and used as a %SOURCE in the specfiles
themselves. Indirection because we have separate versions of Dude, the
resulting tarballs, and the specfiles. Partly addressed through the src_rev
define in the specfiles, but still error-prone.
- The specfiles themselves contain only boilerplate (in common.spec) which
invoke the scripts from Dude. So given the specfile, you can't actually see
what it's going to do.
- I was going to say something about the context in which a base-spec is
included, but I realise that that applies to the "pure" specfiles only, of
which there are few.
I've been keeping a local branch while I go through and try to clean up the
"pure" spec style to be less confusing. That handles some of the confusion in
base-spec contexts and includes, but does nothing towards reconciling the
development of patches with the use of those same patches by specfiles. *That*
indirection through tarring up of bits of Dude is something I'd really like to
dispose of; I think that means doing specfile development closer to the patch
development *and* adjusting the means of patch development so that it's easier
to use in specfiles.
--
Adriaan de Groot - KDE Quality Team, KDE-Solaris
- http://www.englishbreakfastnetwork.org/
- http://solaris.kde.org/