[sword-devel] Supersedes field in conf file & front-end module management?

Chris Little chrislit at crosswire.org
Mon Feb 1 14:23:22 MST 2010



Troy A. Griffitts wrote:
> Peter von Kaehne wrote:
>>> Von: David Haslam <d.haslam at ukonline.co.uk>
>>
>>> Any ideas on this topic?> 
>>
>> Names modules which are superseded I thought. Similar to the version 
>> numbering in a way.
> 
> Yeah, I think Peter is correct.  The intention was that the InstallMgr 
> class would be smart about the upgrade path across module names if the 
> supersedes directive was used.  I'm not sure there is a frontend issue 
> here-- the code should probably all be down in the engine level.  I 
> don't remember writing or receiving contributed code to handle this, so 
> it's likely not yet implemented, but someone might speak up and remind 
> me otherwise.

To clarify, David is referring to the Obsoletes .conf entry. And to my 
knowledge, it is correct that no existing front end does anything with 
this entry. Nor does the library (again, to my knowledge).

There's a small issue with the entry that we may want to consider if we 
want to make actual use of it in code (for alerting users that they have 
2 modules installed, one of which is identified as making the other 
obsolete). If we offer to delete obsoleted modules then we cannot reuse 
their names in future releases. To accommodate this, we may want to 
implement a module name stability policy, in which we agree that a name, 
once obsoleted, shall never be re-used. To facilitate this, we just need 
to create a name registry to keep track of assignments & obsolescences.

This is actually already a problem due to the various historical LXX & 
LXXM modules: Our first LXX was called LXX. Then we got an edition with 
morphology & Strong's numbers from Steve Amato and named this LXXM 
(since that was his name for the OLB module). After a while, it became 
clear that the old LXX offered nothing additional to the LXXM, so the 
old LXXM was renamed LXX and included Obsoltetes=LXXM in its .conf. Now, 
however, there's an LXXM GenBook Bible, based on the CATSS edition, 
probably because they also refer to that as LXXM. So the LXX module 
currently claims that modules named LXXM are obsolete, but really refers 
to a different, previous module by that name.

--Chris



More information about the sword-devel mailing list