Okay so last night the first seed stage of Gentoo/FreeBSD 6.0 was compiled. Still, it was so far from something usable that I didn’t even thought of tarring it up and presenting it with “highly experimental” note.
The first main issue was with the configuration files. The old-school method was to install all the configuration file stored in /etc with freebsd-baselayout. This was probably to align with original FreeBSD that has a freebsd-etc package.
Such a method to install them, tho, had a few disadvantages: the first is that we need to install everything everytime, instead of being able to drop the configuration files we don’t use like bluetooth and isdn; the second is that the release is done with certain version of the OS that might not be actual anymore (/dev/cuaa* nodes got away).
So the solution was to move the stuff from freebsd-baselayout to the packages actually using the configuration file. The move is almost all done now, I left just a few of them and only because I was playing with something else at that point. The main issues are solved tho, and I’ll complete the stuff tomorrow with a bit more relaxed eye.
This move also made more and more easy to move from freebsd-baselayout to the actual baselayout 1.12, so I tried messing with it. In the overlay there’s currently an ebuild that installs a normal baselayout in both Linux (without difference) and FreeBSD (with only a subset of the files of course). From this point I restarted the work to get baselayout working on bsd, although most of the work now is in the hands of our baselayout guys, starting from Azarah 😉
What’s going on now? I have the virtual machine building again system on a newly ROOT directly inside a new virtual disk from which I hope to boot Gentoo/FreeBSD from, after 🙂
You’ll find that the new files in /etc are more or less the standard default from FreeBSD, but there are some things still missing: most of the periodic stuff was cut down, the scripts that checked status were removed, and they are left to the sysadmins to write using cron.* directories (they are quite simple, and usually it’s just simpler to make them custom from scratch).
There are still a few things that I want to fix before I can release a true stage, also if I don’t think it will be possible to use a pure Gentoo init system when I’ll do, I want to try to merge the most changes possible to our baselayout to follow the main one.
Oh and thanks for Benigno B. Junior (bbj) now many packages does not require anymore that you extract the whole freebsd-sys or freebsd-include packages, but instead they use the one already installed, without having to edit all the makefiles. I’m going to convert a few more ebuilds to this idea, as that also saves me from forward-porting the patch when new releases come up, making easier the ebuild update for me. Thanks again Benigno.
Other notable changes in this release are…. well you’ll have less cruft in /etc because some configuration files now are installed only when the support is requested (like isdn or bluetooth), but for the rest the code is mostly the same.
And also today I was typing emerge commands while eating dinner, sigh.