New branch

Not long ago, CURRENT switched to 6.0, last week the RELENG_6 branch was created, so CURRENT is now 7.0.

mchammer# uname -a
FreeBSD mchammer.arved.de 7.0-CURRENT FreeBSD 7.0-CURRENT #20: Thu Jul 14 16:35:57 CEST 2005     arved@mchammer.arved.de:/usr/obj/usr/src/sys/MCHAMMER  amd64

Out of PRs

There are currently only 650 open Problem Reports in the ports/ category. Less than 100 are unassigned. This is the lowest number since 2001. And the next portsfreeze is more than a month away, so there is a realistic chance to further decrease it (555 should be doable). At the moment even unsexy PRs get handled in a short time.
Unfortunately at the same time the kern/ category has reached an alltime high of more than 1500 open bug reports, so i am trying to cleanup some cruft there. I really need an src commit bit.
Reference: FreeBSD PR stats

Migrating to PF

So Teemu has been nagging me for some time. And Darren seems to have no time to fix ipfilter.
So today i migrated to pf. It was quite straight forward, although not as easy as the ipfw -> ipfilter Migration a few years ago, which worked surprisingly on my first try.
This time i needed three tries, first i added the wrong pass rules for the redirect rules (In ipfilter the nat is done after filtering, in PF before the filtering), than i confused $int_if:network with $internal_net (no they are not identical in my case), and the last error was, i was blocking RFC1918 nets although i was using one 🙂 (the cause of this error is similar to the first error).
I still don’t quite understand my ruleset (especially, why outgoing ntp packets get blocked although i have allowed all tcp udp outgoing).
But the essential parts seem to work, I can IRC and i can receive emails and you can read my blog.
I will try to fix the cornercases over the next week and try to look at the more sophisticated rules, like spamd, altq, carp, etc.
What i really like about PF is the pflog0 device, it makes it really easy to analyze errors in the ruleset.

Mozilla is a mess

I am currently trying to get GNOME running on FreeBSD-powerpc, the first big problem is mozilla, which is required for yelp, the GNOME online help browser.
It uses NSPR “Netscape Portable Runtime” which uses headerfiles to define the architecture feature like size of specific types etc of known Architecture/Operating System combinations. Additional is uses a GNU autoconf like configure script and there is a architecture dependant file called xptcinvoke_$ARCH_$OS.cpp *Argh* A portability nightmare.
I expect KDE to have a lot less problems.

PC BSD

PC BSD is a currently hyped BSD-“distro”.
Looking at the project page, it appears to be a one man project. Thanks to osnews distrowatch & Co. the mailinglists are flooded with clueless people.
I doubt that this project will have a long life, libh had several developers, the support of the FreeBSD community and failed.

FreeBSD Frickelware

I tried compiling the USB Audio driver on my Minimac.
Unfortunatly the uaudio(4) driver requires an ISA bus because it uses sndbuf_dmasetdir and sndbuf_dmabounce.
But the powerpc has no ISA bus…..
Luckily sound seems to work with a small patch. Now i just need a kernel hacker to write a nice portable solution.

PCSC update

Yesterday I committed a major update to the FreeBSD smartcard infrastructure. This was one of the most time-consuming commits since i am a FreeBSD committer. I have been working on this since January for several days, exchanging patches with the maintainer and upstream author, doing testing etc.
The commit changed the shared library version, the header file location and the drivers dropdirectory, so i had to fix every single application/ifdhandler that uses pcsc-lite.
Now we have catched up with last years pcsc-lite development and we finally have a port of libccid, so we are now supporting most USB smartcard readers.
So hopefully more people are using smartcards on FreeBSD

Dragons

16:24 <@lesi> krion: extract xterm source and grep for dragons ;)

This is frightening. From main.c:

/*
*                               W A R N I N G
*
* If you think you know what all of this code is doing, you are
* probably very mistaken.  There be serious and nasty dragons here.
*

New Term

The new Term at University started last week. Because I am working fulltime again, I have only joined two courses, Compiler Construction and Prolog Programming. The first Assignment in the Compiler Construction course is programming Assembler on the Alpha.
This is a good reason to boot my two alpha systems again. I am trying to install the Compag C Compiler, but this is no simple task, because it requires the Linuxulator. Unfortunately the default linux_base ports for i386 linux_base-7 and linux_base-8 are both not available for alpha, because RedHat stopped distributing binaries for the alpha platform several years ago. linux_base-6 is available for alpha, but is a) marked FORBIDDEN because of several unpatched security vulnerabilities and b) was accidently broken several months ago. Obviously nobody is using the linuxulator on alpha anymore, because nobody complained.
The other alternative linux_base port available is linux_base-debian, but i think this one is still experimental.
If I succeed installing a linux_base I will have to fix bsd.port.mk to change the default for the alpha architecture.