Rebuilding my ports area
david at catwhisker.org
Fri Jul 24 11:49:50 UTC 2015
On Fri, Jul 24, 2015 at 05:21:07PM +1000, Dave Horsfall wrote:
> FreeBSD 9.3-RELEASE-p20 (GENERIC) #0: Tue Jul 21 19:29:33 UTC 2015
> Having completely scragged my ports area following various changes to
> pkg/pkgng/etc, and being unable to "sysinstall" it from CD (not found for
> some reason) or via FTP (not found on server etc), I found a pristine copy
> of ports.txz and unpacked it (sigh, yet another compression scheme), after
> renaming the old directory.
> Anyway, what do I do now? Assume that many ports have been installed, and
> that the databases etc are probably a dog's breakfast, per the conflicts
> that I have posted here earlier. If it helps, I have a list of those
> ports that were installed, and hopefully the dependencies will be taken
> care of automagically.
Near the bottom of portmaster(8), there is a procedure entitled "Using
portmaster to do a complete reinstallation of all your ports". I have
used that procedure (with some variations) over the years -- e.g.,
migrating from 8.x -> 9.x, then 9.x to 10.x; more recently, I extracted
bits of it to migrate from stable/10 i386 -> stable/10 amd64 [gory
Based on my experiences doing those, I *think* that using that procedure
as a basis (and adapting in slightly) may serve you well. (Note that as
of this writing, that procedure still refers to the old pkg_* tools. So
instead of "pkg_delete -a" I used "pkg delete -fa".)
One of the first things, though, would be to determine if you'r going to
use pre-built packages (and if so, built by whom) or build the ports
The procedure I used in the above-cited article -- once I finished
bumping into issues caused by my ignorance (or other oddities) -- turned
out to work quite well -- but I was only able to accomplish it because I
had available hardware to perform the package-building (using poudriere)
portmaster itself is "merely" a shell script, so it has no dependencies
on (other) ports; installing it on a pristine system will bring in pkg,
but no others.
Note, too: after generating the list of 'installed ports" (which may
look incomplete: it doesn't actually list all of your inistalled ports,
but rather, a subset that is necessary to get all of them installed), I
finid it useful to trim the list further and re-order the list (so that
more critical, smaller port -- such as sudo and tmux -- are built before
more complicated ports cause problems). One of the things I typically
do on non-development machines during this pass is remove ports from the
list that are "obviously" only build dependencies -- autoconf*;
automake*; nearly all devel/* ports -- as the installation of the ports
I really use directly will bring the others in if they are actually needed.
If at all possible, of course, make a good (tested!) backup before you
do the "pkg delete -af". :-}
David H. Wolfskill david at catwhisker.org
Those who murder in the name of God or prophet are blasphemous cowards.
See http://www.catwhisker.org/~david/publickey.gpg for my public key.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 949 bytes
Desc: not available
More information about the freebsd-ports