difference between deinstall and pkg_delete?

RW list-freebsd-2004 at morbius.sent.com
Mon Jun 5 07:07:54 PDT 2006


On Monday 05 June 2006 12:07, Mikhail Goriachev wrote:
> RW wrote:
> > 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.
>
> Right, so pkg_deinstall is the way to go then, isn't? Logically, there
> is a difference between pkg_delete and pkg_deinstall. Personally, I use
> the latter.

The question was about the difference between "make deinstall" and pkg_delete.

pkg_deinstall  (installed by the portupgrade port) is simply a ruby wrapper 
for pkg_delete that provides globbing and recursion. There is no particular 
correpondence between pkg_deinstall and "make deinstall" except for the 
similar name. 





 


More information about the freebsd-questions mailing list