I'm sorry, I didn't know where else to send this, but this is driving me
crazy, too, and I've figured it all out.

The udev init script parses links.conf and checks to see if each target
exists before creating it, using [.  The problem is that bash uses its
own builtin [ instead of the /usr/bin/[ binary, and it's reporting
/dev/std{in,out,err} as existing when they do not.

The reason for this is found very easily in bash_3.0-16.diff, where the
debian package differs from the original source by checking the file
descriptor instead of the file itself if the file in question is one of
/dev/stdin, stdout, or stderr.  Of course the file descriptor will
exist, but in this case, the files themselves do not, and their creation
is simply skipped over.

I'm not sure who wants to back down, either the bash maintainer by
removing this code, or the udev maintainer by manually hardcoding
/usr/bin/[ for the file tests, but something needs to be done.

I hope this helps,
Jacob Beacham


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to