2010-10-05 15:31

LibreOffice on CIA.vc

Yesterday I have added LibreOffice as a project to the CIA.vc tracking site; and guess what, it was among the most active projects yesterday, and it has quite some nice progress today too :-)

Big 'Thank you!' to everyone who make this happen!

Posted by kendy | Permalink | Categories: OpenOffice.org

2009-07-29 14:03

Pro Git

I've just learned about the Git book - Pro Git. I've read just small parts of that, but looks really great :-) You can buy a printed version of that too.

Posted by kendy | Permalink | Categories: OpenOffice.org

2009-07-08 11:45

Split build

Split build is an effort to provide OpenOffice.org buildable by pieces; and additionally the way you can see with all the free software projects that use autotools - just ./configure ; make ; sudo make install.

But what I mean by 'building by pieces'? Imagine you are completely new to OOo development, and notice a tiny misbehavior in Calc. What do you have to do now? Download all the giant monolithic sources, guess the right configure switches, install all the dependencies, learn the OOo build system, and do the build. If you did not get demotivated by now, you might try to fix the original problem.

ooo-build makes it a bit easier - it has default settings for lots of the distros out there, and automates the download of the sources. But the ultimate answer is the split build :-)

With the split build [when finished, of course ;-)], all you'll have to do is install the OpenOffice.org-*-devel packages using the way usual for your distro (in openSUSE, it will mean zypper source-install -d OpenOffice_org-calc, in Debian apt-get build-dep packagename), clone the Calc tree, and do ./configure (or ./autogen.sh to generate the autotools stuff) ; make .

At the moment, it is work in progress, taking place in the ooo-build git repositories. So far, bootstrap (the common build pieces), ure (UNO Runtime Environment), libs-extern (3rd party libraries), and libs-extern-sys (3rd party libraries, usually available in recent Linux system) are in usable shape, more to come soon.

Oh yes, and for those who still want to build everything, there will be a possibility to do make world in bootstrap that will build everything from the beginning to the end :-)

Posted by kendy | Permalink | Categories: OpenOffice.org

2009-06-15 14:37

OOo KDE4 Integration

Thanks to the heroic efforts of Éric Bischoff, Bernhard Rosenkränzer, and Roman Shtylman, the OpenOffice.org KDE Integration has been ported to KDE4. It still has some rough edges (currently the detection does not work out of the box—you have to export OOO_FORCE_DESKTOP=kde4 to get it), but it is safe because it co-exists nicely with the existing KDE3 integration; so if you are not satisfied, you are able just swich back to KDE3 (export OOO_FORCE_DESKTOP=kde).

For KDE4, Roman is also changing the out-of-process implementation of the KDE file picker to an in-process implementation, so you'll probably notice some performance improvement of the KDE file dialog launch too :-)

Guys, thank you!

Posted by kendy | Permalink | Categories: OpenOffice.org

2009-06-08 17:10

Yet another SVN to git conversion tool

Recently I needed to convert the ooo-build repository from the Gnome SVN to git, and also create a regularly updated git mirror of the OpenOffice.org SVN repository. Unfortunately I did not find a tool that would suffice my needs - git-svn was unable to handle more branches, and svn-all-fast-export had a Qt4 dependency that made it problematic to even compile, not to mention the syntax of the repository description file(s) that I did not really understand - so I decided to create a new tool based on svn-fast-export.c:


I made it for our needs, so there is just a simple Makefile, the code might be hacky here and there [and is C++ ;-)], but it seems to work really well - at least for us :-)


  • perfect import of trunk (master), branches and tags
    even when you svn cp things around like svn cp branches/blah/bleh trunk/foo/bar
    when there are commits to the tags
  • change login names to real names and email addresses
  • converts ChangeLog-like commit messages to git-like
  • allows you to split one SVN tree to multiple git trees
    (based on regexps)
  • allows you to convert leading tabs to spaces in files you choose
    (fixes a terrible pain in the OOo sources where tab is set to 4 spaces, and leading tabs and spaces are combined in nearly every source file!)
  • allows you to ignore broken tags/commits
  • and is really fast
    the OOo SVN with ~270000 commits in < 1hr on the right H/W ;-)

Documentation is a bit lacking, but basically you need to create one file containing the description of the repositories, and one with the names/emails of the svn login names, and you are ready to start ./svn-to-git.sh. Description files I used for the ooo-build and OOo conversions are included.

So - if you are interested, and have a SVN repository to convert, give it a try. And if you have patches, please send them to me :-)

Posted by kendy | Permalink | Categories: OpenOffice.org

2009-04-20 10:46

Is git hard to use?

As you might know, ooo-build has switched to git a month ago. After the month of real use, I think we can say that no, git is not hard to use. But check an example git session and answer yourself :-)

And if you want to know more about the git usage, check the complete ooo-build GettingIt pages. Don't worry, it won't take you more than 10 minutes...

Posted by kendy | Permalink | Categories: OpenOffice.org

2008-05-30 15:13

Even you can fix your favorite bug in OOo!

Last weekend I had a presentation called Even you can fix your favorite bug in OOo! (Czech only) at Linux Weekend (Czech only). Not that it was a favor to Dan Ohnesorg who kindly provided the bandwith and service for the video streaming from the GoOOCon 2008, it was also a good opportunity to sort the stuff that one needs to get started fixing a bug in OOo. In the end, I was talking the entire hour more or less just about how to get a build, and nearly no time was left to talk about the actual debugging.

The situation would be a lot simpler if we used more standard tools - but due to the OOo roots, all of them are self-baked. Starting with configure located inside a directory, through self-patched dmake, across build.pl and deliver, to gsi files etc. And all this so monolithic that any bigger change has to touch everything, or the change was not big enough ;-)

For quite some time, I think of splitting the OOo compilation into smaller parts. Yes, the 'divide et impera', so that the changes are smaller, easier to achieve, faster to build. It would also alow nicer -devel packages in the Linux distros. Now when I see its importance again, and more brightly, Petr or me will try to achieve it in Go-oo - I had a proof-of-concept once, hopefully getting it to a usable shape will be not that much more effort.

A propos, the videos from GoOOCon 2008... Friday was lost due to a technical problem :-( It is still not hopeless - a backup exists, unfortunately a bit malformed, so some more processing is necessary.

Posted by kendy | Permalink | Categories: OpenOffice.org

2007-12-21 10:39

OOo startup speedups

Recently I was working on removal of some libraries from the OpenOffice.org startup procedure. They are not needed immediatiely during the startup, and can be loaded later when the user decides to use the functionality, or they are not needed at all any more. It saves disk access and linking time; I measured the win of the changes described below (on an AMD Geode based system, 'simulated cold start' using sync ; echo 3 > /proc/sys/vm/drop_caches), and it went down to 14.2s from 15.5s in KDE, to 11.5s from 12.7s in Gnome, and to 9.3s from 9.5s in WindowMaker (the win is smaller there because gnome-vfs wasn't used there even before the changes). I believe there is more time to save, and I'll try to find it of course ;-) Now what exactly was there:

gnome-vfs was initialized immediately during startup to avoid a deadlock. It has to be initialized in the thread as the Gtk+ itself; so moving the initialization to the main thread solved the problem, and gnome-vfs was removed from the startup. See issue 84137 for more.

Form controls in an empty document are initilized during startup because they are in 'design mode' (the user is able to create new form controls). This makes sense of course, but before the user creates the first form control, it is not necessary to load libfrm and all its dependencies - lots of users don't need form controls for their documents at all. See issue 84259 for more.

First start wizard is presented to the user during the first start of OOo to offer registration and migration of the settings from the previous version of OOo. Unfortunately, library that does this is loaded every time the OOo is started - just to check that there's nothing to do. See issue 84169.

localedata_es is a dependency of localedata_euro just because of one entry that can be easily moved to localedata_es itself. Very cheap win ;-), see issue 84206.

libstartup-notification was removed, because up-stream has never used it, and we (ooo-build) do not use any more either because of the external splash that we are trying to push up-stream for quite some time (another nice win, by the way). See issue 84179.

Another effort in this area is Caolan's great unifysound01 CWS which removes nas, sndfile and portaudio from the VCL dependencies.

One problem here is that we remove some stuff from the startup, and other creeps in. Michael had an idea to introduce a kind of OSL_ASSERT_NOT_BOOSTRAP() macro that would be added to the init functions of the components that for sure should not be in the startup procedure, and check for that in smoketest. I'll try to produce a patch for that shortly as well...

Posted by kendy | Permalink | Categories: OpenOffice.org

2007-07-02 18:26

ccache for MSVC

For those building OpenOffice.org on Win32, it might be interesting that I've extended ccache to deal with MSVC. I've done it during our Novell HackWeek; I hope you'll enjoy the result as much as I enjoyed the hacking ;-)

It is easy to use, instead of guw.exe /path/to/cl.exe, you'll use guw.exe ccache.exe /path/to/cl.exe in your CXX environment variable after having sourced the environment. To see the ccache statistic, use ccache -s. You can override the directory where is the cache stored by exporting CCACHE_DIR="c:\where\you\want". Should you find any bugs, please send me patches :-)

I've not measured the speedup too much yet, but it was >20% in vcl compared to non-ccache run, the penalty of the initial fill of the cache was like 17% [compared to non-ccache]. Would be great if someone did a measurement of the entire build.

The patch and the binary are here, some more info there.

Posted by kendy | Permalink | Categories: OpenOffice.org

2007-02-01 17:22

OpenOffice.org git repository

You could have seen already two blog entries about a new SCM for OOo (Is Subversion OOo's next revision control system? (by Nils Fuhrmann) and OpenOffice.org SCM) (by Jens-Heiner Rechtien), who seem to prefer Subversion. But I would rather go the git way, because this could tighten the cooperation between ooo-build and up-stream; namely the features or fixes could be much more easily integrated from ooo-build back to up-stream.

From my point of view:

  • git should be used just for the source code, not for the project WWW pages. I don't care about the tool used for the WWW pages - I think that CVS is perfectly sufficient for them, I don't think it's really necessary to convert them to anything else (no extensive branching there, they change just occasionally, etc.)
  • The OOo code should be split to 2 parts - the source code itself, and the 3rd party code that is just a verbatim or a slightly patched version of free libraries (agg, beanshell, berkeleydb, bitstream_vera_fonts, boost, ..., zlib). The contemporary Linux distros are able to compile without them, using --with-system-libs configure option; on Win32 we could ship a pre-compiled pack - no need to recompile these again and again.

The OpenOffice.org git repository for testing purposes is now available at http://go-oo.org/git/ - feel free to try it. More about the topic is in the OOo Wiki.

Posted by kendy | Permalink | Categories: OpenOffice.org

2006-12-22 21:26

PF 2007

Posted by kendy | Permalink | Categories: OpenOffice.org

2006-12-18 15:13

OOo 2.1 source archives

OpenOffice.org 2.1 source archives are now split the same way you used to see in ooo-build - to the core part (the only one really needed by the developers), system (libraries that could be already present in the system), binfilter (filters to load/save the old StarOffice formats), l10n (translations to other than English and German), and sdk (Software Development Kit). Additionally the archives are compressed with bzip2 instead of gzip for additional savings.

Big thanks to Joost who made it possible from the up-stream side. ooo-build will start using these archives. We all hope that for the beginning OOo developers the archives are less scary now - 117MB to download instead of the former 300MB...

Posted by kendy | Permalink | Categories: OpenOffice.org

2006-11-02 20:25

A a = A( b ) in C++

If you ever get involved in an argument whether A a = A( b ); is or is not equivalent to A a( b ); in C++ (like me yesterday ;-) ), the answer is "it depends". Eg. g++ has a switch for that, see the man page: -fno-elide-constructors: The C++ standard allows an implementation to omit creating a temporary which is only used to initialize another object of the same type. Specifying this option disables that optimization, and forces G++ to call the copy constructor in all cases.

So - in g++ by default it really means A a( b );, but it could also mean a copy construction from temporary [something like A a( A( b ) ); which you cannot really use unless b is a constant, eg. 3, or "blah" - would mean a declaration of a function named a otherwise] with -fno-elide-constructors. Try it yourself...

Posted by kendy | Permalink | Categories: OpenOffice.org

2006-10-02 17:14

OpenOffice.org and SVG import

You know what is SVG, don't you? ;-) If not - it means Scalable Vector Graphics, and it is a vector graphics format that describes 2D graphics in XML.

So far, there's no native SVG import filter for OOo. There exists an external one, but unfortunately it has very strong dependencies - Java 5.0, and Batik.

I am currently working on another implementation. It is in C++, using the UNO Draw API, and a lighweight libsvg library. libsvg is just a parser - which is exactly what I need; unfortunately it does not seem to be too actively maintained :-( If you know about a better choice - just drop me a mail to kendy at openoffice.org. Thanks!

If you are interested in the current progress: I can import rectangles and circles, extension to other shapes is easy. I have problems with transformations - some of them work, some do not; to be improved. If you are interested in pictures, try this snowman, and have a look how it should look like, and how it currently looks in draw. If you are interested in source code, a snapshot is here.

Posted by kendy | Permalink | Categories: OpenOffice.org

2006-04-14 18:01

Weeks 04-15

x86-64 porting. Caolán joined the efforts, and the project got an extra speed ;-) - he reworked the patches for streams, and more - big thanks! So far - in the recent milestone m163 - there are all but few patches in (child workspaces long2int, sixtyfour02-04 are integrated), and the rest (about 15 patches) is waiting in sixtyfour05, configure17 & sfxcleanup child workspaces; they are all targetted 2.0.3. Looks very promising.

OOo 2.0.2. Branched ooo-build, added support for that in the apply file and apply.pl, etc.

Xlib-only splash. Rewrote the Gtk+-dependant part of the faster OOo splash implementation to Xlib-only; makes it even faster & more pleasant in KDE. You can see it in 'unxsplash' CWS...

Helping Éric Bischoff. Éric (the guy who wrote the KDE address book connector) has implemented a backend for KDE system-wide settings for OOo (like the preferred e-mail client, or proxies), and started reviving cuckooo, the KPart for displaying OOo documents in konqueror window I wrote nearly 3 years ago. Helped him with the internals of that, etc. Great to feel that kde.openoffice.org is not an one-man project ;-) Thank you, Éric!


  • A load of build fixes made when updating to newer milestones
  • Remove menu:helpid and menu:label from *.xml (CWS menucleanup)
  • The faster splash (CWS unxsplash)
  • The 64bit child workspaces
  • Crystal icons (CWS iconswitching2)

Build bits. Updated to newer milestones several times (m156, m160, m161, m162, m163), removed old patches several times (m152, m156, m160, m162), check for the oldest supported tag, fixed broken patches several times, a load of smaller fixes (cws-commit-patch accepts "planned" CWS state, ...), etc.

Conference calls, bugfixing, etc.

Posted by kendy | Permalink | Categories: OpenOffice.org

2006-04-10 20:53

Last of the 64bit patches filed to IZ

I've just filed the last 64bit-specific patch we have in ooo-build to IssueZilla... This does not mean that porting OpenOffice.org to x86-64 is over, but when all the patches get approved & integrated (lots of them already are - in CWSes sixtyfour01-04, long2int, intptr, numberformat, dxarray, etc. to note the big ones), one should be able to get a 64bit OOo without much trouble. Of course, no-one says how much it will work for you ;-)

Maybe it is too soon to celebrate, but I should note that this wouldn't happen without Caolán and Pavel (and their patches), and of course without people originally working on the port in ooo64bit02 CWS. Thank you!

Posted by kendy | Permalink | Categories: OpenOffice.org

2006-02-01 16:32

Cut'n'paste detected in OOo

Michael and Thorsten pointed to cpd, a cut'n'paste detector. I have run that over the OOo code (milestone m154, without binfilters and some of the system stuff), and here you can download the results. It took about 1.5 hours to process the sources on a quite fast machine - not bad ;-)

Posted by kendy | Permalink | Categories: OpenOffice.org

2006-01-26 22:59

Weeks 43-03

x86-64 porting.

  • Committed another lot of fixes from ooo-build up-stream (CWS numberformat, long2int, pj43, sixtyfour01, ...). Some of the workspaces were already integrated.
  • Tried to use gcj for the 64bit build, and believe it or not, it worked - with some workarounds. E.g. the .jars do not register yet; to be fixed.
  • Created a Wiki page about the port. Feel free to experiment with the 64bit build and add your experience there. But remember - it's still experimental.

Éric Bischoff's KDE Address Book Connector was integrated. It happened in m147, and the connector will be available in OpenOffice.org 2.0.2. Thank you, Éric, for your great work!

Icon switching. It got finaly integrated in m149, yay! iconswitching2 is on its way, it will contain small improvements of the toolbars, and the Crystal icon set. Rob, Nuno, thank you again for your designs! I hope the CWS will be ready in time to get to 2.0.2 as well...

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-10-21 18:15

Week 38-42

AMD64/EM64T porting. Extracted even more from the ooo64bit02 - NumberFormat related patches, trivial long/ULONG -> sal_Int32/sal_uInt32 patches, and some smaller separable fixes (BigInt, PolygonPoints, ResId, c-includes, ...). Haven't created CWSes for them yet. Still about 350k of patches to split - but I'm afraid that it's going to be the harder part.

SUSE Labs conference. Had the talk, enjoyed the Sunday event, ... I had to leave earlier because of the OOo conference.

OpenOffice.org conference. Great event, I am really happy I was there. Had the talk - see the slides about porting OpenOffice.org to AMD64/EM64T/x86-64 (whatever the right name is, I use AMD64 there:) ), met a lot of people, had fun, ... ;-)

OOo 2.0 is out. Did ooo-build-2.0.rc* releases, tested & fixed some minor issues (layout of Options...->View dialog, autobuild warnings, trailing ':' in LD_LIBRARY_PATH, ...), ...

Updated ooo-build to newer milestones. m129, m134, ...

Build fixes. Several parallel build issues (mostly already fixed in some CWSes - thanks Caolan and Volker, extracted them for ooo-build), fixed few patches to apply, fixed one more un-apply problem in apply.pl...

Icon switching. Updated the specification again, and got it approved by the Sun QA people; hurray ;-)

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-09-16 18:05

Week 37

AMD64 porting. Extracted more from the ooo64bit02 CWS - long *pDXArray related patches (and created 'dxarray' CWS for them), AccessibleChild related patches (too small set to create a CWS now), and started with NumberFormat related patches (to be continued). Still about 600k of patches to split, review and commit...

Update to m129. More work than usually thanks to the SISSL/LGPL -> LGPL license switch; some patches were failing, others were applied on wrong locations causing troubles later. Tedious.

Minor bits. Helped Eric with Environment Variables Wiki page.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-09-09 17:38

Week 36

AMD64 porting. Created an 'extract-hunks' tool to split a patch into 2 according to a regexp, and extracted all the sal_IntPtr and sal_uIntPtr related changes into separate patches (and created some more). Hopefully they could be integrated somehow soon... Build on AMD64 was OK, the x86 build is still running.

KDE Address Book connector. Made CWS kaddressbook the source of the patches and fixed evo2 patches to co-exist nicely.

Recursive un-apply of the patches. Fixed the way the patches were reversed in ooo-build, so that even ugly dependent patches un-apply correctly.

Minor bits. Fixed stdlibs (unnecessary) copying, fixed cws-extract to checkout even newly created directories, ...

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-09-06 11:06

Weeks 31-35

Vacation. Weeks 31-33, one day in the 34th week. Read all the mail in the queue, answered, etc.

aKademy 2005. I wanted to reuse the talk from the last year's OOoCon, but finally I had to write it nearly from scratch ;-) The slides are here. Good to see faces behind the nicks & names. Got one JCA signed (the author of the Mono icon set), nice to hear that one of the icon designers that worked/works on the Crystal set for OOo was hired by SUSE, and now works on the new default icon theme for KDE4, ...

KDE.OpenOffice.org page update. The page was too old & outdated, updated it a bit so that it conforms with the talk.

KDE Address Book for OOo. Éric Bischoff works on a KDE Address Book connector. The development takes place directly in the OOo CVS (kaddrbook CWS). I tried it, and it looks good - the address book is already usable, but the SQL requests over it do not work fully yet (important for OOo Base). I am working on a better integration to ooo-build (so that we can easily update from the OOo CVS without conflicting with the Evolution bits).

OOoCon 2005. My talk was accepted. I booked the hotel (for me and Petr Mladek), managed the travelling there, etc.

Minor bits. Small cleanup of the old icon switching bits, some build bits, some fixes in ooo-build scripts, updated ooo-build to m127, fixed stdlibs (non)copying, sent the JCA from aKademy to Sun, ...

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-09-06 11:00

Week 30

Upstreaming the icon switching patches. Created a build for the Sun's QA, wrote a feature specification document, and got involved in a lengthy mailing explaining why is this feature so great and essential ;-)

AMD64 porting. Successfully built m121 on AMD64 after solving new build dependencies.

Wiki. Wrote (or converted from .html) few ooo-build wiki pages.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-07-26 14:55

Week 29

KDE vclplug is in the default OOo packages now. m118 is the first build that contains it. Wrote a dot.kde.org story, updated News on kde.openoffice.org. You can download the packages here.

HiContrast icon theme. Some more code removal, but I gave up soon to focus on up-streaming the icon switching patches.

Up-streaming the icon switching patches. Created the iconswitching1 CWS and committed all the available patches there, removed --with-icons configure option and made the themes building by default, rewrote hicontrast-to-theme.sh to Perl to work on Windows as well, and built the CWS.

Minor. Tried to help with debugging of an Impress crasher a bit.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-07-15 17:50

Week 28

HiContrast icon theme. I made HiContrast theme building in the ooo-build, improved my patches to select this theme when we run in hi-contrast mode (3 or 4 places), and started to cut the obsolete code that used to pick hi-contrast images. Incredible amount of hardcoded 'if ( hicontrast ) { something }'-like or 'foo = hicontrast? bar_hc: bar;'-like pieces to remove; grep points to ~1000 occurrences. No fun :-(

AMD64 porting. Updated to m116, tried to build it with gcc4; no big issues.

Sent an abstract for SUSE Labs conference.

Made a short presentation for the suse.cz people about icecream.

Minor. Fixed *-lang.tar.bz2 downloading, filed an Impress crasher to IZ, moved my work partition from xfs to ext3, ...

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-07-11 10:53

Week 27

1 day off, 2 days public holidays.

AMD64 porting. Updated the patches to m114, built it and fixed its installation. Unfortunately the result does not work, and I was not too successful debugging it; I'll see the next week.

Icon swithing. Checked what has to be changed so that the HiContrast (accessibility) icons become a normal icon theme (like Industrial or Crystal), and did a simple script that digs the HiContrast icons out of the default icon set. TODO: Cleanup the code from hardcoded references to the HiContrast icons.

Build bits. Minor fix in Makefile.shared.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-07-01 17:12

Week 26

AMD64 porting. Back to the bridges again. I found out that returning of floats/doubles does not work when the testsuite is compiled with optimization. I tried to investigate, but still no idea why. Rewrote another part of cpp2uno.cxx (wrt. structures <= 16 bytes) and started to rewrite uno2cpp.cxx.

Build bits. Don't optimize on AMD64 when we don't want it, removed few obsolete patches.

Sent an abstract for OOoCon 2005.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-06-27 15:00

Week 25

Icon switching in OOo. Fixed few minor build problems with gcc4, added a patch for binfilter.

Mechanism to patch binfilter (filter for the old StarOffice 5.x formats) in ooo-build. We do not build binfilter by default, but there are packagers who do, and we should test bigger patches with binfilter enabled to see whether it still compiles OK. E.g. the icon switching patches broke it ;-)

Gtk+ vclplug too slow in KDE. I tried to investigate why is it so; the result was that there is a XCopyArea that copies from screen to a pixmap which takes ~30ms for one copy (!). No idea why is it so :-( The copying must be there because of broken Qt->Gtk+ theming engine that ignores clipping. i#50857 for the curious.

Build fixes. Updated several patches for m111, fixed a --without-java build.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-06-15 17:23

Weeks 23-24

Icon switching in OOo. Implemented the saving, the switching in the help, fixed a small bug in bitmap loading, and filed the patches to issuezilla for a review; see #36518.

AMD64 porting. Up-streamed some of the patches (small ones that do not break 32bits).

Build bits. Updated ooo-build to m108 milestone.

Few days off. 1 the last week, and the rest of this week (Thursday, Friday).

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-06-07 16:23

Weeks 17-22

Better switching between icon sets. Implemented the switching itself and GUI for that. The actual state is not yet saved, so OOo still starts with the icon set according to the desktop.

AMD64 porting.

  • First working version of the bridge; compiles well, the exceptions work. Todo: returning of small structs (<= 16 bytes; it is done in registers on AMD64). Big thanks to Honza Hubicka for a lesson about trampolines and libffi ;-)
  • Fixed several 64bit crashers (saving a pointer in an int, LONG_MAX in int for indication of un-initialized value, ...)
  • Fixed calculation of desktop size on 64bits.
  • Several fixes of the patches after updates to newer milestones.
  • etc.
In all, the 64bit OOo starts (of course not out-of-the-box, without Java, etc.), and I was able to write there, or load a document ;-)

Crystal icons for OOo. Made a new release (ooo_crystal_images-6.tar.bz2). 298 icons to do (from 907 total).

KDE fpicker.

  • Fixed disappearing filters in Insert->Picture->From File...
  • Adapted to changes in resource manager so that the checkboxes like "Read-only", "Add extension", etc. have their labels again.

Submitted a paper for the KDE conference.

Build bits. Fixed several patches to apply well, updated the "apply" file and some patches to a newer milestone, etc.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-04-22 20:40

Weeks 10-16

SUSE Linux 9.3 work & fixes.

  • Better font resolving with KDE vclplug.
  • New version of the Crystal icons.
  • Fixed look of toolbar handles with several KDE styles.
  • Don't update font cache with every start.

Novell Linux Desktop. Backported some of the fixes that are in 9.3 (better font resolving, startup notification, better URL handling in KDE fpicker, partially support KIO).

Huge cleanup. Went through the list of all the patches that we had in ooo-build, but that were not listed to apply or that were disabled, and removed them completely (when already up-stream), or fixed them to apply again. Also filed some of the patches to IssueZilla and committed up-stream.

"cws-commit-patch" tool. Committing up-stream is quite painful; one has to file issue to IZ, create "child workspace" (cvs branch with additional info for EIS), associate the IZ number with the workspace, register the modules that one wants to commit to, commit the changes, fill owner and QA info into EIS and wait for its integration. This tool simplifies the process a lot when you have your change already as a patch (which is a common case in ooo-build). Still you have to file the issue and the EIS info, but it is the easiest part ;-)

Better handling of startup notification in KDE vclplug. Now it is handled in KDE plug-in its native way so that it builds & works fine even without libstartup-notification library.

Up-streaming. Committed up-stream the KDE NWF pieces that we have in 9.3.

Better switching between icon sets. To get the icon themes up-stream, it is necessary to provide a nice way of switching between them. Started this by cleaning lots of cut'n'paste in the icon-related code introduced in oooicons CWS. To be continued.

x86-64 port. Made quite a recent milestone (m94) compilable again on AMD64. Unfortunately the bridges code changed completely, so the UNO<->c++ bridge does not work at all :-( I'm working on this.

Small fixes. Parallel building in i18npool, search for moc during configure, gcc33 compilation fixes, fixes of the patches that do not apply, ...

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-03-04 19:15

Weeks 6-9

Bugfixing related to the next SUSE Linux version.

  • Take DESKTOP_LAUNCH into account also in File->Send->Document as E-mail.
  • Backport of NWF checkboxes size fix from vcl36 & implemented the KDE part.
  • Don't let KDE NWF toolbars and menus crash with Keramik.
  • Investigated and gave over AMD64 theming bug.
  • Fixed a crash of OOo with the KDE fpicker.
  • Do not wait for EOF on read() when the child (kdefilepicker) process exited.
  • Partial support for KIO; download the file locally if we cannot handle it natively in OOo.

Crystal and Mono icons for OOo. Kudos to Rob, Nuno and Danny, who do the artistic part:-) I improved the scripts generating the tarballs a bit, let ooo-build use the most recent version of the Crystal icons, and created a script that makes a nice status page, see here.

Various build bits. Fixed problems with gid_File_Lib_Vcl, resources in 'env' script, --without-java fix in filter, Industrial fallback for the missing Crystal icons, update to m79 & rotated the patches, fixed problems with Python path settings, ...

Upstreaming patches. Learned to work with CWS tools and committed several (~10) rather trivial patches from ooo-build up-stream in CWSes kendy01-kendy04.

OOo for x86-64. No real progress, just few fixes to be still compilable with recent milestones.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-02-04 17:51

Weeks 2-5

OOo for x86_64. It shows the splash, and with some tweaking I can get it to show the main window. Unfortunately the exceptions in the UNO<->c++ bridge do not work (the thrown exceptions lead to terminate instead of being caught); I am debugging that, but still cannot find the reason:( I also updated the patches to build with the most recent milestone used in ooo-build. See also this Pavel Janik's blog entry.

NWF KDE toolbars and menus. Now even the toolbars and the menus are drawn according to style used in KDE. Some styles crash on exit of OOo; I'll catch that later and file upstream.

Use gcc34 + visibility + enum patches in ooo-build. Added the possibility to use the exactly same gcc as the Suns use for the development (made it as simple as --with-internal-gcc configure switch).

Various fixes. OOo did not start after integration of res32bit & use of linkoo, fix/workaround in dmake for one more parallel build breakage, etc.

Various build bits. Few resyncs to newer milestones, update of the fpicker patches, autoconfed some variables in distro-configs, etc.

Posted by kendy | Permalink | Categories: OpenOffice.org

2005-01-07 20:56

Weeks 50-53 & 1

  • OpenOffice.org for x86_64. I took about 550k of patches from ooo64bit02 child workspace, and created ~300k of more patches so that it compiles. I finished it yesterday, and today I fixed it so that a small test application showed its window! :-) I started a clean rebuild now, and I'll see on Monday whether I could get the splash screen, or even more... If you want to try it, checkout ooo-build and use the NLD64 distro.
  • Crystal icons for 2.0. Rob and Nuno, the volunteers who offered to draw missing Crystal icons (very appreciated!), created ~100 icons already. It is still just a fraction of what is needed, but it is a great start. Some of them could be seen in action here (see the toolbar on the left, and the menu with shapes); there are more in the KDE CVS under kdeplayground-artwork/oooicons.
  • System Mozilla. OOo needs a symbol from nss that is not exported in the recent versions of Mozilla (PK11_GetCertFromPrivateKey). I stripped the needed part out of Mozilla sources and made it compile well inside ooo-build.
  • Various build bits. Update from m62 to m64, fixed some dependencies & broken patches, etc.

Posted by kendy | Permalink | Categories: OpenOffice.org

2004-12-03 20:23

Week 48-49

  • Released 1.1.3-kde build for the community, see the Dot.
  • 3 volunteers to help with KDE icons for OOo 2.0 appeared after the release! :) I just hope that they are not going to be scared by the amount of the necessary icons... I made 1.9.62 rpms, tarball of OOo icons converted to SVG, and instructions for them. If you are also interested to help, just mail me (kendy at openoffice org), and you'll get it as well.
  • Various build bits in ooo-build HEAD. Removed obsolete workarounds for m55 and m57, ignore empty icon filenames, fixed conflict in integration of rodarvus01 and vcl28 #i37637#, installation without myspell, linkoo is a part of OOo sources now, fixed epm-based installation in ooo-build, ...
  • Various smaller tasks. Take DESKTOP_LAUNCH into account #i37708#, integrated Lubos Lunak's fix of file list changing in fpicker to ooo-build HEAD, 1-3 and 1-3-5 branches, made the desktop detection [KDE/Gnome] more reliable #i37977# and integrated it to ooo-build HEAD, 1-3 and 1-3-5.
  • Some SUSE bugzilla work, 1 day off, ill & working from home, etc.

Posted by kendy | Permalink | Categories: OpenOffice.org

2004-11-16 19:16

Weeks 46-47

  • KDE icons for 2.0. Improved the script that generates the archive with KDE icons a lot, and made it re-use the neutral icons from the Gnome icon set now. A help of an icon designer is really needed; volunteers, anyone? ;)
  • KDE and Gnome fpickers for 2.0. Made them build and install again, fixed one small issue in KDE fpicker, improved the "original vs. KDE/Gnome fpicker" switch. No IssueZilla number for the fpicker patches, because I'd like to make the KDE fpicker internal (not out-of-process) before upstreaming.
  • NWF toolbars in OOo. Started patching OOo toolbars to use the look of the current KDE theme (similarly to what is currently done for other widgets); this will continue.
  • Various build bits (configure check for epm in ooo-build, did a cleanup of old/un-needed KDE patches, fixed compilation with system jpeg, fixed installing with system Mozilla, ...), and smaller fixes (fixed crash with icons sized between 16x16 and 26x26).
  • Small vacation. There is a public holiday tomorrow, and I'll be off for the rest of the week.

Posted by kendy | Permalink | Categories: OpenOffice.org

2004-11-08 17:48

Week 45

So, I will try to publish (let's say) "work reports" regularly... Let's see how long I am able to handle something like that ;)

  • KDE and Gnome icons in 2.0. Patched OOo to choose the right ones at runtime, committed the patches to ooo-build, filed them upstream to IssueZilla, and removed obsolete resource patch. See IZ#36518 for more.
  • Update of ooo-build HEAD to src680-m60. The method of installation changed between m57 and m60 (instsetoo vanished, and instsetoo_native is the only available method of creating installation sets, to be precise; see here for more), so the ooo-build scripts had to be changed to at least deal with it; but more work will be needed. Additionally I remade some of the patches to apply again, removed the obsolete ones, and did some small build fixes. (More IZ numbers.)
  • KDE vclplug. Added the changes from ooo-build-1-3, cleaned the old bits, and filed upstream, see IZ#36761 and IZ#36761.

Posted by kendy | Permalink | Categories: OpenOffice.org

2004-09-13 18:00

Slides from the SUSE Labs Conference

People start asking if I am still alive... Of course I am (you can see it from ooo-build Changelog), I just did not find enough time for writing blog entries.

Recently I was on SUSE Labs Conference, you can have a look at the slides about KDE.OpenOffice.org project from my talk. I'll give a similar talk on OOo Conference, but a little more detailed/technical.

Posted by kendy | Permalink | Categories: OpenOffice.org

2004-06-22 10:21

KDE File Picker is in ooo-build

So, KDE File Picker is finally in ooo-build. It is disabled by default for most distros, because it is still quite experimental. The exception is the one called KDE; it was always a test bed for my experiments ;)

Posted by kendy | Permalink | Categories: OpenOffice.org

2004-06-18 12:01


Yesterday I was trying to debug a very tricky crash. Not just that it appeared very rarely, it was also crashing gdb when I was trying to debug it. I wanted to use Valgrind, but it was crashing as well. Frustrated, I entered "linux debugger" to google, and I found TotalView. I downloaded their trial version and I must admit I am amazed! Not just that it did not crash, but it also has very well-arranged and usable GUI (from my point of view); probably the best from the debuggers on Linux I have ever tested. I'll see what the rest of the trial period will show...

And the point? I did not find the reason of the crash, because when I got a usable backtrace and recompiled the affected part with debug info, the crash did not appear any more :)

Posted by kendy | Permalink | Categories: OpenOffice.org

2004-06-09 11:25

KDE File Picker

Currently I work on KDE file dialog for OOo. Generally it means to implement FilePicker service; the problem is how to do it :)

Once KDE vclplug is finished, it will be simple, I believe. But I need a solution for 1.1.x, so I tried to link FilePicker to Qt; I do it in KDE NWF anyway. It was not a good idea, a deadlock appeared as soon as the dialog showed, and to solve it would be too intrusive. Then I hoped I could collect all the data, execute kdialog binary (part of KDE) with all the settings and return all the values when it finishes. But "Version:" list box did not work, it needs to be notified when a file is selected. So I ended up implementing an external binary providing the file dialog that can notify about every user's action.

The result is a kdefilepicker binary. It is a "filter" which gets commands from stdin, and sends output to stdout according to the user's actions. The implementation of the FilePicker service on the OOo side executes the binary and then just sends and receives commands. So it will be easy to extend it for Gnome when someone writes the Gnome "filter".

Of course this is a temporary solution just for 1.1.x, and I will not try to upstream it. But I'll make it public through ooo-build for testing soon.

Posted by kendy | Permalink | Categories: OpenOffice.org