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 <[EMAIL PROTECTED]> <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: pgpC4ArJV0fs6.pgp
Description: PGP signature

Reply via email to