Hi Ingo, On 2021/12/26 23:26, Ingo Schwarze wrote: > Hi Alexander, > > Alexander wrote on Sun, Dec 26, 2021 at 08:11:51PM +0000: > > On 2021/12/25 18:02, Ingo Schwarze wrote: > > >> The new fw_update shell script is not in CVS yet. > >> > >> This command provides a clue that could lead you to suspect the above: > >> > >> $ grep -m 1 OpenBSD $(which fw_update) > >> # $OpenBSD$ > >> > >> That's a CVS tag which has not been processed by CVS yet. > > > Just to keep the noise on the mailing list down in case I run into > > something like this again at some point: > > Is that tag the usual indicator of such uncommitted code > > No, it is not usual. In most cases of uncommitted patches that > are being tested in snapshots, the patches change *.c files before > compiling. Compiled files in OpenBSD usually do not contain the CVS > IDs of the source files used. Some historical operating systems > (and maybe even a few current systems, i'm not sure about that) > did include SCCS or CVS tags into compiled files, and that's what > the what(1) utility was designed for in the remote past: > > $ what /usr/src/bin/cat/*.c > /usr/src/bin/cat/cat.c: > $OpenBSD: cat.c,v 1.32 2021/10/24 21:24:21 deraadt Exp $ > $ what /bin/cat > /bin/cat: > $ > > On some other or older systems, "what /bin/cat" might also return the > CVS ID(s). But even that wouldn't really help for your purpose. > In most cases, it would only be the ID of the latest commited > revision; the patch being tested would typically change some lines > of code, but it would usually not change the ID. > > You only saw the unexpanded $OpenBSD$ ID in this case because it > was a completely new uncommitted file intended for later commit, > and because it was not a compiled file but a script where the > source code gets installed directly. > > In the rare cases where you do find such an unexpanded CVS ID, it's a > medium strength indicator pointing to a possible uncommitted patch, > but even then it's not 100% certain - there could be other, even more > unusual reasons for seeing such a thing. > > > or are there other things I should look for before asking here again? > > In general, it can be quite hard to identify uncommitted changes, > even for developers. A generally working way to identify them > basically does not exist. (And maintaining an official list would > be a horrendous make-work project.) > > Sometimes, compiling the tool that behaves strangely yourself > from CVS -current sources and comparing behaviour to the same > tool in the snapshot may help - if behaviour differs, that's > a medium strength indicator of a possible uncommitted patch. > Or, of course, you might have miscompiled it... > Your specific example demonstrates that this suggestion does > not always help: nothing to compile there, and you (rightly) > failed to even find any sources... > > For users, i think best practice is as follows: if something does not > work as you think it should, and if reviewing the manual pages, the > FAQ, and searching through recent postings on tech@, bugs@, and misc@ > still leaves you wondering, then ask, providing as much much detail > as you can: which exact OS version or snapshot, what exactly you did, > what you expected, and what happened instead. If the tool misbehaves > in the snapshot but works when you compile it yourself from -current, > say so. In other words, your report was of very reasonable quality. > Nobody will expect that you make a definitive statement like "this is a > regression caused by an uncommitted patch in snapshots" in your report.
Thanks a lot. That's a very helpful explanation and I will keep that in mind. > > If it appears to misbehave, it's worth a report. And if there > is an uncommitted patch in snapshot, than hopefully at least one > developer is watching closely. After all, asking Theo to put a > patch into snapshots for testing but then *not* watch the bugs@ > mailing list for reports that might be related would make very > little sense! > > Yours, > Ingo > > P.S. > Currently, it looks relatively unlikely that the new fw_update(8) > is really going to loose the -n option; or else it might regrow > it shortly after the initial commit. No guarantee though. > Best advice for users is to wait for the dust in this area to settle. I will do that ;) Thank you for making an os that is actually so reliable and well-designed that I'm not worried at all right now. Best regards, Alexander