SGML to XML migration of the doc tree

May 31st, 2012

I’m that type of guy, who doesn’t like talking too much and prefers to just silently work on something instead. I think it is bad, since I have some interesting projects in my queue although lacking free time I’m progressing slowly. I’ve decided to blog more about projects that I work on or that I’m interested in. This is the first entry of this series.

It has been quite some time that I started working on converting the doc tree from SGML to XML but because of (1) lacking free time, (2) the doc repo being a quickly moving target, (3) lacking a good VCS system that support moves and renames and good branching, it hasn’t ever been completed and I just always have it in a nearly complete stage, trying to keep up with merging upstream changes. But since (3) is resolved now, it will be easier to create a development branch and to keep it in sync until it is totally finished and the work can be merged back. Also, more people became interested and this motivates me to try to dedicate more time to finally finish this and they may also help out. In the following, I’ll try to summarize what this migration consists of. Read the rest of this entry »

BSD grep and BSD iconv reloaded

July 17th, 2010

Some days ago I got a mail from portmgr@ that my iconv patch that I sent to them for a portbuild test, failed. The patch added BSD iconv to the base system while leaving the Ports Collection intact, letting the ports just use GNU libiconv. I would like to do the import in two phases, first just importing it while still using GNU libiconv in ports, then extend knobs in the following way: USE_ICONV could be set to yes, gnu or libc. In the first case WANT_ICONV would determine what to use, gnu or libc. In the second case the port would always use GNU libiconv and in the third case, just BSD iconv. I looked at the problem and noticed that some ports detect that we have iconv in libc and thus they try to use that but then fail because of a missing GNU feature. I tried to solve the problem from two ways: forcing ports more to use GNU libiconv and adding the missing feature to BSD iconv. Yesterday I sent the new patch to portmgr@ and now I’m waiting for their response.

Apart from the iconv portbuild run, some time ago there was also a BSD grep portbuild run. It went almost fine, just very few ports failed. I didn’t have time to look at it until yesterday and I identified a bug. BSD grep didn’t handle correctly the case where -v and multiple -e options were specified. I’ve fixed the problem, merged some changes from the OpenBSD and the freegrep repositories and today I’ve also sent a new patch to portmgr@ for BSD grep. Let’s hope there won’t be any regressions and we can commit it very soon. This should be successful because there have been multiple portbuild tests and I have fixed all problems that were identified. However, the BSD iconv patch is more experimental, I don’t know what to expect there but I hope there won’t be serious problems… Now I’ll get back to my IRIX jobs SoC project, although I made these patches during buildworld/buildkernel runs so I didn’t have to neglect that one in the meantime.

What I’ve been working on recently…

March 9th, 2009

I haven’t made too much noise in these days because I’m quite busy but this doesn’t mean that I’ve completely abandoned FreeBSD. A summary of my recent progress:

  • BSD grep: Finally, it seems working and compatible with GNU grep. A portbuild test is necessary to make sure nothing breaks with this and if the test performs well, we don’t have any barriers to have an own grep implementation, which is independent from GNU, smaller and cleaner.
  • NLS in libc: NLS support was disabled in libc a long time ago due to some issues with the catalog handling code. Now they are resolved but NLS was kept off. I’ve collected some catalogs, made a patch to turn it on and made some tests. It seems that I can commit this stuff soon.
  • BSD sort: I’ve started a sort implementation from scratch. It performs well and there are few missing features so I expect this to be ready soon. Not so soon as the former two items, but quite soon. Stay tuned!

BSD grep – Part 2

July 28th, 2008

I’ve fixed the known issues with BSD grep and rewritten some parts as my mentors suggested. Now I’m waiting for his answer about the current code and if he thinks it’s ok, I’ll submit it to portmgr@ for a thorough test. The last time grep failed on pointyhat due to a bug in -v.

As for BSD diff, I have completed some features, but still there are various to implement. The current status can be seen here.

BSD grep

July 8th, 2008

There were some discussions on hackers@ and current@ about BSD grep, but I haven’t yet written anything about it here, so it’s high time to do so. First, you can see

Hungarian Handbook

May 16th, 2008

Finally, it’s ready! It was committed to CVS by pgj@. You can read it here.

SoC 2008: Porting BSD-licensed Text-Processing Tools from OpenBSD

May 2nd, 2008

This year, I’m working on porting grep, sort and diff from OpenBSD. You can read more about my project in the original proposal. If you wanto to see the progress, you can look at my wiki page, although I’m going to post the most important milestones here.

New doc committer

April 21st, 2008

Hooray! G

Good progress with the Hungarian Documentation Project

September 3rd, 2007

Our new translator, G

Summary about SoC 2007

September 3rd, 2007

Ok, it’s been a while that I’ve written here, thus I’m dropping some lines about SoC. You can check the actual progress on my wiki page, but I want to write about two parts, which I considered the most important. One of those is the DESTDIR functionality for ports. I also invested a lot of time and effort into this during SoC 2006, but that time I went into a wrong direction. Sometimes it is hard to implement a new functionality later, which was not planned originally, it seems it happened in that case. The good idea came too late and I could not accomplish that in 2006, but as I could participate again, I successfully reworked it and we have now a simple, but working version in CVS. This implementation uses chroot(1) and it made the structure of the ports/Mk code a bit simpler as we have it as a real module, called

The another important project was to extract the Perl code from into to make it more flexible and better modularized. Each major functionality has a module in ports/Mk, but it hasn’t been the case with Perl thus far. Besides, there hasn’t been implemented a convenient way of version checking. As usual we wanted something like:
USE_PERL5= 5.8.0+
I implemented this syntax for the following knobs: USE_PERL5, USE_PERL5_RUN, USE_PERL5_BUILD, PERL_CONFIGURE and PERL_MODBUILD. With this change each Makefile looks simpler and they provide a consistent IGNORE message if no appropriate Perl version is available. While here, I sweeped the ports and removed the support for old Perl versions to make things even clearer. The big patch hasn’t been committed yet, portmgr@ is running some tests on the package building cluster, as this is a really heavy change and we should pay much attention when handling this case.

Summaryzing this summer, I have to admit that I could not work as intensively as I presaw, because I had private life issues at the beginning of the program. Despite, I think it was cool enough, and of course, I’m going to continue the work on the Ports infrastructure.