[sword-devel] More installmgr woes... (need for export SWORD_PATH=~/.sword )

Matthew Talbert ransom1982 at gmail.com
Thu Sep 3 13:11:27 MST 2009


> Maybe, but there are reasons that those applications which strive to
> be cross-platform do a lot of those things themselves.  In order to
> support paths with non-ASCII characters, each OS seems to have a
> different proper way of doing this.  At least on Win32 the only method
> I'm aware of is through calls specifically to the Windows API.  Since
> SWORD tries to rely on as few external libraries as possible, it would
> need to have lots of #ifdef segments.  A front-end like Xiphos can get
> away with a single call to the GTK/GLib libraries which handle those
> OS-specific calls for them (and BT could use the Qt classes, etc).

Well, this would be true if SWORD didn't need to read/write at all,
but it does, so it does need to do this correctly on all platforms.

> understanding is that the InstallMgr library class usually needs to be
> extended anyway by most of the applications, so adding the extra calls
> at the application level can tackle:

This isn't true. We don't extend InstallMgr at all. The reason given
to extend was something to do with setting the decipher key, but
that's easily handled elsewhere.

>(a) non-ASCII usernames, (b) path
> read/write permissions checks, (c) transport peculiarities like
> proxies, NAT, etc all in one pass, with the support of whatever
> external libraries the application is built on (GLib, Qt, XUL, python)
> doing the cross-platform lifting instead of trying to figure out every
> OS's requirements at the library level.

It would be nice if that were true, but there are many other places
where reading/writing is done, for example indexing, and retrieving
information from modules.

Also, we can't really handle proxies even if we extend installmgr
without correcting things like ftpparse. A user just reported the
inability to use installmgr through a proxy because of failures in
ftpparse.

I guess my point is, that SWORD is a large system. There's simply no
way for an application to replace all of SWORD's i/o to handle all
checks for write permissions, etc.

Matthew



More information about the sword-devel mailing list