This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Symlinks and sharing a home directory between Windows and Linux


On 12/15/2011 6:47 PM, Andrew DeFaria wrote:
On 12/14/2011 2:32 PM, Andrew DeFaria wrote:
On 12/14/2011 12:14 PM, Buchbinder, Barry (NIH/NIAID) [E] wrote:
Might CYGWIN=winsymlinks help?
http://cygwin.com/cygwin-ug-net/using-cygwinenv.html
I don't see how. I think that I need the .lnk portion of the file. It's
not clear to me from that link's description that setting winsymlinks
gives me .lnk.

Hmmm... Just tested. Ah yes! The winsymlinks seems to do the trick! Thanks!
More:
http://cygwin.com/faq/faq-nochunks.html#faq.using.symlinkstoppedworking
http://cygwin.com/faq/faq-nochunks.html#faq.api.symlinks

Thanks for the references...
I'm not sure this is working as well as I had hoped (or remembered). I think
the question boils down to, given a Unix symlink of say .bash_login and a
Cygwin symlink of say .bash_login.lnk, which does Cygwin read when logging
it? I would have hoped that Cygwin would always see the .lnk file whereas
Unix would see the regular symlink. That's how I thought this worked before.
But it doesn't seem to be working that way. In fact I see:

$ ls -l .bash*
-rw-r--r-- 1 adefaria clearusers 7179 Dec 15 15:35 .bash_history
-rw-r--r-- 1 adefaria clearusers 29 Dec 15 14:36 .bash_login
-rw-r--r-- 1 adefaria clearusers 29 Dec 15 14:36 .bash_login
-rw-r--r-- 1 adefaria clearusers 29 Dec 15 14:36 .bashrc
-rw-r--r-- 1 adefaria clearusers 29 Dec 15 14:36 .bashrc

When I login bash see the Unix formated .bash_login symlink and chokes. I
can remove this Unix symlink from the Unix side and log in with bash again
and it works. If I remake the symlink on the Unix side it fails! :-(

I don't remember this being a problem before. I fear this is a Samba config
thing...

Note: CYGWIN has winsymlinks in it...

I'm having difficulty seeing how what you have described could work unless the consumers of these files are looking for symlinks only, which your example above contradicts. And both of the ".bashrc" files are registering as plain files, so I think you're right that the file system on which they reside is coming into play, assuming the output above is from Cygwin's 'ls'. But even if you had ".bashrc" and ".bashrc.lnk" with the former being a UNIX-form of symlink and the latter being the Cygwin one, I'd still expect Cygwin to recognize ".bashrc" first and only go looking for the .lnk version if it couldn't find that. The output of strace may convince you of that as well. ;-) It might actually work as you describe it though if you can get Cygwin to think that it can't open the former. I could see that being the case if the UNIX symlink was created by a user ID Cygwin didn't recognize, for example.

--
Larry

_____________________________________________________________________

A: Yes.
> Q: Are you sure?
>> A: Because it reverses the logical flow of conversation.
>>> Q: Why is top posting annoying in email?

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]