sysdb revision 1.18
11.1Slukem#!/bin/sh 21.1Slukem# 31.18Schristos# $NetBSD: sysdb,v 1.18 2007/05/13 17:23:56 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.18Schristos 411.16Schristos shift 2 421.18Schristos if [ ! -f "$src" ]; then 431.18Schristos return 441.18Schristos fi 451.16Schristos if [ \( ! -f "$db" \) -o \( "$src" -nt "$db" \) ]; then 461.16Schristos $echo -n "$comma$(basename "$src")" 471.16Schristos comma=", " 481.16Schristos "$@" 491.16Schristos fi 501.16Schristos} 511.16Schristos 521.16Schristosbuild_services() 531.16Schristos{ 541.17Schristos check_file /etc/services /var/db/services.db services_mkdb -q 551.16Schristos} 561.16Schristos 571.16Schristosbuild_netgroup() 581.16Schristos{ 591.17Schristos check_file /etc/netgroup /var/db/netgroup.db netgroup_mkdb 601.11Satatat} 611.4Slukem 621.11Satatatbuild_devdb() 631.11Satatat{ 641.16Schristos check_file /dev /var/run/dev.db dev_mkdb 651.16Schristos} 661.16Schristos 671.16Schristosbuild_password() 681.16Schristos{ 691.16Schristos local p=/etc/master.passwd 701.16Schristos check_file $p /etc/spwd.db pwd_mkdb $p 711.11Satatat} 721.11Satatat 731.11Satatatbuild_utmp() 741.11Satatat{ 751.10Sperry # Re-create /var/run/utmp and /var/run/utmpx, which are 761.10Sperry # deleted by mountcritlocal but can't be recreated by it 771.10Sperry # because install and chown may not be available then 781.10Sperry # (possibly no /usr). 791.4Slukem # 801.16Schristos local i 811.16Schristos for i in "" x; do 821.16Schristos if [ ! -f /var/run/utmp$i ]; then 831.16Schristos $echo -n "${comma}utmp$i" 841.16Schristos comma=", " 851.16Schristos install -c -m 664 -g utmp /dev/null /var/run/utmp$i 861.16Schristos fi 871.16Schristos done 881.1Slukem} 891.1Slukem 901.2Slukemload_rc_config $name 911.1Slukemrun_rc_command "$1" 92