difference between deinstall and pkg_delete?
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?
> This will point you in the right direction:
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
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
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