sysdb revision 1.23
11.1Slukem#!/bin/sh 21.1Slukem# 31.23Snakayama# $NetBSD: sysdb,v 1.23 2012/02/21 12:30:32 nakayama 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.20Sdyoungrcvar=$name 141.1Slukemstart_cmd="sysdb_start" 151.1Slukemstop_cmd=":" 161.16Schristosextra_commands="devdb utmp services netgroup password" 171.11Satatatdevdb_cmd="build_devdb" 181.11Satatatutmp_cmd="build_utmp" 191.16Schristosservices_cmd="build_services" 201.16Schristosnetgroup_cmd="build_netgroup" 211.16Schristospassword_cmd="build_password" 221.16Schristosecho=: 231.1Slukem 241.1Slukemsysdb_start() 251.1Slukem{ 261.16Schristos echo -n "Building databases:" 271.16Schristos echo=echo 281.16Schristos comma=" " 291.12Satatat $devdb_cmd 301.12Satatat $utmp_cmd 311.16Schristos $services_cmd 321.16Schristos $netgroup_cmd 331.16Schristos $password_cmd 341.22Smbalmer echo "." 351.16Schristos} 361.16Schristos 371.16Schristoscheck_file() 381.16Schristos{ 391.16Schristos local src="$1" 401.16Schristos local db="$2" 411.18Schristos 421.16Schristos shift 2 431.19Schristos if [ ! -e "$src" ]; then 441.18Schristos return 451.18Schristos fi 461.16Schristos if [ \( ! -f "$db" \) -o \( "$src" -nt "$db" \) ]; then 471.16Schristos $echo -n "$comma$(basename "$src")" 481.16Schristos comma=", " 491.16Schristos "$@" 501.16Schristos fi 511.16Schristos} 521.16Schristos 531.16Schristosbuild_services() 541.16Schristos{ 551.23Snakayama check_file /etc/services /var/db/services.cdb services_mkdb -q 561.16Schristos} 571.16Schristos 581.16Schristosbuild_netgroup() 591.16Schristos{ 601.17Schristos check_file /etc/netgroup /var/db/netgroup.db netgroup_mkdb 611.11Satatat} 621.4Slukem 631.11Satatatbuild_devdb() 641.11Satatat{ 651.16Schristos check_file /dev /var/run/dev.db dev_mkdb 661.16Schristos} 671.16Schristos 681.16Schristosbuild_password() 691.16Schristos{ 701.16Schristos local p=/etc/master.passwd 711.21Schristos check_file $p /etc/spwd.db pwd_mkdb -w $p 721.11Satatat} 731.11Satatat 741.11Satatatbuild_utmp() 751.11Satatat{ 761.10Sperry # Re-create /var/run/utmp and /var/run/utmpx, which are 771.10Sperry # deleted by mountcritlocal but can't be recreated by it 781.10Sperry # because install and chown may not be available then 791.10Sperry # (possibly no /usr). 801.4Slukem # 811.16Schristos local i 821.16Schristos for i in "" x; do 831.16Schristos if [ ! -f /var/run/utmp$i ]; then 841.16Schristos $echo -n "${comma}utmp$i" 851.16Schristos comma=", " 861.16Schristos install -c -m 664 -g utmp /dev/null /var/run/utmp$i 871.16Schristos fi 881.16Schristos done 891.1Slukem} 901.1Slukem 911.2Slukemload_rc_config $name 921.1Slukemrun_rc_command "$1" 93