incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Weir <robw...@apache.org>
Subject Re: [BUILD] Linux buildboot set up and configure switches
Date Tue, 03 Jan 2012 12:38:40 GMT
2012/1/3 Jürgen Schmidt <jogischmidt@googlemail.com>:
> On 1/2/12 9:46 PM, Ariel Constenla-Haile wrote:
>>
>> Hi there,
>>
>> now the buildboot's builds are configured with the following switches:
>>
>> --with-jdk-home=/usr/lib/jvm/java-6-sun
>> --with-system-python
>> --enable-verbose
>> --with-package-format=deb
>> --with-build-version=2012-01-02
>>
>>
>> IMO those switches have the following drawbacks:
>>
>> * system python should not be used. A universal Linux build should have
>>   internal python instead
>>
>> * package format should also include RPM packages
>>
>> * builds should include category B
>>
>> * the build boot should also build the extensions (AFAIK only the
>>   Presenter Console, the Presentation Minimizer and the Wiki Publisher
>>   are buildable after the ip clearance)
>>
>>
>> So I'd propose to use the following switches:
>>
>> ./configure   \
>> --with-build-version="$(date +"%Y-%m-%d %H:%M:%S (%a, %d %b %Y)") - Rev.
>> $(echo $(svn info) | sed -e 's/^.*Last Changed Rev: //g' -e 's/ .*//g')" \
>> --enable-verbose \
>> --enable-category-b \
>> --enable-minimizer  \
>> --enable-presenter-console  \
>> --enable-wiki-publisher  \
>> --enable-opengl  \
>> --enable-dbus  \
>> --enable-gstreamer \
>> --with-package-format="installed rpm deb"
>>
>>
>> The first switch
>> --with-build-version="$(date +"%Y-%m-%d %H:%M:%S (%a, %d %b %Y)") - Rev.
>> $(echo $(svn info) | sed -e 's/^.*Last Changed Rev: //g' -e 's/ .*//g')"
>> will produce a string in the About Dialog like this:
>>
>> 2012-01-02 17:20:41 (Mon, 02 Jan 2012) - Rev. 1226336
>>
>> Adding date-time and revision info to the dialog is IMO a good idea.
>>
>>
>>
>> The following switches
>> --enable-category-b
>> --enable-opengl
>> --enable-dbus
>> --enable-gstreamer
>> provide the basic a Linux AOO user could expect (OpenGL transitions,
>> GStreamer AVMedia plugin, all category B features).
>>
>>
>>
>> The following switches
>> --enable-minimizer  \
>> --enable-presenter-console  \
>> --enable-wiki-publisher  \
>> enable the three extensions.
>>
>>
>>
>> Finally, the buildboot should be update to use EPM 3.7 patched with
>>
>> http://svn.apache.org/viewvc/incubator/ooo/trunk/main/epm/epm-3.7.patch?revision=1162288&view=co
>> to produce packages installable on Debian.
>
>
> it makes indeed sense to build epm not every time but we don't have to
> replace the system epm. Instead we can put a patched version somewhere on
> the build bot and can use
>
> --with-epm=<path_to_patched_epm>
>
> (we should change the configure switch to --with-epm-path to be more
> consistent)
>
> The same is true for dmake, don't know how it is find today on the build
> bot.
>
> --with-dmake-path=<path_to_dmake>
>
> Everything else makes a lot of sense to me and we should use this
> configuration on the build bots for the binary builds.
>
> Maybe we should have a second configuration without any switches and running
> the RAT scans and produce our source releases which we have to provide.
>

+1

You make an important point.  Unlike legacy OOo project, AOO needs to
consider two release packages:

1) Source package, which builds with default build options and
produces working binaries with only compatible licenses (ALv2 and
category-a).  It might miss some functionality, but it must generally
still work.

2) Binary package, which may include category-b dependencies.


If we only build #2 then #1 will soon break and we won't know about it
until it becomes very painful and expensive to fix.   Since we have
already made a big investment in cleaning the build to ensure #1
works, we should think of a way to verify that it still works, on an
ongoing basis.

Maybe:

1) Do an extra build each night with default build options, so we get
#1 above?  Maybe not on every platform, or we do platforms in
rotation?

or

2) Alternate builds.  Odd days are #1, and even days are #2

or

3) Something else?

> Juergen
>
>
>>
>>
>> -------------------------------------------------------------------------
>>
>> Final note for those trying to build themselves:
>>
>> on a default installation of Ubuntu 10.04.3 LTS (Lucid Lynx) live-cd
>> image [1] you will have to add the following pakages to build AOO with
>> the above mentioned switches:
>>
>> sudo apt-get install \
>> rpm \
>> autoconf \
>> libarchive-zip-perl \
>> g++ \
>> libcups2-dev \
>> libpam-dev \
>> openjdk-6-jdk \
>> gperf \
>> libfreetype6-dev \
>> libgtk2.0-dev \
>> libxaw7-dev \
>> bison \
>> flex \
>> libgconf2-dev \
>> libgnomevfs2-dev \
>> libdbus-glib-1-dev \
>> libgstreamer-plugins-base0.10-dev \
>> mesa-common-dev \
>> libgl1-mesa-dev \
>> libglu1-mesa-dev \
>> ant \
>> junit4 \
>> libidl-dev
>>
>>
>> [1] http://mirror.switch.ch/ftp/mirror/ubuntu-cdimage/lucid/
>>
>>
>>
>> Regards
>
>

Mime
View raw message