Sunday, October 13, 2013

FreeBSD 9.2-RELEASE with Custom XFCE pkgng-style Packages

Few years ago, I started a small (and now defunct) project to build Custom FreeBSD installation media with my own selection of mostly desktop packages. The purpose was twofold:
  • To create packages not normally provided by the FreeBSD Project in the installation DVD, such as the XFCE desktop environment
  • To create updated packages and installation media that could be used long after the initial official release and still be up to date.

This project was using the somewhat aged packaging system (commands like pkg_add, pkg_info etc) and the release process would integrate the custom packages to the sysinstall system of the installation DVD. You could then install them like the official packages, during the main installation.

From the beginning this project was plagued with several problems: the release process was lengthy and error prone. Sometimes the packages would fail to integrate properly with sysinstall (the system installer at that time). Testing was tedious and time consuming and package errors meant the whole build would have to be repeated, usually from scratch. Combine this with a rather modest build system, this whole thing was taking huge amounts of time while its output was rather low.

Fast forward to today: 9.2-RELEASE has pkgng, a whole new packaging system (although the older system is still the default). The new installer, bsdinstall only installs the base system and does not interfere with packages in any way (a good thing IMHO). Building packages for pkgng is a lot easier, using the ports-mgmt/poudriere tool. And I do have a little monster now: an i5 with 32GB of RAM that allows me to run ZFS on memory disk and complete both 32 and 64 bit build in a single day, with time to spare. Since the packages do not have to be integrated to the installer, as long as there are no build errors in poudriere, they will work without problems. Testing is a lot faster and easier.

Custom releases are back! Starting today with a DVD containing 9.2-RELEASE and a selection of packages for XFCE, desktop productivity, browsers, Xorg and much more:

The complete list of top level ports used in this compilation is available in the README-PKGNG file of the DVD, along with more detailed installation instructions. A preconfigured VirtualBox image is also available.

Happy (desktop) FreeBSDing!

2 comments:

The Old Wainamoinen said...

Thanks! Great job!
This is now my primary OS.
Regards from a geeky CS PhD student.

Manolis Kiagias said...

You are welcome! We certainly hope to attract new members (and geeks!) to FreeBSD.