Apache OpenOffice FreeBSD porting status page
by OpenOffice porting team , NAKATA, Maho , and Jackson Low
- News
- Available ports and obtaining packages
- Supported platforms
- How to build
- Build timings (benchmark test)
- How to use SDK
- Implementation test
- Quality Assurance
- About dictionary
- Release process
- Todo
- Porting tips
- Porting pitfalls
- Links
- Policy
- Contact
News
2012/Feb/29: The FreeBSD port has been merged in the Apache SVN repository. The Apache OpenOffice blog has a new entry from Maho@.
Older OpenOffice.org porting news can be found here.
Available ports (ports in the FreeBSD ports tree)
- Apache OpenOffice 3.4 (Development Version; upcoming 3.x)
- OpenOffice.org 3.3.0
- OpenOffice.org 3.4-Beta (DEPRECATED)
- OpenOffice.org 2.4.1(DEPRECATED)
- ooo-build, a minor fork of OpenOffice.org (BROKEN)
Obtaining older packages, language packs, and build logs (DEPRECATED)
- Current amd64 packages, language packs, and build logs
- Current i386 packages, language packs, and build logs
- All packages with language packs, and build logs (3.2.1 and prior)
- 3.3.0 for 8-STABLE (amd64/i386)
- 3.2.1 for 8-STABLE (amd64/i386)
- 3.2.0 for 8.0-STABLE (amd64/i386)
- 3.1.0 for 7.2-STABLE (amd64)
- 3.0.1 for 7.1-STABLE (amd64)
- 3.0.0 for 7.1-STABLE (amd64 and i386)
- 2.4.1 for 7.0-STABLE (amd64 and i386)
- 2.3.0 for 6.2-STABLE (amd64 and i386)
- 2.2.1 for 6.2-STABLE (amd64 and i386) and 7.0-CURRENT amd64
- 2.2 for 6.2-STABLE (amd64 and i386)
- 2.1 for 6.2-RC1 (amd64 and i386)
Supported platforms
- FreeBSD 5.3 and later, FreeBSD 6, FreeBSD 7, FreeBSD 8, FreeBSD 9: supported
Officially supported by office@freebsd.org. If your build is broken, please let us know. Recommendation is FreeBSD 8.1-RELEASE.
- FreeBSD 5.2.1-RELEASE/i386 : NOT supported
We had serious implementation differences in rtld.c between FreeBSD and NetBSD/Linux/Solaris which had been producing very weird problems and a hard-to-track bug. It was fixed after 5.2.1-RELEASE and 4.11-RELEASE. Please see the commit log for details. We decided to mark this port as BROKEN for them, however, and a patch for rtld.c for 5-RELENG are available. This patch is totally unsupported so use it at your own risk. Feedback is welcome. This has reached to the end of life.
If you are 5.3-RELEASE or prior, you will need to do the following:% su Password: # fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c-releng5 # cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c-releng5 # make ; make depend ; make install
- FreeBSD 4.11-RELEASE/i386 : NOT supported
How to build
Basically, just typing make 'install' will work fine for standard installations. It will fetch everything you need from the Internet while you sit back and drink a cup of coffee or take a nap. However, compiling jdk is the most tedious part (i.e. fetching the java source code and enabling the linux binary compatibility mode required by the linux version of jdk for bootstrapping). I'll assume you have already installed JDK 1.6.0 (/usr/ports/java/jdk16) via ports in this tutorial. If you want to build a developer version or other snapshot versions of OOo, just cd to different directory; /usr/ports/editors/openoffice.org-3-devel or /usr/ports/editors/openoffice.org-3-devel.
- Building/installing OpenOffice.org (English version)
% cd /usr/ports/editors/openoffice.org-3 ; make % su Password: # make install
- Building/installing/packaging a localized language package (Japanese version for example)
% cd /usr/ports/editors/openoffice.org-3 ; make LOCALIZED_LANG=ja % su Password: # make LOCALIZED_LANG=ja install package
For other languages such that French, German, etc, please change LOCALIZED_LANG=XX; replacing XX with your language in ISO-code, etc) Please consult files/Makefile.localized for supported languages. - Building/installing/packaging a localized language package (Japanese version for example)
- Building a package
% cd /usr/ports/editors/openoffice.org-3 ; make % su Password: # make package
- Building sdk
% cd /usr/ports/editors/openoffice.org-3 ; make ; make sdk
- Building solver
% cd /usr/ports/editors/openoffice.org-3 ; make ; make solver
- Building the English version with package/sdk/solver
% cd /usr/ports/editors/openoffice.org-3 % su Password: # make package package-rename solver sdk deinstall clean
- Building all localized language packages
The initial make may take 6 hours, however the next make will only take 5 minutes. The trick is TWEAK_L10N touches work/.configure_done* etc. This is due to limitations of ports framework.# cd /usr/ports/editors/openoffice.org-3 ; make ALL_LOCALIZED_LANGS=yes # make TWEAK_L10N=yes LOCALIZED_LANG=ja pre-everything # make LOCALIZED_LANG=ja WITH_CCACHE=yes package package-rename deinstall # make TWEAK_L10N=yes LOCALIZED_LANG=ar pre-everything # make LOCALIZED_LANG=ar WITH_CCACHE=yes package package-rename deinstall # make TWEAK_L10N=yes LOCALIZED_LANG=ca pre-everything # make LOCALIZED_LANG=ca WITH_CCACHE=yes package package-rename deinstall ...
- Renaming your OOo package, OOo_${VERSION}_${PLATFORM}_${ARCH}.t{bz|gz}; for example, renamed to OOo_3.0.0_FreeBSD70Intel_install_ja.tbz.
% cd /usr/ports/editors/openoffice.org-3 % su Password: # make package package-rename
- Building with ccache (useful for 2nd builds and developers as it reduces the amount of time for a full build from 6 hours to 3 hours)
# make WITH_CCACHE=yes
- For releasing, do everything described above (build every localized package, sdk, solver, and rename).
% cd /usr/ports/editors/openoffice.org-3/files % perl generate.pl > ../go.csh % su Password: # cd .. ; csh go.csh
Knobs
- Building with debug symbols support
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_DEBUG
- Building without gnome VFS support
% cd /usr/ports/editors/openoffice.org-3 % make -DWITHOUT_GNOMEVFS
- Building with devel/icu from ports
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_SYSTEM_ICU
- Building without CUPS support
% cd /usr/ports/editors/openoffice.org-3 % make -DWITHOUT_CUPS
- Building with Qt/KDE vclplug
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_KDE
- Building with gpc instead of libart
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_GPC
- Building with evolution2 support
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_EVOLUTION2
- Building with full localized language support
% cd /usr/ports/editors/openoffice.org-3 % make LOCALIZED_LANG=alllangs
- Building select language support
% cd /usr/ports/editors/openoffice.org-3 % make LOCALIZED_LANG=xx
while xx can be one of the following:
af ar as-IN be-BY bg br bn bn-BD bn-IN bs ca cs cy da de dz el en-GB en-US en-ZA eo es et eu fa fi fr ga gl gu-IN he hi-IN hr hu it ja ka km kn ko ku lo lt lv mk ms ml-IN mr-IN ne nb nl nn nr ns oc or-IN pa-IN pl pt pt-BR ru rw sk sl sh sr ss st sv sw sw-TZ te-IN ti-ER ta-IN th tn tr ts tg ur-IN uk uz ve vi xh zh-CN zh-TW zu
Current setting: en-US
Release process
- Commit thoroughly tested updates to the FreeBSD ports tree
- Prepare clean installed x.y-RELEASE of FreeBSD
- Install cvsup and perl and rebuild world
- cvsup ports tree
- Generate shell script for full build
# cd /usr/ports/editors/openoffice.org-3 # cd files ; perl generate.pl >& ../go.csh
- Remove /usr/local, /var/db/pkg, and /var/db/ports
# rm -rf /usr/local /var/db/pkg /var/db/ports
- Build Openoffice.org dependencies
# cd /usr/ports/editors/openoffice.org-3 # make -DBATCH depends
- Build entire OpenOffice.org (takes a very long time, may take several hours to several days)
# cd /usr/ports/editors/openoffice.org-3 # setenv BATCH yes ; csh go.csh
- Upload to http://ooopackages.good-day.net/pub/OpenOffice.org/FreeBSD/, ftp://ftp.stardiv.de/ . Only maho and Jack Low knows how to upload binaries.
- Write an e-mail to ja@openoffice.org, st@openoffice.org or mh@openoffice.org to report packages are uploaded to visible place.
- Announce at releases@openoffice.org and openoffice@freebsd.org to let people know packages are available for FreeBSD.
- (optional) Do QA test for localized packages.
- (optional) Announce if QA has passed.
Todo
- Define QA process. Pass VCLTesttool with recent VCLTestTool environment
Porting tips
- Checking out the source from cvs
cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout -r DEV300_m5 OpenOffice3
cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout -r cws_srx645_mozooo
- How to make a mozilla runtime : see #iz 11424 and #iz 28398 and use mozzip.sh for 1.0.
- How to make a patch
% dmake patch % dmake create_patch
- Using cwstools, esp. for how to take diff of cws and its anchor (please read PJ's email)
pavel@pavel:~/.ooo/ooo_SRC680_m96_src> cwsquery -m SRC680 -c macosx06 modules cwsquery -- version: 1.5 cwsquery: Master workspace 'SRC680', child workspace 'macosx06': cwsquery: Modules: jvmfwk scp2
Two modules are in macosx06cd scp2; cvs diff -r CWS_SRC680_MACOSX06_ANCHOR -r cws_src680_macosx06
See the diff. - cws-extract
cws-extract of ooo-build is very nice, a lot easier to obtain the diff explained above.
- cws-commit-patch
cws-commit-patch make it easier for us to commit patches to ooo cvs. You must have your issue numbers handy!
Porting pitfalls
- bridges/source/cpp_uno
- solenv/inc/unxfbsdi.mk
Links
- CWS announce ML archive
- Release announce ML archive
- GullFOSS OpenOffice.org Engineering at Sun
- IssueZilla daily report
- Environment Information System 2.0
- openoffice@FreeBSD.org ML archive
- Filename conventions
- Maho Nakata's blog, RSS feed
- DomainDeveloper Who's who?
- Pavel Janik's blog
- Compiler versions used by port maintainers and release engineers
- OOo Release 2.1 Wiki
- OOo Release 2.2 Wiki
- OOo Release 2.3 Wiki
- OOo Release 2.4 Wiki
- OOo Release 3.0 Wiki
- OOo Release 3.1 Wiki
- OOo Release 3.2 Wiki
- OOo Release 3.3 Wiki
- CWS howto
- IRC@libera.chat, #openoffice
- Supported langs. lang codes, etc.
- A picture of BSD Daemon
Policy
- We support Java 1.5, 1.6, both diablo, and OpenJDK port versions for all openoffice.org-2 and openoffice.org-3 related ports.
- Looking for volunteers to support gcj build.
- If you would like to submit significant patches for Apache OpenOffice, please fill out and submit the Apache Individual Contributor License Agreement CLA. If you want to learn more, please check the License FAQ. Here is a list of people who have signed the Apache CLA.
- If you would like to provide enhancements in the Makefile in the ports framework, you *don't* need to fill out an iCLA.
- If you would like to provide bug fix(es) and/or enhancement(s) which won't be integrated into Apache OpenOffice, i.e. Ximian patches, you *don't* need to fill out the iCLA.
- Previous SUN/oracle contributors agreements are not needed anymore.
Contact
FreeBSD Apache OpenOffice porting teamThank you very much for your support!