[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Splitting the package.



On Mon, May 13, 2002 at 12:15:06PM +0200, Jerome Warnier wrote:
> >Have a look at the list of modules generated by setup, which I have put up
> >at
> >
> >   http://www.mx1.ru/~chris/script.htm
> >
> It looks like it would be more sense to split based upon components 
> (Writer, Calc, ...) than upon any other mean.
> I wonder...

That's one of the things I was thinking about :)

> > To split the file list into two, you should include all files in
> > <path-to-openoffice-root>/program/resource  and the
> > <path-to-openoffice-root>/share tree into  the language package list and
> > the rest into the binary package list.
> >
> This is still not FHS-compliant, which is a must to get included in 
> Debian at some time.

Yup, I think it's on the TODO list somewhere :)

> >We should definately be looking at language-specific modules (Jerome and
> >Martin are looking at this), and making it part of the split, too.
> >
> I said I was looking at this, but I couldn't even make it work myself. 
> Furthermore, the time it takes for each recompile on my computer makes 
> it more-or-less unusable. That's why I would be happy to split it in as 
> much components as possible, but *before* compilation.
> I think this is an upstream problem, though.

[...]

> >I think this will end up being a bit of a trial-and-error process at first.
> Trial-and-error, on such big programs, is very inefficient.

I don't think you've realised yet how we've done this.  You don't need to
rebuild every time - I haven't done a full rebuild myself since I built
1.0.0-1 :)

The package build is deliberately split in stages, and many of the stages
are idempotent, so you can run them again and again.  Especially useful is
the setup step.  If you have not made any modifications to the build process
or source files for OOo itself, it is enough to rerun the setup step like
this:

  rm debian/stampdir/setup ; dpkg-buildpackage -nc -rfakeroot

That will rerun setup from the built instsetoo directory, which will copy
the modules that have been selected for installation into debian/tmp and
register components.  Then, MANIFEST is checked and the binary package is
generated.  This is sufficient when you have made changes that do not affect
the OOo build or source itself.

I then have a seperate source tree which I keep in sync with CVS, and use
that to generate the source packages for upload (no-one else needs to worry
about that).

Probably, the only time you need to rebuild completely is when extra
languages are enabled for the build, or if the source is patched (which I'm
trying to avoid unless absolutely necesary).  And with ccache you can reduce
the build time down to 2.5 hours anyway.

Chris
-- 
Chris Halls | Frankfurt, Germany

Attachment: pgpfo0lJdgboe.pgp
Description: PGP signature


Reply to: