Subject: CVS commit: src
To: None <source-changes@NetBSD.org>
From: Luke Mewburn <lukem@netbsd.org>
List: source-changes
Date: 12/21/2003 17:37:26
Module Name:	src
Committed By:	lukem
Date:		Sun Dec 21 17:37:26 UTC 2003

Modified Files:
	src/distrib/common: Makefile.makedev
	src/etc: MAKEDEV.tmpl
	src/etc/etc.acorn32: MAKEDEV.conf
	src/etc/etc.alpha: MAKEDEV.conf
	src/etc/etc.amiga: MAKEDEV.conf
	src/etc/etc.arc: MAKEDEV.conf
	src/etc/etc.atari: MAKEDEV.conf
	src/etc/etc.cats: MAKEDEV.conf
	src/etc/etc.evbppc: MAKEDEV.conf
	src/etc/etc.hp300: MAKEDEV.conf
	src/etc/etc.hpcarm: MAKEDEV.conf
	src/etc/etc.luna68k: MAKEDEV.conf
	src/etc/etc.mac68k: MAKEDEV.conf
	src/etc/etc.macppc: MAKEDEV.conf
	src/etc/etc.mvme68k: MAKEDEV.conf
	src/etc/etc.pc532: MAKEDEV.conf
	src/etc/etc.pmax: MAKEDEV.conf
	src/etc/etc.sparc: MAKEDEV.conf
	src/etc/etc.sparc64: MAKEDEV.conf
	src/etc/etc.sun2: MAKEDEV.conf
	src/etc/etc.sun3: MAKEDEV.conf
	src/etc/etc.vax: MAKEDEV.conf
	src/etc/etc.x68k: MAKEDEV.conf
Removed Files:
	src/distrib/common: MAKEDEV.wrapper makedev2spec.awk

Log Message:
Rework MAKEDEV:

    *	Use "mknod -F netbsd -r" to create nodes, instead of
	"rm ; mknod; chmod; chown".
	This means permissions & ownership of existing nodes will
	not be changed.
	This is up to 30% faster when populating an empty /dev,
	and nearly 2x faster when re-running on an existing /dev.

    *	New options:
    	-f		force change of permission & ownership of existing
			devices
    	-m mknod	override name/path of mknod program
			(which defaults to $TOOL_MKNOD, then "mknod").
	-s		generate mtree(8) specfile instead of creating devices

    *	Remove /usr/etc from $PATH; not needed anymore.

    *	Provide functions to create devices & directories:
	    mkdev name [b|c] major minor [mode{=600} [gid{=0} [uid{=0}]]]
		create device node `name' with the appropriate permissions
	    lndev src target
		create a symlink from src to target
	    makedir dir mode
		create directory with appropriate mode

    *	UIDs and GIDs are hardcoded in at MAKEDEV generation time.
	(Unfortunately there's not a simple way of determining a GID
	a la "id -n user" for determining a UID).

This was tested by generating MAKEDEV for each MACHINE,MACHINE_ARCH
combination and comparing the results of "MAKEDEV all" from the
previous version to the new one.
(This testing actually highlighted mistakes in the previous configuration!)

Simplify distrib/common/Makefile.makedev to use "MAKEDEV -s"


To generate a diff of this commit:
cvs rdiff -r1.2 -r0 src/distrib/common/MAKEDEV.wrapper
cvs rdiff -r1.7 -r1.8 src/distrib/common/Makefile.makedev
cvs rdiff -r1.3 -r0 src/distrib/common/makedev2spec.awk
cvs rdiff -r1.14 -r1.15 src/etc/MAKEDEV.tmpl
cvs rdiff -r1.4 -r1.5 src/etc/etc.acorn32/MAKEDEV.conf
cvs rdiff -r1.4 -r1.5 src/etc/etc.alpha/MAKEDEV.conf
cvs rdiff -r1.5 -r1.6 src/etc/etc.amiga/MAKEDEV.conf
cvs rdiff -r1.3 -r1.4 src/etc/etc.arc/MAKEDEV.conf
cvs rdiff -r1.5 -r1.6 src/etc/etc.atari/MAKEDEV.conf
cvs rdiff -r1.4 -r1.5 src/etc/etc.cats/MAKEDEV.conf
cvs rdiff -r1.2 -r1.3 src/etc/etc.evbppc/MAKEDEV.conf
cvs rdiff -r1.7 -r1.8 src/etc/etc.hp300/MAKEDEV.conf
cvs rdiff -r1.4 -r1.5 src/etc/etc.hpcarm/MAKEDEV.conf
cvs rdiff -r1.3 -r1.4 src/etc/etc.luna68k/MAKEDEV.conf
cvs rdiff -r1.4 -r1.5 src/etc/etc.mac68k/MAKEDEV.conf
cvs rdiff -r1.3 -r1.4 src/etc/etc.macppc/MAKEDEV.conf
cvs rdiff -r1.4 -r1.5 src/etc/etc.mvme68k/MAKEDEV.conf
cvs rdiff -r1.3 -r1.4 src/etc/etc.pc532/MAKEDEV.conf
cvs rdiff -r1.3 -r1.4 src/etc/etc.pmax/MAKEDEV.conf
cvs rdiff -r1.6 -r1.7 src/etc/etc.sparc/MAKEDEV.conf
cvs rdiff -r1.5 -r1.6 src/etc/etc.sparc64/MAKEDEV.conf
cvs rdiff -r1.3 -r1.4 src/etc/etc.sun2/MAKEDEV.conf
cvs rdiff -r1.3 -r1.4 src/etc/etc.sun3/MAKEDEV.conf
cvs rdiff -r1.4 -r1.5 src/etc/etc.vax/MAKEDEV.conf
cvs rdiff -r1.5 -r1.6 src/etc/etc.x68k/MAKEDEV.conf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.