[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Moving to the FHS: not right now!



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


Reply to: