X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Fri, 19 Oct 2007 17:43:42 +0200 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: [ANNOUNCEMENT] Updated: bash-3.2.25-17 Message-ID: <20071019154342.GL20400@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20071019080115 DOT GF20400 AT calimero DOT vinschen DOT de> <4718B2C1 DOT 2090308 AT byu DOT net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.16 (2007-06-09) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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/