genisoimage and links. Problems?
Brian Dessent
brian@dessent.net
Mon Aug 4 19:06:00 GMT 2008
Angelo Graziosi wrote:
> Burning 'dati-1.iso' or unpacking it shows:
>
> $ ls -lrt test/
> totale 1
> -rwx------+ 1 graziosi Nessuno 77 Jun 11 23:00 hello.c
> -rwx------+ 1 graziosi Nessuno 0 Jun 11 23:00 hello
>
> Is this behaviour to be expected, have I missed something or are there
> problems with the Cygwin port of 'genisoimage'?
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. Cygwin can't change
that, because it has no control over the filesystem drivers of Windows
-- if Windows returns the symlink as a regular 0 byte file there's
nothing Cygwin can do to make it back into a symlink.
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.
Brian
--
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/
More information about the Cygwin
mailing list