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: genisoimage and links. Problems?


Brian Dessent wrote:
> It seems perfectly expected to me.  When you burn the image and then
> attempt to read it on a Windows machine you're not going to see symlinks
> because Windows itself doesn't support symlinks.

Actually, NTFS does support symlinks, but unfortunately that
capability is not exposed in the Windows GUI. There's a command-line
tool from SysInternals that can manipulate them.

> Cygwin can only emulate symlinks by using these specially crafted .lnk
> files.  In order to be able to see the link as a symlink in Cygwin you'd
> have to create the iso image containing an actual .lnk file and not a
> real symlink.  Then the symlink in the .iso would then be unreadable as
> a symlink by every other OS like Linux or OS X.  You can do this by
> removing the R attribute from the .lnk file prior to calling
> genisoimage, which removes the 'specialness' of the .lnk file so that
> it's a regular file in the eyes of Cygwin, and it gets put in the .iso
> as such.  Since all files read off a CDROM have the R attribute, Cygwin
> will treat the .lnk file on the burned/mounted filesystem as a link.
>
> I don't think it would be a very good idea for genisoimage to do this by
> default because again the resulting .iso is Cygwin-specific, all other
> operating systems would see these useless .lnk files and no symlinks.

ISO9660, the base filesystem used on CD-ROMs (and the namesake of .iso
files), does not have native symlink support either. Symlinks are
added on top of the normal ISO9660 filesystem in the Rock Ridge
metadata, which also includes the UNIX-style long file names,
attributes, modes, etc. Microsoft does not support Rock Ridge, and
instead uses their own metadata format called Joliet, whick doesn't
have symlink support AFAIK.

Genisoimage is behaving like the Linux one and encoding the symlinks
in Rock Ridge. It seems to me that it should be possible to make
Cygwin read the Rock Ridge data from the CD, which should be
accessible by reading the CD in raw mode. However, implementing that
would require making Cygwin considerably more aware of hardware than
it is and thus probably won't happen.

-- Sam Hanes
elemecca AT gmail DOT com

Yes.
> Are you sure?
>> Because it reverses the logical flow of conversation.
>>> Why is replying above the quote annoying?

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


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