On Mar 1, 2009, at 04:27, Joshua Root wrote:

Ryan Schmidt wrote:

But I would like to know how it came to be that the file was on all of our mirrors in October 2008 but then disappeared from two of them since
then.

Portmirror deletes files when the checksums don't match.

Hmm. Well on the one hand that's a good thing: if someone commits a port update, and the distfiles mirror fetches the distfile, and the checksums don't match what's in the port, it's good that this file doesn't end up on the mirror. It would be great if the committer could be informed of this checksum mismatch but that's another matter.

But on the other hand it's a bad thing: if someone discovers that an upstream stealth update has occurred and updates the port but does so by only changing the checksums (which is what we don't want maintainers to do), then several bad things happen:

1) Anyone who has the old distfiles with the old checksums on their hard drive already and tries to reinstall the port will now get a checksum error (this is why we don't want maintainers to only update the checksums but leave the distfile in the same place; instead maintainers should make sure the dist_subdir changes). 2) The distfiles mirror will -- do what? I don't know. It will either leave the old distfile in place, causing checksum errors for anyone downloading the new file, or it will delete the old distfile and download the new distfile, causing checksum errors for anyone who hasn't "port sync"'d yet, and it's also bad for anyone wanting to research what actually changed in the stealth upgrade because we've now nuked the only copy of that file that still existed.

I would like for the distfiles mirrors to never delete older files. I think that was the original intent. How could we guarantee this I wonder? It would be nice if "portmirror" could get the new files into a temporary directory and then we could copy those into the real distfiles directory afterward, instead of letting portmirror loose on the real distfiles directory where it might possibly delete something irreplaceable.

_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to