Philosophy of default "pkg_add -r" PACKAGESITE?
glists at greywether.com
Wed Sep 19 15:17:08 PDT 2007
First off, thanks to Kris and Mel for the previous definitive answers.
Let me see if I can summarize this correctly...
1) It's important that administrators who are taking advantage of
pre-compiled packages (like me) use packages that have been compiled for
their particular base system.
2) For users running a "release" base system, there is set of
pre-compiled packages provided for use with their particular release.
These are the packages found on the FTP site in the "release" folders on
the FTP site.
3) The default behavior for "pkg_add -r" on RELEASE systems is to source
it's pre-compiled packages from the "release" directory matching the
underlying base-system's release.
For a 6.2-RELEASE base system (for i386), "pkg_add -r" will source
4) Those "release" packages are never updated for any reason. The list
of available packages neither increases nor decreases, the versions of
the packages made available doesn't change, and (presumably) the
packages are never recompiled once the release has occurred.
It's a static list of packages compiled (and tested) for a particular
release and then never touched again.
5) If an admin wants to install pre-compiled packages that are not
present in the default "release" directory, they can configure "pkg_add
-r" to source packages from one of the other "package" directories by
setting the PACKAGESITE environment variable to point to one of the
other package directories.
6) Care should be taken when re-pointing PACKAGESITE as it would then be
possible for you to install a package that's been compiled against a
different version of some base-system library than you are currently
How'd I do? Assuming I did well, a couple of more questions...
1) Regardless of what base-system version you install, eventually the
base system will need to be updated (in the least, to apply security
So generally one important decision is what "version" of FreeBSD you're
going to track when doing updates. Security? Stable? Current?
So what's the recommended application install-procedure if you start
with a release system and then track "security" via freebsd-update? (A
common scenario, I presume.)
It would seem that "pkg-add -r" is a no-go in this case. If you leave
"pkg_add -r" pointing to it's default source, it'll grab packages
compiled against the "release" system which, while unlikely, may have
libraries incompatible with your new base system that's tracking security.
If you change "pkg-add -r" to source from "stable" or "release" you're
getting packages compiled against a base-system even more different than
your own "security" base system.
As far as I can tell there is not set of pre-compiled packages that have
been compiled against the "secure" track.
2) How does "pkg_add -r" know it's on a "release" system? The handbook
says that "pkg_add -r" will download from either the "current",
"stable", or "release" package directories as appropriate.
How does it know I have a release system and not a stable system?
Particularly since my system is not *really* a release system once I do
my first freebsd-update, right?. At that point it becomes a system
tracking "secure", right?
Thanks again for the input so far. The package thing is making way more
sense, hopefully a few more clarifications and I'll grok it.
More information about the freebsd-questions