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 bsd.destdir.mk.
The another important project was to extract the Perl code from bsd.port.mk into bsd.perl.mk 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:
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.