From: Andrew F. <an...@bl...> - 2004-05-21 12:27:08
|
On 2004-05-21, Thomas Leonard <ta...@ec...> wrote: > [...] >> > If you want to run a modified version of a library, just click on it and >> > it can make itself the default. Until then, it shouldn't be assumed that >> > the user wants it (even if it is 'safe'; it might be the wrong version). Right, I definitely agree on this. > Whenever you have a shared resource, you need *some* well-known place to > store its location. Since choosing to use a non-default version of a > library is configuration, I suggest storing the new location in the > configuration system. > > (it seems like configuration to me: it should only be changed at the > user's request, and it's a per-user setting) But if running a new copy of the shared resource installs it as the preferred resource, this should be only for the current session (the user can take some permanent action, eg. symlink in Autostart if it's needed to be permanent). Will the fd.o config spec allow temporary settings like that? >> True. But there are some hard issues to solve here, I don't think (in >> the long term) they can be solved by saying "the user has to configure >> whatever they want". > > Why not? Remember that we're talking about 'users' who are running their > own modified versions of libraries. Sorry, I was talking about the more general case about AppDirs handling file types etc. Eg. my "Thwimble" app which handles ".thw" files (mime-type application/x-thwimble). >> however if AppDirs are a suitable replacement for RPMs, debs etc. then >> we can't rely on `apt-get install some-rox-app' modifying the >> appropriate files for shared mime info. > > apt-get doesn't allow relocation anyway, though. You can't just start > moving around appdirs installed by apt-get. As with zero-install, you need > to copy them and set some configuration setting to point to the new one. No, you miss my point: if AppDirs are still to be defined as a possible replacement for apt-get (whether in ZeroInstall or otherwise) there needs to be an improvement in the way that they are registered (perhaps albeit temporarily) for running particular files. If you use a larger package manager (eg. apt-get) then as part of the install root can (theoretically) modify the appropriate locations. >> Also, having code in each app to provide the user the option of sticking >> some symlinks in CHOICESPATH/MIME-Types/ seems like a redundant >> duplication of code. > > ... which is why the code is in ROX-Lib. OK, what about non-Python apps? What about UI consistency? The latter is a particularly important point which, I don't think, is covered in the style guide (for uninstall - the style guide assumes MIME handlers and icons will be installed during first run if not otherwise present) >> True. Perhaps I'm not thinking fourth dimensionally^W^WZeroInstall >> enough. > > Try to think of programs as global resources, like webpages. You can view > them at their fixed location (http://...) or make a local copy and modify > that. That's a good analogy. Hasn't helped shift my mental model from the traditional filesystem hierarchy though. I'm just trying to imagine how a whole OS would *neatly* work through ZeroInstall... (after all, I've got the disk space on a nice fat, reliable pipe...) >> However since wget and other tools such as lwp-request (in fact >> LWP::*.pm) don't support the (seemingly) hypothetical fd.o config spec >> (yet), but do support the (standard) http_proxy variable it is currently >> the best way. > > Put a 'wget' wrapper in PATH: Yep, that's what I was suggesting. Of course, there still needs to be something nice written for the user to configure what/how that gets set to (obviously us power users can just faff about in /etc/network/interfaces). Cheers, Andrew PS. I've just had a thought on repackaging big, complex things like (say) XFree86 as an AppDir: there are bound to be issues with compiling it with a relative path. Would a file system be useful where you could do something like: APP_DIR="/home/andrew/tmp/code/XFree86" ls -l /APP_DIR/share/rgb.txt ie. any file accesses to /APP_DIR get mapped into $APP_DIR for the current process. -- Andrew Flegg -- mailto:an...@bl... | http://www.bleb.org/ |