Slashdot Mirror


FreeBSD Ports Tricks

BSD Forums writes "One of FreeBSD's biggest benefits is its ports collection. You can go years without learning more than just make install clean, but there are dozens of features built into the ports tools. OnLamp's Dru Lavigne demonstrates several of these tricks to simplify your life."

2 of 201 comments (clear)

  1. My beef with FreeBSDs port system.. by guacamole · · Score: 4, Insightful

    My biggest concern about FreeBSD's port collection is that it's essentially "unstable". That is, it seems to be changing on the time. Imagine that you need to setup a web server at one customer's site that requires a set of packages from the ports collection to make the site work. A couple of months later, if you need another server like this, perhaps for a different customer, you might end up with different versions of the tools even though you're running the same version of FreeBSD at both sites. Perhaps, this is a great system for someone who wants to always keep running the latest and greatest but for people who'd like a stable working environment this is an annoyance. Since, I am averse to change, I also like to update only say the packages that have serious bugs or security problems. But with the ports collection, there is no easy way to tell whether a package has been updated because of security issues/bugs or because the port maintainers simply feel like bumping the package version.

    It would be a whole lot better if the ports tree was frozen together with the OS when it's released and later only security and bug fixes were merged into the ports (preferably by patching the originally released package instead of just using the latest version, but that would be too much to ask from non-paid volunteers, although Debian does manage to do it).

    1. Re:My beef with FreeBSDs port system.. by Metrol · · Score: 4, Insightful

      It would be a whole lot better if the ports tree was frozen together with the OS

      May your wish become reality... ala kazzam, *pooof*

      There ya go, now you can go to your favorite computer retail store, FreeBSD Mall, or even an absolutely free ISO, and get a RELEASE copy of FreeBSD.

      Yes, just recently (several years ago) FreeBSD started putting things on CDs. These CDs include on them at no extra charge... packages! These "packages" are pretty well frozen in time, and install the exact same code on every machine that CD is used on.

      later only security and bug fixes were merged into the ports

      Boy, demanding fella. Well, that's exactly what happens with the FreeBSD ports! Between application releases bug fixes go into the ports tree via patches, aka diff files.

      Case in point, there was a nasty layout problem with Konqueror that a KDE developer posted a patch for in the KDE bugzilla. I altered the files paths a bit and submitted to the KDE-FreeBSD project. This was then committed to the ports tree, which then produces new packages.

      This process took all of 2 days. I don't honestly know if any other OS has this fix in their build process or packages. My guess is that the rest of the Unix world either needs to manually patch and compile their KDE or wait for 3.1.3a.

      Bug fixes like this go into the applications in the ports tree every day, without having to wait for the originating project to release a new version. Best of all, since the FreeBSD ports utilize its own versioning scheme important changes, such as security fixes or major bugs, can flag "pkg_version" to let an admin know that there's an upgraded version to install.

      there is no easy way to tell whether a package has been updated because of security issues/bugs or because the port maintainers simply feel like bumping the package version.

      Port maintainers don't go willy nilly into bumping port revisions. Changes in maintanership, documentation, or other administrative issues do not warrant, nor do they get, a change in their port version.

      As for an easy way to determine why a port was upgraded, a quick visit to Fresh Ports can give you the exact reason why the port was upgraded, by who, and when.

      but that would be too much to ask from non-paid volunteers

      No it's not really. In fact, these kinds of issues are addressed every single day in the ports tree. It may look like a tangled mess upon first glance, but I assure you it is anything but. There's over 9000 applications being maintained for the OS. Every day many are added, a few deleted, and several are updated for a variety of reasons. This tree is as alive as the free software community it reflects.

      --
      The line must be drawn here. This far. No further.