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/