Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Aug 2002 13:41:15 +0200 (CEST)
From:      Bart Smit <bit@signature.nl>
To:        freebsd-stable@freebsd.org
Subject:   symlink weirdness
Message-ID:  <20020805124618.X62749-100000@localhost>

next in thread | raw e-mail | index | archive | help

Any kind soul willing to comment on the following?

- Running 4.6-STABLE plus ports of 2002.08.04.00.00.00
- Did a portupgrade -N cvsup-mirror
- Installing seemed ok, but running the client yielded:
   Nonexistent prefix "/usr/local/etc/cvsup/prefixes/FreeBSD.cvs" for cvs-all/cvs"
- Starting the server and connecting to it made it tell me it didn't have
  src-all, or ports-all, or anything else I tried.

Some investigation showed that /usr/local/etc/cvsup/prefixes had:

 lrwxr-x---  1 root  wheel  10 Aug  5 08:40 FreeBSD.cvs -> /home/ncvs
 lrwxr-x---  1 root  wheel   2 Aug  5 08:40 distrib.self -> ..

Changing this to...

 lrwxr-xr-x  1 root  wheel  10 Aug  5 08:40 FreeBSD.cvs -> /home/ncvs
 lrwxr-xr-x  1 root  wheel   2 Aug  5 08:40 distrib.self -> ..

...fixed the problem (!).

Apparently my umask of 0027 badly interfered with something in the port
install and/or the cvsup program. Quite amazing since symlinks are not
even supposed to have file modes. At least that is what chmod(1) tells me
and chmod certainly doesn't have a mechanism to change them. So changing
them anyway meant deleting the links, changing my umask, and re-creating
the links.

I've tested symlinks and permissions 'by hand' in various ways but
haven't been able to recreate any situation in which the
permissions of the symlink made any difference to accessibility of the
linkee.

So why is it that cvsup depends on the file modes of symlinks where
nothing else seems to depend on them? Does this maybe indicate an
underlying problem somewhere else?

Some possibilities (not mutually exclusive) that I came up with:

1 - something is wrong with cvsup. I looked at the code and stumbled upon
    possibility two:
2 - something is wrong with the modula 'Pathname' thingy that cvsup seems
    to use to check for validity before it gives that error message.
3 - or maybe something subtle is wrong with the way symlinks are handled
    by the OS. At least conceptually they're not completely without
    confusion.
4 - or something is wrong with my perception (perhaps this should even
    have been number one)

I'm not much of a programmer, and certainly not in modula. I have been
skimming through the source of cvsup and the PathnamePosix library module
to see if I would understand what was going on, but I'm afraid my mind
doesn't fit around all of it. Anyone else?

regards,

--Bart


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020805124618.X62749-100000>