On Tue, Oct 21, 2003 at 05:27:42AM -0700, Dinesh Nadarajah wrote:
> I would like to know where pkg_add keeps its configuration file? I mean
> when I execute the command 'pkg_add -r bzip2' how does it know that it
> needs to fetch it from ftp://ftp.freebsd.org/...../packages-4-stable/
> as opposed to packages-4-current?

pkg_add works out the path it looks for on the FTP servers from the
system version number -- there isn't a specific configuration file for
it.  You can override the defaults by setting various environment
variables: PACKAGEROOT, PACKAGESITE as described in the pkg_add(1) man

If you're interested in exactly how pkg_add works out what URL to use,
look at the definition of the 'releases' array near the top of
/usr/src/usr.sbin/pkg_install/add/main.c Hmmm... I do believe I can
see what might be a bijou little buglette there.  Seems that there's
no mention of packages-4.8-release or the impending
packages-4.9-release.  (Checks cvsweb...)  Hmmm... Looks like only
RELENG_4_8 branch gets an indication of where the 4.8-RELEASE packages
are.  Makes a certain kind of sense.
> Also, along the same note, I searched through the handbook but could
> not find any information on how to convert a 4-STABLE to a 4-CURRENT. I
> want to only use CURRENT software not update my kernel to CURRENT. Is
> this possible?

Firstly, there's no such thing as 4-CURRENT and there hasn't been for
several years.  Your choices at the moment (other than one of the
-RELEASE branches) are 4-STABLE or 5-CURRENT.  Similarly, there is no
5-STABLE just yet: the omens are that it may appear alongside 5.3
release.  This is documented in




Using 5-CURRENT is not recommended unless you are of FreeBSD developer
calibre, as it is the bleeding edge and you will need quite a lot of
code-fu to be able to deal with the fine messes it can get you into.
You seem to be on 4-STABLE already -- unless you have a pressing
reason, like you have hardware only supported in 5.x or insatiable
curiosity, then I'd stick with that.  If you must run a 5.x version go
with 5.1-RELEASE which is the best and most recent 5.x code right now.

As for upgrading from 4.x-STABLE to 5.x-RELEASE: this can be done by
compiling the 5.x sources under 4.x, but it is by no means a trivial
task, and there are various new features (like UFS2 filesystems) that
you won't be able to take advantage of without extreme pain.  Take a
look at the instructions in /usr/src/UPDATING (see
for details from the UPDATING file for 5.1-RELEASE -- the bit you want
is pretty much right at the end of the file) On the whole, you may
find it more productive to cut yourself some 5.1 Installation media,
wipe your present system and do a fresh install.
> If pkg_add -r is provided a URL to a CURRENT directory, would it fetch
> all dependencies from the same directory or would it revert to its
> configured URL to fetch the dependencies?

From reading the source code, I believe that the first option will be
the case, unless you set PKG_ADD_BASE in the environment.  But I could
be wrong.  Trying a combination of the '-n' and -v' flags to pkg_add
should let you confirm your suppositions without screwing up your



Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to