Learning new things about PORTDOCS

January 30th, 2009

Few days ago, while working on a PR, I noticed that our PORTDOCS can handle files under directory as well. After some digging, this is introduced at the first place, see PR 57778 for the original patch. That says if the port installs files under DOCSDIR/some_subdir, you can just say “some_subdir” in PORTDOCS instead of listing all of them.

the CONFIGURE_TARGET update in bsd.port.mk

August 23rd, 2008

Recently, I picked up the CONFIGURE_TARGET update task again (I did a shot last summer, but failed). The update is to use the new syntax for newer autoconf (>2.13) for specifying configure target. In my last year’s attempt, I just added the –build prefix in bsd.port.mk and found there are too many ports will break because they use the old autoconf. The world changes a lot during the past year. In addition, I take another approach this year: instead of make the new syntax as default, I do a runtime autoconf version detection in the do-configure target. It turns out the build went smoothly. Now this is committed to the ports tree two days ago.

Finally, I want to say thank you to Pav for the pointyhat exp build and the wonderful infrastructure rewritten by Kris (without this, we can not finish an amd64 exp run within in one day).

The commit of the day!

March 11th, 2008

I just saw jhb@’s BTX commit which is very exciting. As he noted in the log, this should fix the long-standing BTX halt issue when you boot from USB cdrom (I’m also a victim). Last year, I tried with kib@’s BTX patch and it works, but it never gets committed due to other issues. Now, thank you John and Kostik. I believe this helps many users to install FreeBSD on their laptops (well, this should be in April’s snapshot?). 😀

ncurses updated to 5.6-20071222

January 2nd, 2008

Few days ago, I updated ncurses in HEAD from 5.6 to 5.6 snapshot 20071222. Originally, I plan to directly import 5.7 which was planned to release this year end. As it is one year after 5.6, I want to import a new ncurses and see if it breaks things. Among other things, this version should fix gnu/98975. Once 5.7 is out, I will import to HEAD and then bring it to both 7-STABLE and 6-STABLE. So, it should be available in next release.

Break ABI compatibility is harmful

November 1st, 2007

Last week, I did a MFC for fixing ctype(3) operating in UTF-8 locale (original committed by ache@). However, this breaks the forward compatibility of libc. There are many discussions on cvs-src@. In short, we have some inlined functions in _ctype.h which refer to an internal variable __mb_sb_limit of libc. As these functions are inlined, the symbol reference will be shown in your ELF binary if you include ctype.h (which includes _ctype.h). This means newly compiled binary can not run on older system. In the end, I restored the compatibility on 6.x by making these inlined functions to be compiled as non-inlined form which may hurt performance. I did not do the same for 7 and 8 as 7 is not yet released and 8 is HEAD. I would like to thank my mentor delphij@ for his help. Having a mentor who lives in complete different timezone is not a bad thing. *grin* Back to the forward compatibility issue, personally, I don’t mind the forward compatibility is broken as I never use binary from future system. However, I know there are users uses packages this way. Trading speed with compatibility may not be a bad idea, anyway.

new ncurses patch for 6.x and 7.x

September 27th, 2007

As ncurses 5.7 is approaching, I spent some time to prepare a ncurses 5.6 snapshot 20070901 against 6.x and 7.x. This will save me some efforts when ncurses 5.7 is out. I have been using
this on one of my 6.x amd64 box for weeks. It works well. If you want to try it out, patch is available here. This update should also fix gnu/98975.

Bad rafan, no cookie!

August 20th, 2007

Yesterday, I renamed one port and copied another port. It has been awhile since my last commits elated to repocopied ports. I forget several things. First, I forget to update dependent ports and was reminded by both portsnap INDEX builder and delphij@). Second, I forget to update CVSROOT/modules and was reminded by erwin twice. I should reread Committer’s Guide once awhile. In short, bad rafan, no cookie!

A year in ports

June 25th, 2007

Three hours later, I am in the ports tree as a committer for one year (Jun 25 10:33:24 2007 UTC). In the past year, I have committed 1772 times in the ports tree. I also spent some time in src/ for ncurses update and its wide character support. In the next year, I hope I can do some work in the infrastructure and of course some regular ports update.

My first mentee: chinsan

June 12th, 2007

So, chinsan@ finally agreed that he should be punished and he is my first mentee. As he already has a doc bit and I’m currently a mentee of delphij for my src bit, we are both very familiar with this mentoring system. Hope he won’t break the whole ports tree *grin*

man and info pages in ports

April 10th, 2007

With newer autoconf (I think it’s 2.61), the default location of man and info pages are changed to ${prefix}/share. This requires port to manually set correct location for configure script. Last year, stas@ filed a PR with patch but it caused more problems that he thought. Since then, he decided to revisit this later.

Recently, while looking at changing default CONFIGURE_TARGET with –build= prefix, I find a possible solution for info/man pages location. Right now, I’m testing this patch in my tinderbox. While the building is still in progress, it only breaks few ports that do things strangle. For example, one port (forget which) needs trailing / after ${mandir}, another one does not understand localized man pages live in ${mandir}/lang/man${sect}.

I think the build will be finished today later. When it’s done, I will file PR for it
(of course, with some documentation patch). After that, I will work on CONFIGURE_TARGET changes (but it will be slower due to my master thesis).

UPDATE (April 12): This is submitted as ports/111470.