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

2011-12-20 Thread Larry Hall (Cygwin)

On 12/16/2011 11:46 AM, Jon Clugston wrote:

On Fri, Dec 16, 2011 at 11:20 AM, Andrew DeFariaand...@defaria.com  wrote:

On 12/15/2011 07:40 PM, Larry Hall (Cygwin) wrote:


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.


I would think that Cygwin should see the .lnk version first. No? I guess
not. I thought it worked that way before.


This would be a performance disaster - forcing a check for 'x.lnk'
every time the software tried to access file 'x'.  I doubt that it
worked that way before.


Correct.  It did not work this way for the reason you stated.

--
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



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

2011-12-16 Thread Andrew DeFaria

On 12/15/2011 07:40 PM, Larry Hall (Cygwin) wrote:
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.
I would think that Cygwin should see the .lnk version first. No? I guess 
not. I thought it worked that way before.
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.
I've backed off to using hardlinks which work on both systems but it 
doesn't work for directories.

--
Andrew DeFaria http://defaria.com
Accept that some days you're the pigeon, and some days you're the statue.


--
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



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

2011-12-16 Thread Jon Clugston
On Fri, Dec 16, 2011 at 11:20 AM, Andrew DeFaria and...@defaria.com wrote:
 On 12/15/2011 07:40 PM, Larry Hall (Cygwin) wrote:

 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.

 I would think that Cygwin should see the .lnk version first. No? I guess
 not. I thought it worked that way before.

This would be a performance disaster - forcing a check for 'x.lnk'
every time the software tried to access file 'x'.  I doubt that it
worked that way before.



 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.

 I've backed off to using hardlinks which work on both systems but it doesn't
 work for directories.
 --
 Andrew DeFaria http://defaria.com
 Accept that some days you're the pigeon, and some days you're the statue.


 --
 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


--
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



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

2011-12-15 Thread Andrew DeFaria

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...
--
Andrew DeFaria http://defaria.com
Law of Probability Dispersal: Whatever it is that hits the fan will not 
be evenly distributed.



--
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



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

2011-12-15 Thread Larry Hall (Cygwin)

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



Symlinks and sharing a home directory between Windows and Linux

2011-12-14 Thread Andrew DeFaria
I like having only one home directory. It's extremely convenient to have 
the same settings and the like both when on Cygwin and when on Linux.


Often home directories are on NAS's and the like and served out via smb.

Somewhere along the line Cygwin's symlink implementation changed again. 
It used to be that symlinks ended in .lnk, which was sort of a pain but 
workable. One nice thing is that they didn't clash with Linux symlinks. 
A Cygwin symlink is not the same as a Linux symlink and so you could have:


$ ln -s a_file.txt link1 # in Cygwin
$ ln -s a_file.txt link1 # in Linux

and you'd end up having a symlink with the same name, link1, pointing to 
the same file from either Cygwin or Linux. This is because the Linux 
symlink is named just link1 and the Cygwin symlink is named link1.txt.


But now Cygwin names its symlink link1. When you then log into Linux 
and try to access that link it doesn't work.


Where this is happening for me is that I put all of my rc files under 
~/.rc and then I symlink them to ~ as appropriate. So, for example I 
have a ~/.rc/inputrc. I then symlink them to ~/.inputrc. Under the old 
scenario I'd get a ~/.inputrc.lnk for Cygwin and a ~/.inputrc on Linux. 
Under the new scenario I get a clash.


Is there any way around this?


--
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



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

2011-12-14 Thread Jeremy Bopp
On 12/14/2011 01:33 PM, Andrew DeFaria wrote:
 I like having only one home directory. It's extremely convenient to have
 the same settings and the like both when on Cygwin and when on Linux.
 
 Often home directories are on NAS's and the like and served out via smb.
 
 Somewhere along the line Cygwin's symlink implementation changed again.
 It used to be that symlinks ended in .lnk, which was sort of a pain but
 workable. One nice thing is that they didn't clash with Linux symlinks.
 A Cygwin symlink is not the same as a Linux symlink and so you could have:
 
 $ ln -s a_file.txt link1 # in Cygwin
 $ ln -s a_file.txt link1 # in Linux
 
 and you'd end up having a symlink with the same name, link1, pointing to
 the same file from either Cygwin or Linux. This is because the Linux
 symlink is named just link1 and the Cygwin symlink is named link1.txt.
 
 But now Cygwin names its symlink link1. When you then log into Linux
 and try to access that link it doesn't work.
 
 Where this is happening for me is that I put all of my rc files under
 ~/.rc and then I symlink them to ~ as appropriate. So, for example I
 have a ~/.rc/inputrc. I then symlink them to ~/.inputrc. Under the old
 scenario I'd get a ~/.inputrc.lnk for Cygwin and a ~/.inputrc on Linux.
 Under the new scenario I get a clash.
 
 Is there any way around this?

Would a hard link work instead?

-Jeremy

--
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



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

2011-12-14 Thread Buchbinder, Barry (NIH/NIAID) [E]
Jeremy Bopp sent the following at Wednesday, December 14, 2011 3:01 PM
On 12/14/2011 01:33 PM, Andrew DeFaria wrote:
 I like having only one home directory. It's extremely convenient to have
 the same settings and the like both when on Cygwin and when on Linux.

 Often home directories are on NAS's and the like and served out via smb.

 Somewhere along the line Cygwin's symlink implementation changed again.
 It used to be that symlinks ended in .lnk, which was sort of a pain but
 workable. One nice thing is that they didn't clash with Linux symlinks.
 A Cygwin symlink is not the same as a Linux symlink and so you could have:

 $ ln -s a_file.txt link1 # in Cygwin
 $ ln -s a_file.txt link1 # in Linux

 and you'd end up having a symlink with the same name, link1, pointing to
 the same file from either Cygwin or Linux. This is because the Linux
 symlink is named just link1 and the Cygwin symlink is named link1.txt.

 But now Cygwin names its symlink link1. When you then log into Linux
 and try to access that link it doesn't work.

 Where this is happening for me is that I put all of my rc files under
 ~/.rc and then I symlink them to ~ as appropriate. So, for example I
 have a ~/.rc/inputrc. I then symlink them to ~/.inputrc. Under the old
 scenario I'd get a ~/.inputrc.lnk for Cygwin and a ~/.inputrc on Linux.
 Under the new scenario I get a clash.

 Is there any way around this?

Would a hard link work instead?

Might CYGWIN=winsymlinks help?
http://cygwin.com/cygwin-ug-net/using-cygwinenv.html
More:
http://cygwin.com/faq/faq-nochunks.html#faq.using.symlinkstoppedworking
http://cygwin.com/faq/faq-nochunks.html#faq.api.symlinks

Good luck.

- Barry
  Disclaimer: Statements made herein are not made on behalf of NIAID.



--
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



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

2011-12-14 Thread Andrew DeFaria

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...
--
Andrew DeFaria http://defaria.com
Never argue with a fool; he will soon beat you with his experience.


--
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