difference between deinstall and pkg_delete?
RW
list-freebsd-2004 at morbius.sent.com
Sun Jun 4 17:11:41 PDT 2006
On Friday 02 June 2006 08:53, Mikhail Goriachev wrote:
> Jon Falconer wrote:
> > Greetings,
> >
> > I see in the man page for ports the following:
> >
> > reinstall Use this to restore a port after using
> > pkg_delete(1) when you should have used deinstall.
> >
> > So I'm wondering what is the difference between pkg_delete and using
> > "make deinstall" from within the ports directory? What does "make
> > deinstall" do that pkg_delete does not do? What does pkg_delete do that
> > "make deinstall" does not do?
>
> Hi,
>
> This will point you in the right direction:
>
> http://www.bsdforums.org/forums/archive/index.php/t-29467.html
Actually I think that points in wrong direction. There is a lot of
misinformation about this that is repeated ad-nauseum.
Most ports use the standard deinstall target which calls pkg_delete; there is
only one port in the whole tree that defines it own deinstall target, and
that one installs its own versions of the pkg_* utilities.
The port system uses a series of cookie files to keep track of what has been
done. For example if you type "make && make" the port will only build once,
because the first make sets the "build cookie". There is also an Install
cookie which leads to a problem when you go through the sequence
make install
pkg_delete
make install
because pkg_delete doesn't know about the port cookies. The deinstall and
reinstall targets both delete the cookie and so using one or the other avoids
the problem.
In practice this is virtually a non-issue since most people, and all build
tools, will do a make clean at some point in the sequence.
More information about the freebsd-questions
mailing list