Archive for the ‘ports’ Category

Learning new things about PORTDOCS

Friday, 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

Saturday, 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).

Break ABI compatibility is harmful

Thursday, 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

Thursday, 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!

Monday, 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!

My first mentee: chinsan

Tuesday, 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

Tuesday, 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.

Flash on CURRENT

Thursday, April 5th, 2007

Few minutes ago, I added www/nspluginwrapper made by Dave Grochowski. This enables me to use Flash and other plugins that use Netscape plugin API. It is slower than www/linuxpluginwrapper, but at least, I have something usable on CURRNET after ELF symbol version commit.

ghostscript, OPTIONS

Tuesday, April 3rd, 2007

Thanks to pav@ for exp run on switching default ghostscript to 8.56. I did not expect that he did that soon. Anyway, here it is.

The OPTIONS is now better, you can test WITH_* / WITHOUT_* as the way you like it. No more restriction. The left issue is that we can not use OPTIONS after bsd.port.pre.mk. See the RewriteOptions project for details.

Using KDE section

Saturday, February 17th, 2007

After almost half a month, I finally finish an updated Using KDE section in Porter’s handbook. Most information is based on lofi’s post on freebsd-ports (and KDE’s mailing). The draft is available here.

Update: pav@ updated the book. Thanks!