<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>I use a short python script to automatically update most checksums.</div><div><br></div><div>However, even the small number of ports I maintain (OK there 69 of them) and the no maintainer/slowmaintainer ports that I version bump from time to time, I have found a dozen that have multiple sets of checksums, e.g. bash that has a separate checksum for each patch, etc. For those, I just manually update the checksums.</div><div><br><div><div>On Feb 1, 2016, at 3:45 PM, Daniel J. Luke &lt;<a href="mailto:dluke@geeklair.net">dluke@geeklair.net</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Feb 1, 2016, at 4:36 PM, René J.V. Bertin &lt;<a href="mailto:rjvbertin@gmail.com">rjvbertin@gmail.com</a>&gt; wrote:<br><blockquote type="cite">How likely is it that two files would have the same oldchecksum<br></blockquote><br>not very<br><br><blockquote type="cite">but a different newchecksum? Probably very small for sha256, but the shorter the hash, the larger that likelihood. That still won't be an issue for most ports that only have checksums for a single file. Still, you'd probably want to know all old checksums of all (old) distfiles, and the corresponding new ones to check for aliasing before you start replacing.<br></blockquote><br>sure.<br><br>I'd be willing to wager we've never had a hash collision, though.<br><br><blockquote type="cite">A better non-trivial example than my KF5 Frameworks Portfile would be mcalhoun's port:qt5 Portfile. I'm not sure you need to connect the checksums with the distfile/subport in the Portfile (as opposed to in memory only), but that would probably be a challenge for this kind of coding.<br></blockquote><br>I would advocate a "worse is better" approach here.<br><br>A very simple substitution intended for a maintainer to run, something like `port checksum --stage-update foo` that can then be verified and committed.<br><br>Maybe this doesn't work (or doesn't work well) for complicated portfiles - but if it's a 90% solution that covers mosts ports, it's still a win (and if it enables people to write less complicated portfiles, since they were just trying to make it easier to update their ports, that's a win too).<br><br>In fact, I would propose that the existence of complicated portfiles is evidence of features in base that are missing that maintainers desire.<br><br>-- <br>Daniel J. Luke<br><br></blockquote></div><br><div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Marius</div><div>--</div><div>Marius Schamschula</div><div><br></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">

</div>
<br></div></body></html>