On Aug 17, 2009, at 2:22 PM, Chris Stankevitz wrote:
When I install FreeBSD, I am installing a "core operating system version number" (your term).

Most people install FreeBSD from a release CD; ie, they install 6.4- RELEASE, or 7.2-RELEASE, or similar.

Then I may choose to install the "ports" as either "STABLE" or "CURRENT" neither of which is associated with any "core operating system version number". From this point on, all application updates will arrive via "ports" .

Ports are not branched-- there is no STABLE or CURRENT for ports. The same ports tree can be used on 6.x, 7.x, and 8-CURRENT.

A question:

Imaging one person installs FreeBSD-6.4 RELEASE and updates to STABLE ports. Another installs FreeBSD-7.2 RELEASE and also updates to STABLE ports. Are there any applications that the FreeBSD-6.4 person cannot install (e.g. the latest apache or VirtualBox)?

If a port does not compile on a given OS version, something like the following is used in the port Makefile:

./audio/mumble/Makefile-.if ${OSVERSION} < 700000
./audio/mumble/Makefile:BROKEN=         Does not compile on FreeBSD < 7.0

The same mechanism can be used for ports that do not compile on a particular architecture, such as amd64 or sparc. See: http://www.freshports.org/ports-broken.php

If so, by what mechanism is he prevented?

The port Makefiles will return an error if/when the port is known to be broken under a certain circumstance.

What are the repercussions of never updating the "core operating system version number"?

Well, you'll miss ongoing security updates and improvements to the system. Eventually, if you refuse to update the base OS for a very long period of time (years), you'll end up running an unsupported version of the OS and some of the ongoing updates to the ports tree may not work properly.

FYI my experience is with Gentoo which as no "core operating system version number". All system updates come from "portage" (like your ports).

> ftp://ftp.freebsd.org/pub/FreeBSD/ports/
> They are arranged by computer architecture and release number. There
> are also stable directories for certain releases.

Thank you for providing this.  It raises two questions:

1. If the STABLE ports tree is not associated with a "core operating system version number", why are there two directories for STABLE packages:


When you compile something, you normally end up with runtime dependencies upon a particular version of the C libraries, so the packages for 6-STABLE and 7-STABLE are not the same. However, 6- STABLE packages should run on a 7.x OS if you've got the misc/compat6x port installed, which makes the 6.x shared libraries available on a 7.x or 8.x version FreeBSD.

2. What is the difference between these two?

My guess:
The first is the packages that were made available in the 7.2 RELEASE CDs.

You're right, here.

The second is a directory that is re-created every 5 minutes by updating the ports collection and compiling all the applications in it.

Sort of. It takes longer than 5 minutes to rebuild all ~20K ports, but yes, the 7-stable packages are updated continuously over time....


freebsd-questions@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to