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: [ANNOUNCEMENT] Updated: bash-3.2.25-17


On Oct 19 09:46, Igor Peshansky wrote:
> On Fri, 19 Oct 2007, Eric Blake wrote:
> > According to Igor Peshansky on 10/19/2007 7:29 AM:
> > > I could, but the issue is more basic than where the script lives.  Right
> > > now Cygwin populates the /dev directory as a virtual directory within the
> > > DLL.  The script I'm talking about will make /dev a real directory, and
> > > the only thing Cygwin will deal with is devices.

I don't see the point.

> > > What the transition would entail is not clear to me.
> >
> > But the bash postinstall script already creates /dev as a real directory,
> > as of my release announcement; it just isn't very populated.  I think
> > making the script its own package in base, then making bash depend on that
> > package, would be worthwhile.

...and the syslog-ng-config as well as the syslogd-config scripts
also create /dev if it doesn't exist so that syslog-ng/syslogd can
create a /dev/log socket.

> Sorry, I was imprecise.  Whether /dev is a real directory or not is
> irrelevant.  However, the *files* in /dev are virtual, and therefore the
> command "mknod -m 666 c 1 3 /dev/null" will fail, because, as far as the
> Cygwin DLL is concerned, /dev/null already exists.
> 
> Plus, we might get into some ordering issues on when to run this script...

I'm under the impression you're thinking about this too complicated.
The script could be a postinstall script in the Base category, so it's
getting run automatically on install.

Cygwin itself does not depend on the existence of /dev, so there's no
problem with order or so.  For the virtual devices which are handled by
Cygwin you don't need to call mknod.  Just create empty files, like
this:

  $ touch `cygpath -am /dev`/null
  $ ls -l /dev/null
  crw-rw-rw- 1 corinna root 1, 3 Dec  1  2006 /dev/null

As you can see, Cygwin does never evaluate a DOS path as virtual device,
while it always evaluates the POSIX path into the virtual device.  Voila.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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