[sword-devel] Supersedes field in conf file & front-end module management?
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.
More information about the sword-devel