On 09/04/2024 21:14, David Higton wrote:
> For background, quoting Rob Kendrick:
> 
>> My /guess/ is that SocketWatch (or similar) is running via an
>> application launched at boot and it is an earlier version than NetSurf
>> requires, so NetSurf's !Run's RMEnsure tries to replace it with a newer
>> version?
> 
> At last Saturday nights RISC OS coding zoom meeting there was discussion
> of this SocketWatch issue and John Rickman was asked to write to this
> list seeking some information.  (He's only subscribed to ns-users, so
> I've taken over the task.)  We looked at the change log for v0.07 and
> tested the latest  NetSurf against v0.04. It appeared to run without
> problems.
> 
> Would you be willing in the short term to RMensure against v0.04 instead
> of v0.07.  This would avoid some breakage and people having to change
> their run files.
> 
I have now reverted all this functionality completely as I would prefer 
not to declare a dependency on something with which we have not tested.
> The documentation provided with 0.07 specifically says that it is an
> unofficial release.  The last "official" release seems to have been
> 0.04. Is it wise to force people to update their master !System with
> an unofficial release?
Yes, it is. The original author moved on over 20 years ago, the module 
was made 32bit compatible by the Nettle developers in 2003 and committed 
to their CVS at that time. Later, Frank de Bruijn became the de-facto 
maintainer after his attempts to feed his changes back failed.
Further, in June 2012, the Nettle developers committed the sources for 
his version 0.06 to their CVS and removed the historic 0.04y sources 
they had been carrying up to that point. I cannot point you at the 
Nettle CVS repository on Sourceforge because there is no longer a web 
interface for it, and I wouldn't want to force anyone to use a CVS 
client in 2024. Instead, here's the commit history from a copy of the 
Nettle source repository in Git: 
https://github.com/dpt/Nettle/commits/master/SocketWatch
To all intents and purposes, therefore, Frank's version is the official, 
maintained, source of the module.
> Surely better to RMensure the official version if it works as expected.
> (The changelog shows no functional/API changes since 0.04).  By all means
> include 0.07 in your zip, but use "RMensure" they way it was designed -
> to specify the minimum version the will function with your software.
We tested with, and thus declared a dependency on, the 0.07 release, 
which is now 5 years old. We considered that 5 years was plenty of time 
for people to have upgraded and, tbh, I'm somewhat surprised by the 
suggestion that reverting to a dependency on 20+ year old abandonware is 
a sensible course of action, given the existence of newer, less buggy, 
maintained versions.
That this caused NetSurf not to run on systems running software that 
vendored its own copy of the module, instead of using the system-wide 
resources, is unfortunate, but was hardly foreseeable. Regardless, 
lesson learned: never change anything in the RISC OS frontend.
J.
 
No comments:
Post a Comment