18,000 ports

January 23rd, 2008 by pav

That’s a lot of these little suckers, isn’t it?

(I’ve been slacking the blog lately.) And what’s brewing inside the portmgr’s kitchen? First set of 6-STABLE packages in a long time, exprun with removal of XFree86-4 ports is now under progress, another with a bunch of minor infrastructure improvements and fixes is in the queue. Soon we hope to have a patchset introducing USE_CMAKE, and another updating the bulk of SDL libraries. Stay tuned.

gcc42 Hackaton: This coming weekend

July 10th, 2007 by pav

We decided to have a concentrated bug fixing effort, hackaton if you please, this coming weekend, July 14-15, focused on fixing as many gcc42 failures in ports tree as possible. You’re all invited to join #bsdports on EFnet and show us your patches. We will be approving fixes to other people’s ports for maintainers who neglected their own ports (maintainer overrides). There is currently a little short of 400 ports that works on 6.2 but fail on 7.0, so there’s plenty of opportunities for you to help.

gcc42 hits CURRENT

May 19th, 2007 by pav

Without much ado, our resident gcc expert Alexander Kabaev imported GCC 4.2.0 (2007-05-14, SVN level 124707) into development branch of FreeBSD. This means that FreeBSD 7.0 will ship with a modern C compiler again, and that a lot of ports will not compile on it (unless fixed, of course).

In related news, X.Org 7.2 import to the ports tree should happen in next 24 hours.

HDA hits STABLE

May 13th, 2007 by pav
Ariff Abdullah, our malaysian committer, has brought the driver for High Definition Audio (HDA) chips to FreeBSD 6-STABLE. Yay!

Half a year ago, when he first added that driver to CURRENT, he vower never to MFC it. Never say never, I guess.

New ports infrastructure II

April 2nd, 2007 by pav

Got a new patches to the ports infrastructure committed, after they’ve been tested on Pointyhat over the past week.

  • USE_GHOSTSCRIPT default dependency was flipped from ghostscript-gnu to ghostscript-gpl. According to the vendor website, GPL is the license of choice for the Ghostscript project now.

  • bsd.tcl.mk got a total overhaul by Martin MatuÅ¡ka, a promising new guy from neighbouring country Slovakia, who, if I can spill the secret, recently got approved for his own commit bit. The most visible change is that the USE_TCL* and USE_TK* macros are now modelled after the USE_PERL5* ones.

  • There’s been some optimizations by Mikhail Teterin, but the patch is so esotheric I have no idea what he did changed. The previous revision of the patch was in the previous exp-run, but only the current one tested without any failures.

  • OPTIONS got two important fixes. First, courtesy of Rong-En Fan from Taiwan, the default variables for not-yet set options are not correctly created all the time. This should allow people to test just any WITH_FOO / WITHOUT_FOO combinations they please to. Second change, done by me, makes the blue dialog pop up every time the new version of port adds a new variable that wasn’t around when user saved his options last time.

And that’s about it. There’s ongoing work on the python25 patch, so that will get another exp-run soon.

Blu-ray writing comes to FreeBSD

March 30th, 2007 by pav

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

March 29th, 2007 by pav

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

March 28th, 2007 by pav

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!

March 24th, 2007 by pav

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

March 24th, 2007 by pav

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.