matt at forsetti.com
Fri Sep 24 08:54:27 PDT 2004
On Tue, 2003-03-18 at 12:56, Mike Meyer wrote:
> In <20030318095553.F18308 at asu.edu>, David Bear <David.Bear at asu.edu> typed:
> > I do have cvsup installed, and can run cvsup to update my ports
> > collection. My question is if I already have a package installed,
> > running cvsup, the make install again for a preexisting port will mess
> > up the pkg-data base right?
> Wrong. If you are installing a port a second time, "make install" will
> refuse to install the port because it's already installed. If you are
> installing an updated port, then the pkg-data will be in a different
> place because the port has a different name. The latter case may leave
> parts of the first port laying around unused, and deinstalling it will
> probably break the second port.
> > So, if I only want to upgrade a single
> > port, is the recommended way
> > 1) pkg_deinstall
> > 2) cvsup ports collection
> > 3) pkg_install again (or make install)
> > This seems rather poor as I don't want to have all the downtime
> > between deinstalling and installing again.
> Try this:
> 1) cvsup ports collection
> 2) make
> 3) pkg_deinstall
> 4) make install
> > If I cvsup ports and then make install, is there a fix to update the
> > pkg data base?
> It's not needed.
Of course, this method does not work if there are any packages/ports
depending on the port you are upggrading. The pkg_deinstall will fail
because of the dependencies. I believe a pkg_deinstall -f will forcibly
remove the package anyway. Unfortunately, I still sometimes find the
dependent ports need to be recompiled for the new version of the port
you are installing.
More information about the freebsd-questions