Re: [VETO] Support package-prefix and fix mail-locking in configure
"Stephen J. Turnbull" <[email protected]> Thu, 09 Dec 2004 16:05:41 +0900
| Newsgroups | gmane.emacs.xemacs.design |
|---|---|
| Organization | The XEmacs Project |
| Message-ID | <[email protected]> |
>>>>> "ms" == Michael Sperber <[email protected]> writes: Ben> Symlinks are a hack anyway ms> I disagree. Symlinks are a pretty good mechanism for ms> expressing sharing in environments that have them. OK. You disagree. Please remember that disagreement is a symmetric relation, and therefore any "solution" based on symlink-oriented thinking is going to be at best suspect, and quite likely unacceptable, to Ben. ms> [--late-package-path] Ben> I would be fine with this if it's possible to specify a Ben> single directory, the directory containing xemacs-packages, Ben> mule-packages and the like (and have it automatically ignore Ben> mule-packages if we're a non-MULE build). ms> This may be OK if you used the existing infrastructure (in ms> `packages-compute-package-locations') for figuring these ms> things out; what you did was hard-wire things unnecessarily. Mike, it _was_ necessary, and _you_ are primarily responsible for that. For starters, `packages-compute-package-locations' is designed to make this as difficult and opaque as possible, as you surely know. package-compute-package-locations is very much an internal API (it has a docstring, but is otherwise mentioned nowhere in the distribution, except for two invocations), and the whole setup is documented as a black box. The only documented ways to affect its behavior are --prefix, --package-path, and EMACSPACKAGEPATH---and those don't even appear explicitly in the docstring! The actual search algorithms aren't even located in the same file. You really have no ground to complain that when Ben used what was apparently the recommended interface he "unnecessarily" hard-coded things. That's _your_ design, not his! As far as I can see, your agenda for years has been a fixed and frozen hierarchy with a single root, and all pieces of XEmacs in their well-known and eternally unchangeable places relative to that single root. Your love for symlinks is one manifestation: the idea is to use the symlinks to fool XEmacs into thinking the packages are in their Proper Places when in fact they're located in /root/alone/knows/lib/. Now, I don't believe that you have deliberately concealed this, but AFAICT the majority of XEmacs developers and users have a two-root intuition. There is the core root, and there is the package root (which according to the intuition actually might be multiple, but is singular for normal installations). This divergence of intuitions results in a complete failure of communication, because the minority intuition is the basis for the actual design, but it is spelled out nowhere. Ben> They will want to say "You told me to put the packages under Ben> /usr/local/lib/xemacs, but for one reason or another they Ben> can't go there so I want to specify a directory in place of Ben> /usr/local/lib/xemacs". ms> I think that the vast majority of users don't need to tinker ms> with the package path at all. I agree with this, strongly. This is simply not a feature that posters to c.e.x or xemacs-beta ask for. Ben> [a] Have a --late-package-path option that lets you specify Ben> the exact locations of all package hierarchies. [b] Also Ben> have a --late-package-prefix option that lets you specify the Ben> directory under which the package hierarchies are located. [...] Those are horrible names. Since configure almost by definition doesn't need to be backward-compatible, just use --package-path and --package-prefix (or --packages-path and --packages-root, which I like better). ms> That would be fine, if nobody else disagrees with ditching ms> --package-path. I think the way to do this with the least ms> possible friction would be if you let me do it. If nobody ms> disagrees, I could get to work on the weekend or next week. ms> If I don't get it done by the end of next week, you can take ms> over. Does that sound acceptable? To be honest, that sounds disastrous to me. I think this is recipe for more of the same, and merely postpones the friction to a later date. Since nobody but the cognoscenti use or ask for this stuff at the moment, I don't see any hurry to implement this, or (upon cooler reflection) to remove Ben's --package-prefix. (I still think it's a kludge that Ben of all people would be ashamed of ;-), but it's pretty harmless.) I really really want a rationale document _first_, explaining what the "ideal" XEmacs installation looks like, and why it looks that way, and to what degree a "normal" installation may vary from the idea. I suspect many developers will be surprised by parts of it. Among other things, I'm currently playing with the idea of reviving the "last-packages" hierarchy for use by packages-in-source distribution. In general, I really think that there needs to be an published and documented API for manipulating XEmacs's idea of the package root, for use by installers and developers. -- Institute of Policy and Planning Sciences http://turnbull.sk.tsukuba.ac.jp University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN Ask not how you can "do" free software business; ask what your business can "do for" free software.