View Single Post
Old 14th April 2009
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,975
Default

Let me put in my two pence (cents, centavos, kopecks ... whatever).

  • OpenBSD has a steady release cycle -- two releases per year. These days, this is on or about May 1 and November 1.
  • Releases are very well tested, by large numbers of users. The cycle is approximately 4 months of development and 2 months of testing.
  • Releases get patches. These patches are for security, availability, or stability. All patches are added to the -stable branch. If the patch is deemed noteworthy enough, it is added to the errata web page.
  • The -current branch is always available. It is the development branch and is a constantly moving target, except during the -release window.
  • The user community is encouraged to keep their systems up-to-date. This means, users run -release+errata, -stable, or -current. Running -release, without any patches and connected to a network, is strongly discouraged.
The OS is source maintained. If you run -release+errata or -stable, you are updating source code (manually or automatically) and rebuilding some or all of the OS, respectively. Users who run -current can avoid building the OS, by installing a snapshot of -current, and upgrading from snapshot to snapshot on a frequent basis. However, they may still need to do some port building, when upgrading packages.

There is no need to build from ports, unless necessary, as has been mentioned already. This is because a port, on OpenBSD, builds the package, then installs it. A port you build and a package you install will be contain completely equivalent binary files.

Why would a -current user need to build from ports? Because ... ports (and packages) must be kept in sync with the OS. This is not the case with FreeBSD, but is a drop-dead requirement for OpenBSD. This is primarily due to library dependencies. One can usually upgrade the OS and leave the existing packages installed, because an upgrade will not delete any existing libraries. But when upgrading/installing packages, the package must have been built with the same OS.

Snapshots happen at various times -- quite frequently for the major architectures. And the project makes "snapshot packages" available for the major architectures, too ... but much less frequently. Since there is no guarantee that any snapshot (or, of course, a -current system the user builds themselves) will be in sync with snapshot packages, some manual building of ports may be expected by the snapshot user.

I know a number of -current users who build all their own packages. A friend of mine mentioned he can get the entire i386 package set built in only 55 hours.

-----------

Since there are no library changes between -release and -stable, one can mix and match -release and -stable packages/ports. Unfortunately, there are no longer any -stable packages, and very few -stable ports, though there is an unofficial repository at openbsd.rutgers.edu.
Reply With Quote