delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/08/04/15:06:34

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <489752FE.B48FB69A@dessent.net>
Date: Mon, 04 Aug 2008 12:05:34 -0700
From: Brian Dessent <brian AT dessent DOT net>
X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: genisoimage and links. Problems?
References: <4896EA4E DOT 9060303 AT alice DOT it>
X-IsSubscribed: yes
Reply-To: cygwin AT cygwin DOT com
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019