From owner-freebsd-ports Fri Jul 14 16:50:56 1995 Return-Path: ports-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id QAA05313 for ports-outgoing; Fri, 14 Jul 1995 16:50:56 -0700 Received: from silvia.HIP.Berkeley.EDU (silvia.HIP.Berkeley.EDU [136.152.64.181]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id QAA05294 for ; Fri, 14 Jul 1995 16:50:48 -0700 Received: (from asami@localhost) by silvia.HIP.Berkeley.EDU (8.6.11/8.6.9) id QAA15744; Fri, 14 Jul 1995 16:50:38 -0700 Date: Fri, 14 Jul 1995 16:50:38 -0700 Message-Id: <199507142350.QAA15744@silvia.HIP.Berkeley.EDU> To: knarf@nasim.cube.net CC: freebsd-ports@freebsd.org In-reply-to: <3u4ete$shi@nasim.nasim.cube.net> (knarf@nasim.cube.net) Subject: Re: diffs and checksums From: asami@cs.berkeley.edu (Satoshi Asami) Sender: ports-owner@freebsd.org Precedence: bulk * > Also, we should be able to save space on wcarchive (and mirror sites) * > by doing znew --best on all the distfiles. * * I don't think it's worth the CPU usage using --best. But let us discuss * this later. ;) I mean we put tarfiles that have been znew --best'd on wcarchive, and every mirror site will pick them up. So the CPU is used only on one site (probably thud), and all the mirror sites can save space. How's that now? :) * > The only problem is, how? I couldn't come up with a way to implement * > this without having to gzcat the file every time a user types "make * > " ('cause most of the targets depend on "checksum"), or * > forcing a znew from bsd.port.mk. * * Something like work/.checksum.done would cure this problem, wouldn't * it? Hmm, work/ may not exist at this time, then what about * distfiles/.filename.ok ? Again a bad idea if someone mirrores these * files. Create the work directory with the ckecksum target? Um, you are confusing yourself here. Why would someone mirror a file like that unless I screw up and put that (as well as the distfiles) on wcarchive? ;) Anyway, the problem is that the tarfile may have changed without a name change (that's really the whole point of checksumming). Having a cookie won't really help alleviate this problem, because it won't guarantee anything except that the checksum was once correct. Think of this sequence: (1) Joe user sups ports/games/coolgame (2) Joe user does a make, it fetches the tarfile, checksum is ok and builds the cool game (3) Joe user sups ports/games/coolgame again (probably a nightly sup), the original file has changed without name change and there is a new pre-install target. (4) Joe user types make install, and it bombs because there is a checksum cookie but the extracted source doesn't match the Makefile anymore! Satoshi