What’s Around the Corner: A Look at Upcoming PC-BSD Changes

}

February 27, 2013

Over the Christmas holidays, PC-BSD 9.1 was released and while it offered many new features and functionality, we haven’t sat back and relaxed just yet. In this article I want to give you a preview of some of the high-level changes that will be coming to PC-BSD a bit later this year. First up will be a look at how we perform updating and package management, but we should begin with some of the history and philosophy behind PC-BSD.
For the past half-dozen years PC-BSD has been based upon the same release schedule of the FreeBSD releases that it was built on. Typically when FreeBSD version X was released, a PC-BSD release of the same version number would follow within a matter of days. Between these times, we often only issued minor updates for specific bug fixes to our utilities, or the occasional driver update. While this worked to help keep us in “sync” with the parent FreeBSD release, it has not been the ideal situation. Often shortly after a release we have already added new features to our utilities or improved upon the system in other ways. Additionally there have been many instances where only a mere days after a release, a new version of something critical, such as a video driver or desktop environment has been committed to the ports tree. This has created a need for a better updating framework to the binary packages which comprise a PC-BSD desktop.
A new challenge has also been in the area of server administration. Over the last year we have also begun to see more people using PC-BSD to run servers, either as TrueOS, or in jails on a host system. This has also introduced a new set of demands in the area of package management. For desktop users, PC-BSD offers most applications in the self-contained PBI format, but when it comes to servers this is often not the preferred solution. System administrators are accustomed to being able to add packages and plugins to a system via a more traditional packaging system and the ability to fine-tune their services. While many experienced FreeBSD users can do this via the ports system, we are seeing far more users coming to FreeBSD who just want to be able to install binary packages. While PC-BSD offers a number of packages on our installation media, it is still a small subset of what is available and can become outdated rather quickly. This is another challenge we plan to meet head on.
While these are large issues to tackle, we have already begun implementing new solutions to solve them. The first item we looked at solving was the area of release frequency and outdated tools & packages. Due to the fact that releases have historically been 10-14 months apart, we have decided to begin to move to a “rolling-release” model, first for the packages which make up a desktop & server, and next for the base-system. Over the past few months we have already begun the process of converting all of our utilities to work with the new “pkgng” package-management system. By converting the systems to using pkgng, we will now have the ability to solve several of these problems at once. Starting with the next release of PC-BSD, we plan on making available a complete pkgng repository. This will be constantly updated, maybe as often as weekly, and kept as close in sync with the FreeBSD ports tree as possible. In addition we have already begun the conversion of our entire PC-BSD toolchain into two ports for this repository, pcbsd-utils and pcbsd-utils-qt4, for the command-line and GUI respectively. These ports will now be updated more frequently, pushing out bug-fixes and new features on a regular basis, also making them not dependent upon a specific PC-BSD point-release.
Once the dust from the packaging changes has settled, we also plan on looking at some ways to do frequent updates to the base FreeBSD system as well. Currently we are looking at offering three system “tracks” that a user can run. First would be a typical “-RELEASE” based track, moving from FreeBSD 9.1, 9.2, 9.3 and so forth, as is done now. However, the other two will follow the newer “STABLE” and “CURRENT” tracks of FreeBSD on a yet-to-be-determined frequency, possibly quarterly. These will provide users with the ability to run both a PC-BSD desktop or server on newer FreeBSD code, testing out new features and drivers. It will prove helpful to advanced users and developers alike, allowing them to quickly get a desktop or server installed and configured, without having to fall back to compiling ports by hand.
So how will these changes affect you? It will greatly depend upon your usage and personal preference. Users who install a particular numbered release of PC-BSD will be allowed the choice of how often they want to update the base desktop packages. If you are happy with the included utilities and your particular version of window-manager, then you could sit on that version until the next FreeBSD point release, or whenever you are ready to upgrade. If you are a desktop user who wants new window-manager versions, features from the PC-BSD utilities and more, then you will now be able to stay on top of those releases on a consistent basis. For running a server or jail, you will also now have access to a constantly updated, full repository of binary packages, including the PC-BSD command-line utilities, such as the Warden. With all the PC-BSD utilities being provided as packages, for the first time it will also allow you to install vanilla FreeBSD, and roll your own PC-BSD desktop / server by using our pkgng repository. Stay tuned to BSD Magazine in the coming months fore more details as these features begin to take shape.
Bio
Kris Moore is the founder and lead developer of PC-BSD. He lives with his wife and four children in East Tennessee (USA), and enjoys building custom PC’s and gaming in his (limited) spare time. Email: kris@pcbsd.org

Join iX Newsletter

iXsystems values privacy for all visitors. Learn more about how we use cookies and how you can control them by reading our Privacy Policy.
π