On Wed, Aug 18, 1999 at 04:25:48PM -0700, Chris Waters wrote: > First of all, I'm still not convinced that this is a technical issue, > as I mentioned in my objection to Manoj's proposal. "How do we keep all the documentation `together' while we physically move it from /usr/doc to /usr/share/doc?" That's the technical question. The question "Do we want to?" (presumably answered "Yes, if at all possible") otoh, is definitely an aesthetic question. I presume you don't disagree with my answer, though? It may well not be possible, but so far at least, the symlinks idea (Bug#40706) seems to have no major problems. > Oh, and I did point out a couple of very minor, but still ACTUALLY > TECHNICAL objections to Manoj's proposal. Executive summary: symlinks > have limitations, and if we add an extra layer of symlinks, we > increase the (admittedly minor) risk of bumping up against those > limitations. "Symlinks have limitations. Therefore we shouldn't use symlinks." This doesn't seem a particularly useful objection, but for the sake of fair and open debate, the following script presumably triggers the interesting behaviour: #!/bin/sh rm -rf ? foo l? last='' for x in a b c d e f g h i j; do mkdir $x ln -s $x l$x if [ $last ]; then ln -s ../l$last/$last $x/$x else echo "OK" >foo ln -s .. $x/$x fi last=$x echo -n "$x: "; cat $x/$x/foo 2>&1 done It creates a directory structure like: foo a/ a/a -> .. la -> a b/ b/b -> ../la/a lb -> b c/ c/c -> ../lb/b lc -> c and then tries catting a/a/foo, b/b/foo, c/c/foo, etc. Under 2.2.10: a: OK b: OK c: OK d: OK e: OK f: cat: f/f/foo: Too many levels of symbolic links Under 2.0.33: a: OK b: OK c: OK d: OK e: OK f: OK g: cat: g/g/foo: Too many levels of symbolic links I can't invent an even vaguely realistic situation where this could come up in normal use. So I don't think there's any point stressing about how changing /usr/doc might impact it. I'm also inclined to suspect that using /usr/doc/foo -> /usr/share/doc/foo is less likely to have issues with pending symlinks than /usr/doc -> /usr/share/doc is: * symlinks to things like doc/foo/bar will cause pending symlinks for both. eg, /home/aj/cruft.readme -> /usr/doc/cruft/README.gz will have one additional pending link for each of /usr, /usr/doc and /usr/doc/cruft that are symlinks. * symlinks to doc/foo will cause pending symlinks for the latter (/usr/doc -> /usr/share/doc) only, eg, /home/aj/cruft-doc -> /usr/doc/cruft * the common case, symlinks from foo-dev to foo within the doc directory won't cause pending symlinks in any case, eg /usr/doc/kbd -> kbd-data Or, at least, that's what it seems like to me. Cheers, aj -- Anthony Towns <aj@humbug.org.au> <http://azure.humbug.org.au/~aj/> I don't speak for anyone save myself. PGP encrypted mail preferred. ``The thing is: trying to be too generic is EVIL. It's stupid, it results in slower code, and it results in more bugs.'' -- Linus Torvalds
Attachment:
pgpAtHm71MWWr.pgp
Description: PGP signature