summaryrefslogtreecommitdiff
path: root/etc/rc.d/sysdb
blob: 8dd6890aa5cf3b7756e0fd67ecb9d00c8cf346f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/sh
#
# $NetBSD: sysdb,v 1.13 2003/05/11 18:17:30 ragge Exp $
#

# PROVIDE: sysdb
# REQUIRE: mountcritremote
# BEFORE:  DAEMON

. /etc/rc.subr

name="sysdb"
start_cmd="sysdb_start"
stop_cmd=":"
extra_commands="devdb utmp"
devdb_cmd="build_devdb"
utmp_cmd="build_utmp"

sysdb_start()
{
	echo "Building databases..."
	$devdb_cmd
	$utmp_cmd
}

build_devdb()
{
	if [ /var/run/dev.db -nt /dev ]; then
		# it's fine
	else
		dev_mkdb
	fi
}

build_utmp()
{
	#	Re-create /var/run/utmp and /var/run/utmpx, which are
	#	deleted by mountcritlocal but can't be recreated by it
	#	because install and chown may not be available then
	#	(possibly no /usr).
	#
	install -c -m 664 -g utmp /dev/null /var/run/utmp
	install -c -m 664 -g utmp /dev/null /var/run/utmpx
}

load_rc_config $name
run_rc_command "$1"