:Sigh. You're right. FWIW I collected some data on the errors -- I hope
:someone gets an idea from it:
:
:First, the 'MAKEDEV all' target has more than forty lines in it, but all
:of my errors occurred in just the first two lines:
:
:all)
: sh MAKEDEV std # standard
: sh MAKEDEV fd0 fd1 # bdev, floppy disk
:
:Each device in the 'std' group was created with perms of 600, which
I haven't been able to reproduce this at all. Are you using a
GCC-2.95.x or GCC-3.x based world/kernel? If you are using 3.x,
try a 2.95.x kernel.
Also, if you are using a non-default locale try clearing that.
I am looking through the /bin/sh and libc changes over the last
month but so far no luck. I will also look at the chown and chmod
syscall code.
:happens to be correct for the first device (console). Now, if I
:just do a mknod by hand the default perms come out 644, so I conclude
:from this that MAKDEV did actually change the perms on *each* device
:to 600 after creating it as 644. Does this sound right?
MAKEDEV is a script, just vi it :-). Yes, MAKEDEV chmod's right
after creating the node with mknod.
:The errors were different in the second group, the floppies:
:each device of the type fd0.1200 (for example) was created with the
:wrong ownership (root:wheel instead of root:operator) but the perms
:were correct.
:...
:
:Note the change of ownership appears on the next line and it seems
:to have been ignored. Dunno if that's just coincidence or not.
:
:Wish I could find a way to create the problem reliably, but it
:seems entirely random so far. Seems almost like sh goes insane
:temporarily :o/
-Matt
Matthew Dillon
<dillon@backplane.com>