Date: Mon, 16 Oct 2000 19:18:18 -0700 (PDT) From: jdp@polstra.com To: stable@freebsd.org Cc: brett@peloton.runet.edu Subject: Re: Error: your port uses an old layout. Please update it to match this bsd.port.mk. - SOLVED Message-ID: <200010170218.e9H2IId53545@vashon.polstra.com> In-Reply-To: <Pine.BSF.4.21.0010151328140.9009-100000@peloton.runet.edu> References: <Pine.BSF.4.21.0010151328140.9009-100000@peloton.runet.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <Pine.BSF.4.21.0010151328140.9009-100000@peloton.runet.edu>, Brett Taylor <brett@peloton.runet.edu> wrote: > > > That is not correct. CVSup _will_ remove those directories if they are > > empty. > > Well, it certainly missed some (but not all) of mine and apparently other > people's as well. The problem ports on my system did have empty pkg and > patches directories. Am I missing some key switch in invoking CVSup? I > normally invoke it as: > > cvsup -g -h cvsup7.freebsd.org ports_supfile > > with the following supfile for ports: > > *default release=cvs > *default prefix=/usr > *default base=/usr/local/etc/cvsup > *default release=cvs delete use-rel-suffix compress > ports-all tag=. That all looks correct to me. Do you remember exactly which empty directories didn't get removed? It would be interesting to find out whether other people had the same experience with those directories. I can think of a few possibilities here: 1. Maybe you have a "refuse" file which is causing CVSup to ignore the problem directories. 2. Maybe the directories really weren't empty -- i.e., they contained file(s) named ".*" that didn't appear in the "ls" listing. (Don't be insulted, I'm just trying to explore all the possibilities! :-) 3. It could be a bug in CVSup (of course). But the code which handles the directory removal is pretty straightforward. Another possible explanation: CVSup only tries to remove a possibly-empty directory immediately after it has deleted a file from the directory. If for any reason CVSup was unable to remove the directory at the point in time when it "officially" became empty on your system, then that's it -- it won't try again later. So for example, if you had an extra file in the directory at the time CVSup removed the last "official" file from it, then the directory would stick around forever after that, even if you removed the extra file manually later on. This scenario also might possibly arise if an update run died or was killed at just the wrong time, leaving an empty directory which CVSup hadn't quite gotten around to removing yet. (I guess this stuff really belongs in the "bug" category, strictly speaking.) I've added a note to myself in my CVSup to-do list to look into dealing with the above situations better. Maybe I can make it try to remove directories which should be empty on every run, not just at the moment when it thinks they should have just become empty. The key question is whether I can make it do that efficiently or not. John -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Disappointment is a good sign of basic intelligence." -- Chögyam Trungpa To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010170218.e9H2IId53545>