So, with the stage now out of the door and the VMware image getting its way out sooner or later, I wanted to start caring a bit more about details. Today I already discovered we were always stripping binaries because of how the bsd mk definitions were set, and I fixed that (without revbumping the whole set of packages, tho, because that is still an experimental stuff.
I’m also going to fix freebsd-sources to not install in a /usr/src/sys-6.0 directory anymore, as that will create problems when 6.0-r1 comes up, so I’ll rather install it in /usr/src/sys-6.0-r0 and then symlink it to sys-6.0, that way it will always work with the ebuilds that symlinks it into workdir.
But there are a list of “junior jobs”, minor glitches and improvements that might help to work on. I should probably put this on a page on the project space but I haven’t had time to update that in a while, I’ll see if I’m able to do that later on today after getting my hair cut and before going to watch CSI: NY (now that the stage is ready I’m trying to relax a bit more, that might be why I finally started sleeping decently).
The first thing that would be good to fix is the output of /etc/issue. The getty command used on FreeBSD doesn’t parse it to output the special strings that are parsed by Linux’s getty. It would be good to have that on FreeBSD, too, especially since the /etc/issue file we’re going to use looks stupid on FreeBSD as it is now.
Another thing is related to portage, better it’s ore than one thing but all regards the handling of BSD-style flags (used not only for FreeBSD but also for other BSDs). Currently what it does is to take out all the flags before merging and then repplying them on the merged filesystem no matter what they looks like; this creates a few problems, first of all the time required for these operations is not so minimal, every time getflags is called it has to pass python to extension boundary, then call the libc, and then back to python again, this could be avoided by using the st_flags member of the struct returned by the stat() function (and derived) with the new versions of python (that’s a patch I provided to python and is already applied for next versions, although 2.4.2 still doesn’t seem to apply it); then there’s the point that it does reapply all those flags also if they are actually “0” (no flags), and that’s silly because we already reset them to 0 to move the files around, and considering the quantity of files in most of the packages and the percentage of the ones for which the flags should be changed, well.. it’s quite a waste; finally the way it’s removed before merge and reapplied after merge, it means that portage can’t strip some files 🙁
Then there is more work that needs to be done on init scripts, work to change periodic jobs to cron jobs, and so on.
So don’t think that there’s too much “high level” work needed to help with Gentoo/FreeBSD, or that it requires just and only ebuild skills or working with the packages already in portage, there is plenty of space to help if you want 🙂