Archive for March, 2007

Blu-ray writing comes to FreeBSD

Friday, March 30th, 2007

Looks like a new release of dvd+rw-tools, 7.0, which I just committed, brings in support for Blu-ray writing. Cool! Too bad I don’t have hardware to check it out. I was one of the first people to use dvd+rw-tools to write dual layer DVD+R, but this time, the price of Blu-ray unit is still prohibitively high.

Now someone get me proggie that will write pure UDF images for burning. Is it really there’s nothing like that for Linux/UNIX, or was I just exceptionally unlucky googling for it?

NFS fingered in a cvs snafu

Thursday, March 29th, 2007

CVS. When updating a checkout from a local, NFS mounted repository, mind your fingers. If you hit a Ctrl+C in an attempt to terminate the process early, cvs will go down in flames and leave a cute cvs.core file behind.

Now this has annoyed us at pointyhat for too long! First lad to get me a patch fixing this issue will get $4 from my Paypal account. And a chocolate badge on top of that, if collected in person at my place.

Meanwhile, ehaupt boldly went to face the xmms avalanche mentioned yesterday. Thanks!

Below 700

Wednesday, March 28th, 2007

The number of non-resolved ports related PRs dropped under 700 first in a long time – actually, since January. Whee! Kudos especially to miwi, who’s been killing PRs at ungodly rates. He’s the new pav, definitely. The total PR number is at 5085.

In the meantime, I’ve been whacking on never-ending avalanche of objformat fallout. Currently, there’s xmms plugins raining.

gohan18 - shiny!

Saturday, March 24th, 2007

Recently, the pointyhat package building cluster got a new machine to help out with i386 builds. The new machine, installed by Kris Kennaway as gohan18.freebsd.org, sports two sockets populated by quad-core Intel Xeon 5320 chips clocked at 1.86 GHz. Machine have 4 GB of RAM, but it’s promised to get upgraded to 8 GB soon. That’s eight cores in a single chassis, yes. Pretty shiny! The machine was donated by Yahoo!

Existing i386 cluster on pointyhat consists of 18 blades, each fitted with Pentium III at 700 MHz processor and 1 GB of memory. If we assume that the Woodcrest/Clovertown generation of Intel chips is two and a half times as effective as Pentium III on the same clock, this single new machine pretty much doubles the throughput of the i386 cluster.

I have collected build times of 15,935 packages built on the old gohan blades, and put them into the graph. Click for the full size.

I have marked build times of some of the popular ports in the graph. The only conclusion which can be drawn from this graph is that we got way too much p5 module ports. The longest port to successfully build (that rules out OpenOffice) is koffice, which takes 30 hours to complete.

I have compared build times of some random ports on the old gohans and gohan18. On small ports the speedup is up to 8x, perhaps because of much faster hard drives. The typical p5 module went from 12 minutes to a minute and 30 seconds. Larger ports exhibited a more modest speedup in the range of 2x – 3x.

The future of package building is bright!

New ports infrastructure

Saturday, March 24th, 2007

Today an experimental run on pointyhat finished, and the following user visible changes were committed:

  • Default LIBTOOLFILES values was changed from literal configure to value of CONFIGURE_SCRIPT.

  • bsd.efl.mk was moved to Mk directory. From now on, all ports are free to define USE_EFL without explicitly including bsd.elf.mk. In case you wonder what EFL is, it stands for Enlightenment Foundation Libraries. Stanislav Sedov promised to write a nice section on it for The Porter’s Handbook.

  • Bored of figuring out how to construct a tar line to install the hierarchy of files? Here’s the solution – COPYTREE_BIN and COPYTREE_SHARE macros. Details.

  • WWWDIR is a new variable predefined for all ports. It’s value is PREFIX/www/PORTNAME. I have swept the tree of the ports that used to define this on their own.

  • And finally, a batch of related predefined variables – DATADIR_REL, DOCSDIR_REL, EXAMPLESDIR_REL and WWWDIR_REL was added. They carry the same value as their REL-less cousins, but relative to the installation prefix.

Three patches haven’t worked out on the exprun as we hoped, and will be refined and included in the next exprun. They were – Mikhail Teterin’s optimizations, which had some problems with distfiles in nested subdirectories; perky’s patch to switch default version of Python to 2.5, perky promised me an updated patch; and finally a switch of default GhostScript implementation from GNU to AFPL, where we hit some ports defining direct dependency on the GhostScript port, instead of using USE_GHOSTSCRIPT.