The r2l project is finally finished. Here are a couple of things I've learned durning participating in it: * r2l is a bad name Don't choose names that contain numbers ;-) * Automatic builing is important I like writing makefiles, so I tried automating everything with makefiles. Actually I did so in stages: in each stage I added another thing to the automated building. In the end I have created a 'make publish' target package that builds an rpm packageg (and thus verified that the source builds) and uploads the tarball and the RPMs to my site. Each further automation has enabled me to spend less attention on the administrative building process, and more on the code. * tcl/tk is nice After I noticed that none f my GUis works in my solaris environment, I wrote a simple r2l client in tcl/tk that uses the command-line interface to r2llib. It could be improved, I'm sure. But it turned out to be much easier than I thought. * autoconf At some stage I converted the package to be configured with autoconf (note: only autoconf, not automake) after figuring that writing an mini-autoconf from scratch would take more time. It wasn't that hard to learn how to use it. Generally writing autoconf scripts involves using the darker (read: posix-bourne-shell-compatible) sides of shell programming. There were two tests I needed that I couldn't find in the standard tests collection that comes with autoconf. I found appropriate macros in the autoconf contributed macros collection (in the autoconf site). However, those two macros that I've downloaded did not work well, and I had to patch them to get them working properly (see the two files in the aclocal directory of the source distribution). Anyway, autoconf was really needed. Even though autoconf is not fully used (--prefix and co. are not used) it has made the build process much easier. I believe that it is quite a must for every package that has some non-trivial dependencies. * man pages Some of you probably read my rant to linux-il about this. I don't like to write man pages. Nadav has suggested me to check the groff (7) (not groff (1)). I managed to somehow skip groff(7) when looking for documentation). That man page serves two useful purposes: 1. It gives a resonable refeernce to groff 2. It gives a sample of a groff page that is written The Right Way (unlike most man pages, including biditext, refreshd and r2l). Unfortunetly I have not had a chance to check perl pod. I also tried a bit, and didn't like very much, the package manedit. Manedit is a gnome editor saves sources to man pages in some xml format, and converts this to groff. Others may have a different opinion. And I'll conclude this post with the credits list: * Matan Ziv-Av, who wrote biditext initially * Ilya Konstantinov, for getting it to work with QT (Hooking on XDrawString16 etc.) * mulix, for r2llib, parts of biditext * choo, r2l-plugins (terminal, dockapp and gnome applet) * emil, for refreshd and solaris debugging * Shlomif, The perl-gtk early client(where is the KDE applet iindeed?) * And anybody else who may have contributed Thanks! -- Tzafrir Cohen /"\ mailto:tzafrir[at]technion.ac.il \ / ASCII Ribbon Campaign Taub xxx, xxx-x-xxx-xxxx, X Against HTML Mail http://www.technion.ac.il/~tzafrir / \