On Wed, Jul 25, 2012 at 8:24 PM, Andrew Thule <[email protected]> wrote: >>> On Wed, Jul 25, 2012 at 12:27 PM, Greg Hellings <[email protected]> >>> wrote: > >> It should. It does not. AFAIK it currently maintains no status >> information on whether ABC came from site X, site Y, a local install >> file, or was manually inserted into the install location. Since >> modules are just a collection of files on a disk bound together by a >> conf file, there is no way of preventing a user from unzipping a >> module she received in email into the folder. If that module is named >> ABC then InstallMgr will assume it is the same module as ABC from >> source X and offer an upgrade if the local version is less than site >> X's version. > > I think it does - here's how I think it does. In Linux at least, it > seems to track version numbers in the .conf file. For example, I have > an Inuktitut sword module whose version information is kept locally > here: > > ~/.sword/InstallMgr/20120224005250/mods.d/ink.conf > > > The 20120224005250 bit seems to be explained in InstallMgr.conf as > being specific to a particular site. > > [General] > PassiveFTP=true > > [Sources] > > FTPSource=1XO|x.xxx.xxx|/pub/sword/raw|||20120224005250 > <CUT> > > How I understand this then is that InstallMgr writes information about > modules in the form of .conf files (in my case ink.conf) to the > 20120224005250 directory. If there's a difference between the .conf > file in the 20120224005250 and the .conf file in the site associated > with 20120224005250 it means there's an update.
I believe your understanding is mistaken. When I pull up a newly installed SWORD directory where I've just pulled down the master repository list, refreshed CrossWire and Xiphos, and then installed the KJV from CrossWire I can find no artifacts within InstallMgr that reference which module was downloaded and where it came from. The directories you're seeing with timestamps hold caches of the remote directories. For instance under ~/.sword/InstallMgr/20081216195754/ I find the full list of all the .conf files that were pulled from CrossWire. But I have only installed one of them. Moreover, there is a path underneath modules/ that corresponds with where kjv would have been downloaded to (modules/texts/ztext) but the kjv directory under that is gone. I'd love for Troy to jump into this thread and say, "Andrew is right, we do track the source of a module and the info is kept in such-and-such a place". However, it never did support that even after the InstallMgr was added and support was implemented for the master repository list and such. Yes, it would be great if source repository information was maintained. However, it never was and I have heard nothing of a person stepping forward to implement it. In practice, there is no need for it as the vast majority of repositories are directly under CrossWire's control or the control of active members of CrossWire. Those few repositories which are not have a tiny number of modules. Thus, we just ensure that the module name is unique and then there is no problem. If the world of modules available continues to grow then someone might need to eventually add this functionality. An even better way would be to explicitly support multiple installed modules with the same name simultaneously. Currently there is not very good support for installing two versions of the KJV, for instance. Using the same mechanism that is found under the InstallMgr/ folder and applying it at the installed folder level (and tacking on extra folder(s) for local installation(s)) would allow me to have both the KJV 2.3 from CrossWire and the KJV 2.4 from CrossWire Beta installed in parallel. That update would also require front-end support to differentiate between them, but it could be done. But at present, unless Troy has altered InstallMgr and hidden the data somewhere, there is _not_ support for knowing whether the KJV I have installed came from CrossWire or CrossWire Beta except the reliability of my own memory. --Greg > > Thus, when you install from a different source InstallMgr could see > that you have a .conf file for that module (INK for example) (in your > InstallMgr directory or subdirectory) delete it and put the new copy > in a source directory from which it was downloaded establishing a link > between the most recent download and the module. > > ~A > > _______________________________________________ > sword-devel mailing list: [email protected] > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page _______________________________________________ sword-devel mailing list: [email protected] http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page
