Makefile.yp revision 1.16
11.16Schristos# $NetBSD: Makefile.yp,v 1.16 2001/07/03 18:15:06 christos Exp $ 21.1Sthorpej# 31.1Sthorpej# This is the YP Makefile, used to create and push YP maps. 41.1Sthorpej# 51.1Sthorpej 61.5Slukem# Invoke with NOPUSH != "" to prevent the maps from being yppushed upon rebuild 71.5Slukem# 81.5SlukemNOPUSH?= "" 91.5Slukem 101.5Slukem# Password maps in standard YP are insecure, because the pw_passwd 111.15Swiz# field is accessible by any user. FreeBSD, NetBSD and OpenBSD have 121.5Slukem# a common solution: a secure map (generated with makedbm -s) can 131.5Slukem# only be accessed by a client bound to a privileged port. 141.5Slukem# 151.8Slukem# Uncomment out the following if you need compatibility with 161.8Slukem# sites that don't support this feature. 171.7Slukem# 181.8Slukem#INSECURE?= yes 191.5Slukem 201.11Schristos# In addition, by adding shadow to the list of rules we support 211.11Schristos# linux and solaris type shadow maps. 221.5Slukem 231.5SlukemYPDBDIR= /var/yp 241.5SlukemDIR= /etc 251.5SlukemAMDDIR= /etc/amd 261.5SlukemDOMAIN= "`/usr/bin/basename ${.CURDIR}`" 271.5Slukem 281.5SlukemAWK= /usr/bin/awk 291.5SlukemCAT= /bin/cat 301.5SlukemCP= /bin/cp 311.5SlukemCUT= /usr/bin/cut 321.5SlukemECHO= /bin/echo 331.5SlukemMAKEDBM= /usr/sbin/makedbm 341.5SlukemMAKEDBM_S= ${MAKEDBM} -s 351.5SlukemMKALIAS= /usr/sbin/mkalias 361.5SlukemMKNETID= /usr/sbin/mknetid 371.5SlukemREVNETGROUP= /usr/sbin/revnetgroup 381.5SlukemRM= /bin/rm 391.5SlukemSED= /usr/bin/sed 401.5SlukemSENDMAIL= /usr/sbin/sendmail 411.9SabsSORT= /usr/bin/sort 421.5SlukemSTDETHERS= /usr/sbin/stdethers 431.5SlukemSTDHOSTS= /usr/sbin/stdhosts 441.5SlukemTOUCH= /usr/bin/touch 451.5SlukemYPPUSH= /usr/sbin/yppush 461.5Slukem 471.1Sthorpej 481.2Sthorpej# We have a rule for ypservers, but we don't build it by default, since 491.2Sthorpej# it seldom changes (only when slaves are added/deleted). 501.2Sthorpej 511.10Sitojunall: passwd aliases amd.home ethers group hosts ipnodes netgroup networks rpc services protocols netid 521.5Slukem 531.16Schristos__makedbmesc: .USEBEFORE 541.16Schristos if [ -f ${.ALLSRC} ]; then \ 551.16Schristos ${SED} -e "s/#.*$$//" ${.ALLSRC} | \ 561.16Schristos ${AWK} '{ \ 571.16Schristos if (NF == 0) \ 581.16Schristos printf("\n"); \ 591.16Schristos else { \ 601.16Schristos for (i = 1; i <= NF; i++) { \ 611.16Schristos if (i == NF) { \ 621.16Schristos if (substr($$i, length($$i), 1) == "\\") { \ 631.16Schristos printf("%s", substr($$i, 1, \ 641.16Schristos length($$i) - 1)); \ 651.16Schristos } else \ 661.16Schristos printf("%s\n", $$i); \ 671.16Schristos } else \ 681.16Schristos printf("%s ", $$i); \ 691.16Schristos } \ 701.16Schristos } \ 711.16Schristos }' | \ 721.16Schristos ${SED} -e "/^[ \t]*$$/d" | \ 731.16Schristos ${SORT} | ${MAKEDBM} - ${.ALLSRC:T}; \ 741.16Schristos fi 751.5Slukem 761.5Slukempasswd.time: ${DIR}/master.passwd 771.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 781.5Slukem umask 077 ; \ 791.5Slukem if [ "${INSECURE}" != "yes" ]; then \ 801.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 | \ 811.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 821.5Slukem { print $$1, $$1":*:"$$3":"$$4":"$$5":"$$6":"$$7 }' -|\ 831.9Sabs ${SORT} | ${MAKEDBM} - passwd.byname; \ 841.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 |\ 851.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 861.5Slukem { print $$3, $$1":*:"$$3":"$$4":"$$5":"$$6":"$$7 }' -|\ 871.9Sabs ${SORT} | ${MAKEDBM} - passwd.byuid; \ 881.5Slukem else \ 891.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 | \ 901.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 911.9Sabs { print $$1, $$0 }' - | ${SORT} | \ 921.9Sabs ${MAKEDBM} - passwd.byname; \ 931.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 |\ 941.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 951.9Sabs { print $$3, $$0 }' - | ${SORT} | \ 961.9Sabs ${MAKEDBM} - passwd.byuid; \ 971.5Slukem fi; \ 981.5Slukem ${CAT} ${.ALLSRC} | \ 991.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1001.9Sabs { print $$1, $$0 }' - | ${SORT} | \ 1011.9Sabs ${MAKEDBM_S} - master.passwd.byname; \ 1021.5Slukem ${CAT} ${.ALLSRC} | \ 1031.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1041.9Sabs { print $$3, $$0 }' - | ${SORT} | \ 1051.9Sabs ${MAKEDBM_S} - master.passwd.byuid; \ 1061.5Slukem ${TOUCH} ${.TARGET}; \ 1071.5Slukem ${ECHO} "updated passwd"; \ 1081.5Slukem if [ ! ${NOPUSH} ]; then \ 1091.5Slukem ${YPPUSH} -d ${DOMAIN} passwd.byname; \ 1101.5Slukem ${YPPUSH} -d ${DOMAIN} passwd.byuid; \ 1111.5Slukem ${YPPUSH} -d ${DOMAIN} master.passwd.byname; \ 1121.5Slukem ${YPPUSH} -d ${DOMAIN} master.passwd.byuid; \ 1131.5Slukem ${ECHO} "pushed passwd"; \ 1141.5Slukem else \ 1151.5Slukem : ; \ 1161.5Slukem fi \ 1171.5Slukem else \ 1181.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1191.5Slukem fi 1201.5Slukem 1211.11Schristos# XXX: This does not do modify/expire time correctly. 1221.11Schristosshadow.time: ${DIR}/master.passwd 1231.11Schristos -@if [ -f ${.ALLSRC} ]; then \ 1241.11Schristos umask 077 ; \ 1251.11Schristos ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-2 | \ 1261.11Schristos ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1271.11Schristos { print $$1, $$0":10779:0:99999:7:::" }' - | \ 1281.12Schristos ${SORT} | ${MAKEDBM_S} - shadow.byname; \ 1291.11Schristos ${TOUCH} ${.TARGET}; \ 1301.11Schristos ${ECHO} "updated shadow"; \ 1311.11Schristos if [ ! ${NOPUSH} ]; then \ 1321.11Schristos ${YPPUSH} -d ${DOMAIN} shadow.byname; \ 1331.11Schristos ${ECHO} "pushed shadow"; \ 1341.11Schristos else \ 1351.11Schristos : ; \ 1361.11Schristos fi \ 1371.11Schristos else \ 1381.11Schristos ${ECHO} "couldn't find ${.ALLSRC}"; \ 1391.11Schristos fi 1401.5Slukem 1411.13Sitojunaliases.time: ${DIR}/mail/aliases 1421.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1431.5Slukem ${CP} -p ${.ALLSRC} ${DOMAIN}-aliases; \ 1441.5Slukem ${SENDMAIL} -bi -oA${PWD}/${DOMAIN}-aliases; \ 1451.9Sabs ${MAKEDBM} -u ${DOMAIN}-aliases | ${SORT} | \ 1461.9Sabs ${MAKEDBM} - mail.aliases; \ 1471.5Slukem ${MKALIAS} mail.aliases mail.byaddr; \ 1481.5Slukem ${TOUCH} ${.TARGET}; \ 1491.5Slukem ${RM} ${DOMAIN}-aliases.db ${DOMAIN}-aliases; \ 1501.5Slukem ${ECHO} "updated aliases"; \ 1511.5Slukem if [ ! ${NOPUSH} ]; then \ 1521.5Slukem ${YPPUSH} -d ${DOMAIN} mail.aliases; \ 1531.5Slukem ${YPPUSH} -d ${DOMAIN} mail.byaddr; \ 1541.5Slukem ${ECHO} "pushed aliases"; \ 1551.5Slukem else \ 1561.5Slukem : ; \ 1571.5Slukem fi \ 1581.5Slukem else \ 1591.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1601.5Slukem fi 1611.5Slukem 1621.1Sthorpej 1631.16Schristosamd.home.time: ${AMDDIR}/amd.home __makedbmesc 1641.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1651.5Slukem ${TOUCH} ${.TARGET}; \ 1661.5Slukem ${ECHO} "updated amd.home"; \ 1671.5Slukem if [ ! ${NOPUSH} ]; then \ 1681.5Slukem ${YPPUSH} -d ${DOMAIN} amd.home; \ 1691.5Slukem ${ECHO} "pushed amd.home"; \ 1701.1Sthorpej else \ 1711.1Sthorpej : ; \ 1721.1Sthorpej fi \ 1731.1Sthorpej else \ 1741.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1751.1Sthorpej fi 1761.1Sthorpej 1771.1Sthorpej 1781.5Slukemethers.time: ${DIR}/ethers 1791.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1801.5Slukem ${STDETHERS} ${.ALLSRC} | ${SED} -e s/#.*$$// | \ 1811.5Slukem ${AWK} 'BEGIN { FS="\t"; OFS="\t"; } { print $$1, $$0 }' | \ 1821.9Sabs ${SORT} | ${MAKEDBM} - ethers.byaddr; \ 1831.5Slukem ${STDETHERS} ${.ALLSRC} | \ 1841.5Slukem ${AWK} 'BEGIN { FS="\t"; OFS="\t"; } { print $$2, $$0 }' | \ 1851.9Sabs ${SORT} | ${MAKEDBM} - ethers.byname; \ 1861.5Slukem ${TOUCH} ${.TARGET}; \ 1871.5Slukem ${ECHO} "updated ethers"; \ 1881.5Slukem if [ ! ${NOPUSH} ]; then \ 1891.5Slukem ${YPPUSH} -d ${DOMAIN} ethers.byaddr; \ 1901.5Slukem ${YPPUSH} -d ${DOMAIN} ethers.byname; \ 1911.5Slukem ${ECHO} "pushed ethers"; \ 1921.1Sthorpej else \ 1931.1Sthorpej : ; \ 1941.1Sthorpej fi \ 1951.1Sthorpej else \ 1961.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1971.1Sthorpej fi 1981.1Sthorpej 1991.5Slukem 2001.5Slukemgroup.time: ${DIR}/group 2011.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2021.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 2031.5Slukem { print $$1, $$0 }' ${.ALLSRC} | \ 2041.9Sabs ${SORT} | ${MAKEDBM} - group.byname; \ 2051.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 2061.5Slukem { print $$3, $$0 }' ${.ALLSRC} | \ 2071.9Sabs ${SORT} | ${MAKEDBM} - group.bygid; \ 2081.5Slukem ${TOUCH} ${.TARGET}; \ 2091.5Slukem ${ECHO} "updated group"; \ 2101.5Slukem if [ ! ${NOPUSH} ]; then \ 2111.5Slukem ${YPPUSH} -d ${DOMAIN} group.byname; \ 2121.5Slukem ${YPPUSH} -d ${DOMAIN} group.bygid; \ 2131.5Slukem ${ECHO} "pushed group"; \ 2141.1Sthorpej else \ 2151.1Sthorpej : ; \ 2161.1Sthorpej fi \ 2171.1Sthorpej else \ 2181.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2191.1Sthorpej fi 2201.1Sthorpej 2211.5Slukem 2221.10Sitojun# Solaris 8 does the following: 2231.10Sitojun# - /etc/hosts and hosts.{byname,byaddr} are IPv4 only. 2241.10Sitojun# - /etc/inet/ipnodes and ipnodes.{byname,byaddr} are used for protocol 2251.10Sitojun# independent name-to-address mapping. 2261.10Sitojun# 2271.10Sitojun# For local name resolution, we made /etc/hosts protocol independent. 2281.10Sitojun# For NIS name resolution, we obey Solaris 8 practice. 2291.10Sitojun# - We keep hosts.{byname,byaddr} IPv4 only, to be friendly with Solaris 8 2301.10Sitojun# clients. 2311.10Sitojun# - ipnodes.{byname,byaddr} is used for protocol independent mapping. 2321.10Sitojun# We generate all the mappings from /etc/hosts, for compatibility with NetBSD 2331.10Sitojun# local name resolution. 2341.10Sitojun# 2351.5Slukemhosts.time: ${DIR}/hosts 2361.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2371.5Slukem ${STDHOSTS} ${.ALLSRC} | ${SED} -e s/#.*$$// | \ 2381.5Slukem ${AWK} '{for (i = 2; i <= NF; i++) print $$i, $$0 }' | \ 2391.9Sabs ${SORT} | ${MAKEDBM} - hosts.byname; \ 2401.5Slukem ${STDHOSTS} ${.ALLSRC} | \ 2411.5Slukem ${AWK} 'BEGIN { OFS="\t"; } { print $$1, $$0 }' | \ 2421.9Sabs ${SORT} | ${MAKEDBM} - hosts.byaddr; \ 2431.5Slukem ${TOUCH} ${.TARGET}; \ 2441.5Slukem ${ECHO} "updated hosts"; \ 2451.5Slukem if [ ! ${NOPUSH} ]; then \ 2461.5Slukem ${YPPUSH} -d ${DOMAIN} hosts.byname; \ 2471.5Slukem ${YPPUSH} -d ${DOMAIN} hosts.byaddr; \ 2481.5Slukem ${ECHO} "pushed hosts"; \ 2491.1Sthorpej else \ 2501.1Sthorpej : ; \ 2511.1Sthorpej fi \ 2521.1Sthorpej else \ 2531.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2541.1Sthorpej fi 2551.1Sthorpej 2561.5Slukem 2571.10Sitojunipnodes.time: ${DIR}/hosts 2581.10Sitojun -@if [ -f ${.ALLSRC} ]; then \ 2591.10Sitojun ${STDHOSTS} -n ${.ALLSRC} | ${SED} -e s/#.*$$// | \ 2601.10Sitojun ${AWK} '{for (i = 2; i <= NF; i++) print $$i, $$0 }' | \ 2611.10Sitojun ${SORT} | ${MAKEDBM} - ipnodes.byname; \ 2621.10Sitojun ${STDHOSTS} -n ${.ALLSRC} | \ 2631.10Sitojun ${AWK} 'BEGIN { OFS="\t"; } { print $$1, $$0 }' | \ 2641.10Sitojun ${SORT} | ${MAKEDBM} - ipnodes.byaddr; \ 2651.10Sitojun ${TOUCH} ${.TARGET}; \ 2661.10Sitojun ${ECHO} "updated ipnodes"; \ 2671.10Sitojun if [ ! ${NOPUSH} ]; then \ 2681.10Sitojun ${YPPUSH} -d ${DOMAIN} ipnodes.byname; \ 2691.10Sitojun ${YPPUSH} -d ${DOMAIN} ipnodes.byaddr; \ 2701.10Sitojun ${ECHO} "pushed ipnodes"; \ 2711.10Sitojun else \ 2721.10Sitojun : ; \ 2731.10Sitojun fi \ 2741.10Sitojun else \ 2751.10Sitojun ${ECHO} "couldn't find ${.ALLSRC}"; \ 2761.10Sitojun fi 2771.10Sitojun 2781.10Sitojun 2791.16Schristosnetgroup.time: ${DIR}/netgroup __makedbmesc 2801.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2811.5Slukem ${CAT} ${.ALLSRC} | ${REVNETGROUP} -u -f - | \ 2821.9Sabs ${SORT} | ${MAKEDBM} - netgroup.byuser; \ 2831.5Slukem ${CAT} ${.ALLSRC} | ${REVNETGROUP} -h -f - | \ 2841.9Sabs ${SORT} | ${MAKEDBM} - netgroup.byhost; \ 2851.5Slukem ${TOUCH} ${.TARGET}; \ 2861.5Slukem ${ECHO} "updated netgroup"; \ 2871.5Slukem if [ ! ${NOPUSH} ]; then \ 2881.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup; \ 2891.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup.byuser; \ 2901.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup.byhost; \ 2911.5Slukem ${ECHO} "pushed netgroup"; \ 2921.1Sthorpej else \ 2931.1Sthorpej : ; \ 2941.1Sthorpej fi \ 2951.1Sthorpej else \ 2961.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2971.1Sthorpej fi 2981.1Sthorpej 2991.5Slukem 3001.5Slukemnetworks.time: ${DIR}/networks 3011.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3021.5Slukem ${SED} -e "/^#/d" -e s/#.*$$// ${.ALLSRC} | \ 3031.5Slukem ${AWK} '{print $$1, $$0; \ 3041.5Slukem for (i = 3;i <= NF;i++) print $$i,$$0}' | \ 3051.9Sabs ${SORT} | ${MAKEDBM} - networks.byname; \ 3061.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3071.5Slukem ${.ALLSRC} | \ 3081.9Sabs ${SORT} | ${MAKEDBM} - networks.byaddr; \ 3091.5Slukem ${TOUCH} ${.TARGET}; \ 3101.5Slukem ${ECHO} "updated networks"; \ 3111.5Slukem if [ ! ${NOPUSH} ]; then \ 3121.5Slukem ${YPPUSH} -d ${DOMAIN} networks.byname; \ 3131.5Slukem ${YPPUSH} -d ${DOMAIN} networks.byaddr; \ 3141.5Slukem ${ECHO} "pushed networks"; \ 3151.1Sthorpej else \ 3161.1Sthorpej : ; \ 3171.1Sthorpej fi \ 3181.1Sthorpej else \ 3191.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3201.1Sthorpej fi 3211.1Sthorpej 3221.1Sthorpej 3231.5Slukemprotocols.time: ${DIR}/protocols 3241.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3251.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3261.5Slukem ${.ALLSRC} | \ 3271.9Sabs ${SORT} | ${MAKEDBM} - protocols.bynumber; \ 3281.5Slukem ${SED} -e "/^#/d" -e s/#.*$$// ${.ALLSRC} | \ 3291.5Slukem ${AWK} '{print $$1, $$0; \ 3301.5Slukem for (i = 3;i <= NF;i++) print $$i,$$0}' | \ 3311.9Sabs ${SORT} | ${MAKEDBM} - protocols.byname; \ 3321.5Slukem ${TOUCH} ${.TARGET}; \ 3331.5Slukem ${ECHO} "updated protocols"; \ 3341.5Slukem if [ ! ${NOPUSH} ]; then \ 3351.5Slukem ${YPPUSH} -d ${DOMAIN} protocols.bynumber; \ 3361.5Slukem ${YPPUSH} -d ${DOMAIN} protocols.byname; \ 3371.5Slukem ${ECHO} "pushed protocols"; \ 3381.1Sthorpej else \ 3391.1Sthorpej : ; \ 3401.1Sthorpej fi \ 3411.1Sthorpej else \ 3421.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3431.1Sthorpej fi 3441.1Sthorpej 3451.1Sthorpej 3461.5Slukemrpc.time: ${DIR}/rpc 3471.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3481.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3491.5Slukem ${.ALLSRC} | \ 3501.9Sabs ${SORT} | ${MAKEDBM} - rpc.bynumber; \ 3511.5Slukem ${TOUCH} ${.TARGET}; \ 3521.5Slukem ${ECHO} "updated rpc"; \ 3531.5Slukem if [ ! ${NOPUSH} ]; then \ 3541.5Slukem ${YPPUSH} -d ${DOMAIN} rpc.bynumber; \ 3551.5Slukem ${ECHO} "pushed rpc"; \ 3561.1Sthorpej else \ 3571.1Sthorpej : ; \ 3581.1Sthorpej fi \ 3591.1Sthorpej else \ 3601.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3611.1Sthorpej fi 3621.1Sthorpej 3631.1Sthorpej 3641.5Slukemservices.time: ${DIR}/services 3651.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3661.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3671.5Slukem ${.ALLSRC} | \ 3681.9Sabs ${SORT} | ${MAKEDBM} - services.byname; \ 3691.5Slukem ${TOUCH} ${.TARGET}; \ 3701.5Slukem ${ECHO} "updated services"; \ 3711.5Slukem if [ ! ${NOPUSH} ]; then \ 3721.5Slukem ${YPPUSH} -d ${DOMAIN} services.byname; \ 3731.5Slukem ${ECHO} "pushed services"; \ 3741.5Slukem else \ 3751.5Slukem : ; \ 3761.5Slukem fi \ 3771.5Slukem else \ 3781.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3791.5Slukem fi 3801.5Slukem 3811.5Slukem 3821.5Slukemnetid.time: ${DIR}/passwd ${DIR}/group ${DIR}/hosts ${DIR}/netid 3831.5Slukem -@${MKNETID} -q -d ${DOMAIN} -p ${DIR}/passwd -g ${DIR}/group -h \ 3841.5Slukem ${DIR}/hosts -m ${DIR}/netid | \ 3851.9Sabs ${SORT} | ${MAKEDBM} - netid.byname; \ 3861.5Slukem ${TOUCH} ${.TARGET}; \ 3871.5Slukem ${ECHO} "updated netid"; \ 3881.5Slukem if [ ! ${NOPUSH} ]; then \ 3891.5Slukem ${YPPUSH} -d ${DOMAIN} netid.byname; \ 3901.5Slukem ${ECHO} "pushed netid"; \ 3911.1Sthorpej else \ 3921.1Sthorpej : ; \ 3931.1Sthorpej fi 3941.1Sthorpej 3951.5Slukem 3961.6Slukemypservers.time: ${.CURDIR}/ypservers 3971.6Slukem -@${MAKEDBM} ypservers ypservers; \ 3981.6Slukem ${TOUCH} ${.TARGET}; \ 3991.5Slukem ${ECHO} "updated ypservers"; \ 4001.5Slukem if [ ! ${NOPUSH} ]; then \ 4011.5Slukem ${YPPUSH} -d ${DOMAIN} ypservers; \ 4021.5Slukem ${ECHO} "pushed ypservers"; \ 4031.2Sthorpej else \ 4041.2Sthorpej : ; \ 4051.2Sthorpej fi 4061.1Sthorpej 4071.5Slukem 4081.1Sthorpejpasswd: passwd.time 4091.1Sthorpejgroup: group.time 4101.1Sthorpejhosts: hosts.time 4111.10Sitojunipnodes: ipnodes.time 4121.5Slukemaliases: aliases.time 4131.5Slukemamd.home: amd.home.time 4141.1Sthorpejethers: ethers.time 4151.5Slukemnetgroup: netgroup.time 4161.1Sthorpejnetworks: networks.time 4171.1Sthorpejrpc: rpc.time 4181.1Sthorpejservices: services.time 4191.11Schristosshadow: shadow.time 4201.1Sthorpejprotocols: protocols.time 4211.1Sthorpejnetid: netid.time 4221.6Slukemypservers: ypservers.time 4231.5Slukem 4241.5Slukem${DIR}/passwd: 4251.5Slukem${DIR}/group: 4261.5Slukem${DIR}/hosts: 4271.13Sitojun${DIR}/mail/aliases: 4281.5Slukem${AMDDIR}/amd.home: 4291.5Slukem${DIR}/ethers: 4301.5Slukem${DIR}/master.passwd: 4311.5Slukem${DIR}/netgroup: 4321.5Slukem${DIR}/networks: 4331.5Slukem${DIR}/rpc: 4341.5Slukem${DIR}/services: 4351.5Slukem${DIR}/protocols: 4361.5Slukem${DIR}/netid: 437