sysdb revision 1.11
11.1Slukem#!/bin/sh
21.1Slukem#
31.11Satatat# $NetBSD: sysdb,v 1.11 2002/10/08 16:21:52 atatat Exp $
41.1Slukem#
51.1Slukem
61.5Slukem# PROVIDE: sysdb
71.3Slukem# REQUIRE: mountcritremote
81.9Sthorpej# BEFORE:  DAEMON
91.1Slukem
101.1Slukem. /etc/rc.subr
111.1Slukem
121.1Slukemname="sysdb"
131.1Slukemstart_cmd="sysdb_start"
141.1Slukemstop_cmd=":"
151.11Satatatextra_commands="kvmdb devdb utmp"
161.11Satatatkvmdb_cmd="build_kvmdb"
171.11Satatatdevdb_cmd="build_devdb"
181.11Satatatutmp_cmd="build_utmp"
191.1Slukem
201.1Slukemsysdb_start()
211.1Slukem{
221.11Satatat	echo "Building databases..."
231.11Satatat	build_kvmdb
241.11Satatat	build_devdb
251.11Satatat	build_utmp
261.11Satatat}
271.11Satatat
281.11Satatatbuild_kvmdb()
291.11Satatat{
301.1Slukem	#	Build ps databases. If this kernel supports
311.1Slukem	#	machdep.booted_kernel, use that to build the KVM db so dmesg
321.1Slukem	#	will run work when we boot /netbsd.new, etc.
331.1Slukem	#
341.7Snisimura	booted_kernel=`sysctl -n machdep.booted_kernel 2>/dev/null`
351.8Slukem	kvm_mkdb "${booted_kernel:-/netbsd}"
361.11Satatat}
371.4Slukem
381.11Satatatbuild_devdb()
391.11Satatat{
401.11Satatat	if [ /var/run/dev.db -nt /dev ]; then
411.11Satatat		# it's fine
421.11Satatat	else
431.11Satatat		dev_mkdb
441.11Satatat	fi
451.11Satatat}
461.11Satatat
471.11Satatatbuild_utmp()
481.11Satatat{
491.10Sperry	#	Re-create /var/run/utmp and /var/run/utmpx, which are
501.10Sperry	#	deleted by mountcritlocal but can't be recreated by it
511.10Sperry	#	because install and chown may not be available then
521.10Sperry	#	(possibly no /usr).
531.4Slukem	#
541.4Slukem	install -c -m 664 -g utmp /dev/null /var/run/utmp
551.10Sperry	install -c -m 664 -g utmp /dev/null /var/run/utmpx
561.1Slukem}
571.1Slukem
581.2Slukemload_rc_config $name
591.1Slukemrun_rc_command "$1"
60