From owner-freebsd-questions Mon Jan 17 11:31:36 2000 Delivered-To: freebsd-questions@freebsd.org Received: from serenity.mcc.ac.uk (serenity.mcc.ac.uk [130.88.200.93]) by hub.freebsd.org (Postfix) with ESMTP id D4131151E5 for ; Mon, 17 Jan 2000 11:31:27 -0800 (PST) (envelope-from jcm@dogma.freebsd-uk.eu.org) Received: from dogma.freebsd-uk.eu.org ([130.88.200.97]) by serenity.mcc.ac.uk with esmtp (Exim 1.92 #3) id 12AHrr-0009Rt-00; Mon, 17 Jan 2000 19:31:11 +0000 Received: from localhost (jcm@localhost) by dogma.freebsd-uk.eu.org (8.9.3/8.9.3) with ESMTP id TAA16561; Mon, 17 Jan 2000 19:31:11 GMT (envelope-from jcm@dogma.freebsd-uk.eu.org) Date: Mon, 17 Jan 2000 19:31:11 +0000 (GMT) From: Jonathon McKitrick To: R Joseph Wright Cc: Salvo Bartolotta , freebsd-questions@freebsd.org Subject: Re: can't make certain ports In-Reply-To: <3883663B.A2531AB1@nwlink.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mon, 17 Jan 2000, R Joseph Wright wrote: >I had just updated the ports tree. Wouldn't that insure that everything >was clean? >If only I understood the mechanisms behind it all... CAPITAL IIUC :-) the way it works is this: cvsupping ports adds/changes/deletes from the makefile and PKG lists for each port. It won't touch the work directory where the object code is. One of the responders to your question said 'make clean' removes the old source. I believe that this is incorrect. It removes the old OBJECT code, which of course is generated when the source is compiled. When a port is updated, at least three things must happen for you to be able to use the new version. First, 'pkg_delete' or 'make deinstall'. It would seem to me that once you have cvsupped, the PKG list may have changed for the new version of the port, so a 'pkg_delete' would be more likely to remove every vestige of the old package. Second, 'make', possibly preceded by a 'make clean' just to be safe, if you like. This fetches and compiles the source, of course, and produces the binaries and man pages. Third, 'make install', which installs the binaries and docs to their correct locations. It also registers all the files as part of a package, which can in theory be easily removed later on. I think one potential area of confusion is this: Again, IF I UNDERSTAND THIS CORRECTLY (and i think i do ;-) 'make deinstall' calls pkg_delete, but if the makefile has been changed by a recent cvsup, there is always the possibility this may not work correctly, although it SHOULD. I generally use pkg_delete just to be safe. -=> jm <=- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message