incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mathias Bauer <Mathias_Ba...@gmx.net>
Subject A first try to remove some copyleft components from the build
Date Mon, 18 Jul 2011 17:14:46 GMT
Hi,

I tried to get rid of some copyleft dependencies. As I will leave for
vacation on Wednesday, I now send my first patch to the list so that
others already can have a look or even continue. I only did it on Linux
so far, of course we will need adaptions for other platforms.
I created the patch from the hg repository of OpenOffice.org, but the
differences to our still not existing svn repository won't be huge, so
it should bring us a little bit closer to a "clean" build.

I also added some more todos to the wiki page.

Meanwhile the license information at

http://wiki.services.openoffice.org/wiki/ApacheMigration

about our external tarballs is nearly complete, so there might be some
more modules that could be worked on before we will tackle the
"internal" copyleft dependencies. As I see it, I already should have
covered most dependencies on copyleft licensed external tarballs, with
the exceptions of the modules for the svg import (Kai Ahrens announced
to work on it) and linear solver (Niklas Nebel already created a first
patch for it).

Now some words about the patch.

I wanted to have it lazy ;-), so I just added a single configure switch
"--with-disable-copyleft" and did some quick and dirty changes to
configure.in. If someone wants to make the name or the implementation
nicer - please go for it. I never got when to use "yes/no" or
"true/false" in our configure.in. :-)

With the changes in the patch the following modules won't be built
anymore when the switch is used:

dictionaries
epm
gstreamer
hunspell
hyphen
libwpd
mozilla
mythes
neon
nss
saxon

and some modules or module parts that depend on them. I didn't need to
remove any sources, as all copyleft parts that I removed are external
tar balls. The code using these parts is just "normal" OOo code that can
stay in the repository, though should be left out in the standard build
at Apache.

The final installation set of the build on Linux currently ist just
created as a tar.gz, native packages can't be created as epm is missing.
(I already posted a question about epm to this list, hopefully someone
will be able to answer it.) Thus the build currently finishes with an
error message, nevertheless the tar.gz was created and the result
basically runs fine.

The patch contains some unfinished work in rhino that is still commented
out. If someone knows how to add conditional compilation to a build.xml
file (I don't): the module "scripting" has parts depending on rhino that
need to be removed from the build.xml in case DISABLE_RHINO is set.
Which parts these are can easily be "detected" (means: found by build
breakages) by removing the comment signs from my changes in rhino before
you start the build.

If you want to try it yourself: get the source from
http://hg.services.openoffice.org/OOO340, apply the patch, call autoconf
and then do the build as usual, following the build instructions in the
ooo wiki. On my Ubuntu 11.04 the new configure switch was the only one I
needed.

For those amongst us that are used to the OOo build system: I treated
configure no longer as part of the build tree, so autoconf is required
after applying the patch. Makes more sense that way, IMHO, and from what
I already learned on this list, it is the preferred way at Apache.

Regards,
Mathias

Mime
View raw message