sysdb revision 1.17
11.1Slukem#!/bin/sh 21.1Slukem# 31.17Schristos# $NetBSD: sysdb,v 1.17 2007/05/10 17:45:50 christos Exp $ 41.1Slukem# 51.1Slukem 61.5Slukem# PROVIDE: sysdb 71.3Slukem# REQUIRE: mountcritremote 81.9Sthorpej# BEFORE: DAEMON 91.1Slukem 101.14Smycroft$_rc_subr_loaded . /etc/rc.subr 111.1Slukem 121.1Slukemname="sysdb" 131.1Slukemstart_cmd="sysdb_start" 141.1Slukemstop_cmd=":" 151.16Schristosextra_commands="devdb utmp services netgroup password" 161.11Satatatdevdb_cmd="build_devdb" 171.11Satatatutmp_cmd="build_utmp" 181.16Schristosservices_cmd="build_services" 191.16Schristosnetgroup_cmd="build_netgroup" 201.16Schristospassword_cmd="build_password" 211.16Schristosecho=: 221.1Slukem 231.1Slukemsysdb_start() 241.1Slukem{ 251.16Schristos echo -n "Building databases:" 261.16Schristos echo=echo 271.16Schristos comma=" " 281.12Satatat $devdb_cmd 291.12Satatat $utmp_cmd 301.16Schristos $services_cmd 311.16Schristos $netgroup_cmd 321.16Schristos $password_cmd 331.16Schristos echo " done" 341.16Schristos} 351.16Schristos 361.16Schristoscheck_file() 371.16Schristos{ 381.16Schristos local src="$1" 391.16Schristos local db="$2" 401.16Schristos shift 2 411.16Schristos if [ \( ! -f "$db" \) -o \( "$src" -nt "$db" \) ]; then 421.16Schristos $echo -n "$comma$(basename "$src")" 431.16Schristos comma=", " 441.16Schristos "$@" 451.16Schristos fi 461.16Schristos} 471.16Schristos 481.16Schristosbuild_services() 491.16Schristos{ 501.17Schristos check_file /etc/services /var/db/services.db services_mkdb -q 511.16Schristos} 521.16Schristos 531.16Schristosbuild_netgroup() 541.16Schristos{ 551.17Schristos check_file /etc/netgroup /var/db/netgroup.db netgroup_mkdb 561.11Satatat} 571.4Slukem 581.11Satatatbuild_devdb() 591.11Satatat{ 601.16Schristos check_file /dev /var/run/dev.db dev_mkdb 611.16Schristos} 621.16Schristos 631.16Schristosbuild_password() 641.16Schristos{ 651.16Schristos local p=/etc/master.passwd 661.16Schristos check_file $p /etc/spwd.db pwd_mkdb $p 671.11Satatat} 681.11Satatat 691.11Satatatbuild_utmp() 701.11Satatat{ 711.10Sperry # Re-create /var/run/utmp and /var/run/utmpx, which are 721.10Sperry # deleted by mountcritlocal but can't be recreated by it 731.10Sperry # because install and chown may not be available then 741.10Sperry # (possibly no /usr). 751.4Slukem # 761.16Schristos local i 771.16Schristos for i in "" x; do 781.16Schristos if [ ! -f /var/run/utmp$i ]; then 791.16Schristos $echo -n "${comma}utmp$i" 801.16Schristos comma=", " 811.16Schristos install -c -m 664 -g utmp /dev/null /var/run/utmp$i 821.16Schristos fi 831.16Schristos done 841.1Slukem} 851.1Slukem 861.2Slukemload_rc_config $name 871.1Slukemrun_rc_command "$1" 88