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

Re: /usr/share/doc vs. /usr/doc transition, debate reopened



On Tue, Aug 03, 1999 at 10:56:22AM +0200, Kristoffer.Rose@ens-lyon.fr wrote:
> I proposed:
> 
> >> 1. REQUIRE that /usr/doc is a symlink to the FHS directory /usr/share/doc.
> 
> Joseph Carter replied:
> 
> > Breaks dpkg.  Propose it all you want, but it's not going to happen if you
> > don't provide the patch for dpkg to follow symlinks.  Either that or all
> > packages must be upgraded and Pre-depends: base-files (>= someversion).
> 
> <sarcasm reason="this was a rather abrupt dismissal"> Interesting.  I have
> been using symlinks at the directory level in this way for some years now,
> with dpkg, and nothing is broken yet.  Can you explain how dpkg breaks
> since I didn't notice? </sarcasm>

All right dammit, here we go...  built a package crap 1.0-1, here is the
listing:

/.
/usr
/usr/bin
/usr/sbin
/usr/lib
/usr/lib/crap
/usr/lib/crap/olddir
/usr/lib/crap/olddir/file
/usr/doc
/usr/doc/crap
/usr/doc/crap/changelog.Debian.gz

Now from /usr/lib/crap:

drwxr-xr-x   2 root     root         1024 Aug  3 02:15 olddir/
-rwxr-xr-x   1 root     root          633 Aug  3 02:14 olddir/file*

And then after I symlink it:

drwxr-xr-x   2 root     root         1024 Aug  3 02:15 newdir/
-rwxr-xr-x   1 root     root          633 Aug  3 02:14 newdir/file*
lrwxrwxrwx   1 root     root            7 Aug  3 02:19 olddir -> newdir//


Install crap 1.0-2 ...

/.
/usr
/usr/bin
/usr/sbin
/usr/lib
/usr/lib/crap
/usr/lib/crap/newdir
/usr/lib/crap/newdir/file
/usr/doc
/usr/doc/crap
/usr/doc/crap/changelog.Debian.gz

root@icarus2:/usr/lib/crap# ls -lR
.:
total 1
drwxr-xr-x   2 root     root         1024 Aug  3 02:21 newdir/

newdir:
total 0


Do you believe us yet?  What more proof do you possibly need?


> (Note that I am explicitly avoiding actually installing or deinstalling an
> actual symlink which dpkg thinks is a directory ... with my proposal this
> can, in fact, happen, but only if users deinstall all packages that refer
> to the /usr/doc directory which is rather unlikely.)

Does not matter.  dpkg breaks.  It has been now demonstrated and proven.


> > Your script also has a cow if /usr/doc isn't -> share/doc, which is bad
> > because it may be necessary to use some symlink magic at some point.  Not
> > that it isn't a moot point unless you fix dpkg first.
> 
> This was intentional ... and in fact the script will merely warn you if
> this is the case.  I was merely trying to KISS since this is a rather
> critical script.
> 
> More reactions welcome !

It exits with 1, that's an error condition.

-- 
Joseph Carter <knghtbrd@debian.org>             Debian GNU/Linux developer
GnuPG: 2048g/3F9C2A43 - 20F6 2261 F185 7A3E 79FC  44F9 8FF7 D7A3 DCF9 DAB3
PGP 2.6: 2048R/50BDA0ED - E8 D6 84 81 E3 A8 BB 77  8E E2 29 96 C9 44 5F BE
--------------------------------------------------------------------------
<lux> if macOS is for the computer illiterate, then windoze is for the
      computer masochists

Attachment: pgpoQVurexRYD.pgp
Description: PGP signature


Reply to: