From owner-freebsd-ports Mon Aug 19 03:59:12 1996 Return-Path: owner-ports Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id DAA04502 for ports-outgoing; Mon, 19 Aug 1996 03:59:12 -0700 (PDT) Received: from dfw-ix12.ix.netcom.com (dfw-ix12.ix.netcom.com [206.214.98.12]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id DAA04492 for ; Mon, 19 Aug 1996 03:59:09 -0700 (PDT) Received: from baloon.mimi.com (sjx-ca56-36.ix.netcom.com [205.186.122.100]) by dfw-ix12.ix.netcom.com (8.6.13/8.6.12) with ESMTP id DAA10476; Mon, 19 Aug 1996 03:58:35 -0700 Received: (from asami@localhost) by baloon.mimi.com (8.7.5/8.6.12) id DAA15635; Mon, 19 Aug 1996 03:58:32 -0700 (PDT) Date: Mon, 19 Aug 1996 03:58:32 -0700 (PDT) Message-Id: <199608191058.DAA15635@baloon.mimi.com> To: roberto@keltia.freenix.fr CC: ports@FreeBSD.ORG In-reply-to: <199608182055.WAA07521@keltia.freenix.fr> (roberto@keltia.freenix.fr) Subject: Re: MD5 checksum From: asami@cs.berkeley.edu (Satoshi Asami) Sender: owner-ports@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk * Something that has been bothering me for a while: why always verify the * checksum again and again after extraction ?? * * Any action will begin by verifying the checksum. I don't think it is * necessary... That is a bug/feature of bsd.port.mk. I attempted to fix it before, but gave up. ;) The necessity is to guard against stale work/ directories. If you forget to delete the work/ subdirectory and attempt a build/install/whatever after you update the ports support files (Makefile etc.), this check may catch it. Yes, I know it can be annoying, but the ports' targets are all chained together so there isn't much reason to do the steps independently. I usually just do "make package clean" (if I'm building packages) or "make install clean" (if I'm doing this at home) and the check will occur exactly once. Granted, this is not the safest seatbelt either, as the upgrade may not change the checksum (like, only patches/patch-ac was modified). The solution to this is to keep a larger list of checksums in files/md5 (like Makefile, patches/patch-*, scripts/*), create a "checksum of currently used parts" somewhere in work/ and compare it with files/md5 whenever a step is re-run. (This is what I attempted to do before --- the largest holdup was that the usual "checksum" stage had to be run before extract, when the work/ directory didn't even exist....) Of course, this may just be a gross overkill and the solution may be to simply move the checksum to within the extract target and don't worry about any of the above. ;) Satoshi