Date: Tue, 06 Jun 2006 02:43:06 +1000 From: Mikhail Goriachev <mikhailg@webanoide.org> To: RW <list-freebsd-2004@morbius.sent.com> Cc: freebsd-questions@freebsd.org Subject: Re: difference between deinstall and pkg_delete? Message-ID: <44845F1A.9030807@webanoide.org> In-Reply-To: <200606051507.18147.list-freebsd-2004@morbius.sent.com> References: <Pine.BSI.4.05L.10606011103000.6635-100000@ecf2.puc.edu> <200606050111.30606.list-freebsd-2004@morbius.sent.com> <4484108B.9000302@webanoide.org> <200606051507.18147.list-freebsd-2004@morbius.sent.com>
next in thread | previous in thread | raw e-mail | index | archive | help
RW wrote: > 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. Ah, now I see what you mean about cookies. I guess this is valid when you don't want to clean a port. In my case, I install and clean it right away... the cookie disappears in the process. make install clean pkg_deinstall make install clean Is this the only issue between pkg_delete and make deinstall? Cheers, Mikhail. -- Mikhail Goriachev Webanoide Telephone: +61 (0)3 62252501 Mobile Phone: +61 (0)4 38255158 E-Mail: mikhailg@webanoide.org Web: http://www.webanoide.org PGP Key ID: 0x4E148A3B PGP Key Fingerprint: D96B 7C14 79A5 8824 B99D 9562 F50E 2F5D 4E14 8A3B
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44845F1A.9030807>