sysdb revision 1.24
11.1Slukem#!/bin/sh 21.1Slukem# 31.24Sjoerg# $NetBSD: sysdb,v 1.24 2012/06/03 21:42:45 joerg 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.24Sjoerg check_file /dev /var/run/dev.cdb dev_mkdb 671.16Schristos} 681.16Schristos 691.16Schristosbuild_password() 701.16Schristos{ 711.16Schristos local p=/etc/master.passwd 721.21Schristos check_file $p /etc/spwd.db pwd_mkdb -w $p 731.11Satatat} 741.11Satatat 751.11Satatatbuild_utmp() 761.11Satatat{ 771.10Sperry # Re-create /var/run/utmp and /var/run/utmpx, which are 781.10Sperry # deleted by mountcritlocal but can't be recreated by it 791.10Sperry # because install and chown may not be available then 801.10Sperry # (possibly no /usr). 811.4Slukem # 821.16Schristos local i 831.16Schristos for i in "" x; do 841.16Schristos if [ ! -f /var/run/utmp$i ]; then 851.16Schristos $echo -n "${comma}utmp$i" 861.16Schristos comma=", " 871.16Schristos install -c -m 664 -g utmp /dev/null /var/run/utmp$i 881.16Schristos fi 891.16Schristos done 901.1Slukem} 911.1Slukem 921.2Slukemload_rc_config $name 931.1Slukemrun_rc_command "$1" 94