SoC is ending. I’m a bit sad that I couldn’t complete the DESTDIR work and the other items, but actually the DESTDIR problem needed much more time and effort than I though before the SoC. Now, Kris Kennaway found a better solution, so things might change soon. It is much simpler than my approach, so makes my work useless. I don’t have to blame myself, because nobody could find out this solution so far. I don’t think that my work was pointless at all, it needed some investigation and I’ve learnt a lot. Of course, I would like to continue working on this, and address my other projects that I did not have time for this summer.
Apart from DESTDIR, I wrote a new handling i386 binary ports. There are also two patches of mine that are still open in gnats. These were not in my original Soc proposal. One of them corrects the ECHO_MSG and ECHO_CMD variables in bsd.port.mk, it is just a minor issue, I realized it when working on the DESTDIR support. The other one adds a generic infrastructure support for building binaries for debugging purposes via the WITH_DEBUG macro. This was requested by Alexander Leidinger, and I like the idea, as well.
As for the remaining, I started to move out the fetch code from bsd.port.mk. This is good for “modularization”, the used fetch script can be overriden. The other advantage is that it makes bsd.port.mk cleaner and easier to read. This part of the code is definitely such thing that is easier to maintain in a shell script. I hope it will inspire people to work on it and write enhancements, e.g. master site randomization, stale mastersite detection, or such things. I also thought of sorting master sites by ping replies.
The three other items would have been making ports respect CC and CFLAGS, implementing cross-compiling and writing some kind of good plist generator tool. I hope I’ll have time to work on them in the future, as well.