From owner-freebsd-ports Mon Aug 21 23:46:31 1995 Return-Path: ports-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id XAA07617 for ports-outgoing; Mon, 21 Aug 1995 23:46:31 -0700 Received: from gndrsh.aac.dev.com (gndrsh.aac.dev.com [198.145.92.241]) by freefall.FreeBSD.org (8.6.11/8.6.6) with ESMTP id XAA07611 ; Mon, 21 Aug 1995 23:46:27 -0700 Received: (from rgrimes@localhost) by gndrsh.aac.dev.com (8.6.11/8.6.9) id XAA06375; Mon, 21 Aug 1995 23:44:53 -0700 From: "Rodney W. Grimes" Message-Id: <199508220644.XAA06375@gndrsh.aac.dev.com> Subject: Re: bsd.ports.mk checksum To: gary@palmer.demon.co.uk (Gary Palmer) Date: Mon, 21 Aug 1995 23:44:52 -0700 (PDT) Cc: jhs@freebsd.org, ports@freebsd.org In-Reply-To: <6794.809068775@palmer.demon.co.uk> from "Gary Palmer" at Aug 22, 95 06:19:35 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2500 Sender: ports-owner@freebsd.org Precedence: bulk ... > > I would have to say it is the minority view. The ports mechanism is > NOT designed to have the sources left lying around, in EXTRACTED > form. It CANNOT handle this... (think about it - if it goes to the > next version, there will still be a .extract_done or whatever lying > around, and the system won't dare change anything, so you'll still > have the old sources extracted). If it can't handle this, then the Makefile and/or .mk file is missing a dependency that would quickly fix the problem: .extract_done: Makefile Makefiles are almost always modified for any new version of the port due to source distribution changing. > The ports system is decidedly compile, install and clean-up in one go, > or be burnt. Making it otherwise would require taking bsd.port.mk to > such a level of complexity that it probably would fail more often than > it would work. It is missing a few dependencios for all the .magic cookies. .magic cookies with missing dependecies are a pain. I really hate it when I say ``make install'' and it don't do squat, I do a lot of NFS mounting, this .install_done cookie thing has no idea if this system has had the install run on it :-(. > Yes, I agree that the checksum routine should not be run at every > step, but I think that your reasons are mis-founded. > > And throughout this discussion, you have YET to suggest a fix to this > situation! Where's the patch to fix this problem? Here is mine for the .extract_done not causing an extract if the Makefile has changed because this is a new version of the port: [This is on a RELENG_2_1_0 branch, may need hand applying to -current] Index: bsd.port.mk =================================================================== RCS file: /home/ncvs/src/share/mk/bsd.port.mk,v retrieving revision 1.165 diff -c -r1.165 bsd.port.mk *** 1.165 1995/06/06 10:56:34 --- bsd.port.mk 1995/08/22 06:42:55 *************** *** 625,631 **** .if !target(extract) extract: checksum ${EXTRACT_COOKIE} ! ${EXTRACT_COOKIE}: @${ECHO_MSG} "===> Extracting for ${PKGNAME}" .if target(pre-extract) @${MAKE} ${.MAKEFLAGS} pre-extract --- 625,631 ---- .if !target(extract) extract: checksum ${EXTRACT_COOKIE} ! ${EXTRACT_COOKIE}: Makefile @${ECHO_MSG} "===> Extracting for ${PKGNAME}" .if target(pre-extract) @${MAKE} ${.MAKEFLAGS} pre-extract -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Reliable computers for FreeBSD