Makefile.yp revision 1.12
11.12Schristos# $NetBSD: Makefile.yp,v 1.12 2000/09/19 18:24:54 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.5Slukem# field is accessable 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.5Slukem 541.5Slukempasswd.time: ${DIR}/master.passwd 551.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 561.5Slukem umask 077 ; \ 571.5Slukem if [ "${INSECURE}" != "yes" ]; then \ 581.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 | \ 591.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 601.5Slukem { print $$1, $$1":*:"$$3":"$$4":"$$5":"$$6":"$$7 }' -|\ 611.9Sabs ${SORT} | ${MAKEDBM} - passwd.byname; \ 621.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 |\ 631.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 641.5Slukem { print $$3, $$1":*:"$$3":"$$4":"$$5":"$$6":"$$7 }' -|\ 651.9Sabs ${SORT} | ${MAKEDBM} - passwd.byuid; \ 661.5Slukem else \ 671.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 | \ 681.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 691.9Sabs { print $$1, $$0 }' - | ${SORT} | \ 701.9Sabs ${MAKEDBM} - passwd.byname; \ 711.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 |\ 721.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 731.9Sabs { print $$3, $$0 }' - | ${SORT} | \ 741.9Sabs ${MAKEDBM} - passwd.byuid; \ 751.5Slukem fi; \ 761.5Slukem ${CAT} ${.ALLSRC} | \ 771.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 781.9Sabs { print $$1, $$0 }' - | ${SORT} | \ 791.9Sabs ${MAKEDBM_S} - master.passwd.byname; \ 801.5Slukem ${CAT} ${.ALLSRC} | \ 811.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 821.9Sabs { print $$3, $$0 }' - | ${SORT} | \ 831.9Sabs ${MAKEDBM_S} - master.passwd.byuid; \ 841.5Slukem ${TOUCH} ${.TARGET}; \ 851.5Slukem ${ECHO} "updated passwd"; \ 861.5Slukem if [ ! ${NOPUSH} ]; then \ 871.5Slukem ${YPPUSH} -d ${DOMAIN} passwd.byname; \ 881.5Slukem ${YPPUSH} -d ${DOMAIN} passwd.byuid; \ 891.5Slukem ${YPPUSH} -d ${DOMAIN} master.passwd.byname; \ 901.5Slukem ${YPPUSH} -d ${DOMAIN} master.passwd.byuid; \ 911.5Slukem ${ECHO} "pushed passwd"; \ 921.5Slukem else \ 931.5Slukem : ; \ 941.5Slukem fi \ 951.5Slukem else \ 961.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 971.5Slukem fi 981.5Slukem 991.11Schristos# XXX: This does not do modify/expire time correctly. 1001.11Schristosshadow.time: ${DIR}/master.passwd 1011.11Schristos -@if [ -f ${.ALLSRC} ]; then \ 1021.11Schristos umask 077 ; \ 1031.11Schristos ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-2 | \ 1041.11Schristos ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1051.11Schristos { print $$1, $$0":10779:0:99999:7:::" }' - | \ 1061.12Schristos ${SORT} | ${MAKEDBM_S} - shadow.byname; \ 1071.11Schristos ${TOUCH} ${.TARGET}; \ 1081.11Schristos ${ECHO} "updated shadow"; \ 1091.11Schristos if [ ! ${NOPUSH} ]; then \ 1101.11Schristos ${YPPUSH} -d ${DOMAIN} shadow.byname; \ 1111.11Schristos ${ECHO} "pushed shadow"; \ 1121.11Schristos else \ 1131.11Schristos : ; \ 1141.11Schristos fi \ 1151.11Schristos else \ 1161.11Schristos ${ECHO} "couldn't find ${.ALLSRC}"; \ 1171.11Schristos fi 1181.5Slukem 1191.5Slukemaliases.time: ${DIR}/aliases 1201.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1211.5Slukem ${CP} -p ${.ALLSRC} ${DOMAIN}-aliases; \ 1221.5Slukem ${SENDMAIL} -bi -oA${PWD}/${DOMAIN}-aliases; \ 1231.9Sabs ${MAKEDBM} -u ${DOMAIN}-aliases | ${SORT} | \ 1241.9Sabs ${MAKEDBM} - mail.aliases; \ 1251.5Slukem ${MKALIAS} mail.aliases mail.byaddr; \ 1261.5Slukem ${TOUCH} ${.TARGET}; \ 1271.5Slukem ${RM} ${DOMAIN}-aliases.db ${DOMAIN}-aliases; \ 1281.5Slukem ${ECHO} "updated aliases"; \ 1291.5Slukem if [ ! ${NOPUSH} ]; then \ 1301.5Slukem ${YPPUSH} -d ${DOMAIN} mail.aliases; \ 1311.5Slukem ${YPPUSH} -d ${DOMAIN} mail.byaddr; \ 1321.5Slukem ${ECHO} "pushed aliases"; \ 1331.5Slukem else \ 1341.5Slukem : ; \ 1351.5Slukem fi \ 1361.5Slukem else \ 1371.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1381.5Slukem fi 1391.5Slukem 1401.1Sthorpej 1411.5Slukemamd.home.time: ${AMDDIR}/amd.home 1421.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1431.5Slukem ${SED} -e "s/#.*$$//" -e "/^$$/d" ${.ALLSRC} | \ 1441.5Slukem ${AWK} '{ \ 1451.5Slukem for (i = 1; i <= NF; i++) \ 1461.5Slukem if (i == NF) { \ 1471.5Slukem if (substr($$i, length($$i), 1) == "\\") { \ 1481.5Slukem printf("%s", \ 1491.5Slukem substr($$i, 1, length($$i) - 1)); \ 1501.5Slukem } \ 1511.5Slukem else \ 1521.5Slukem printf("%s\n", $$i); \ 1531.5Slukem } \ 1541.5Slukem else \ 1551.5Slukem printf("%s ", $$i); \ 1561.5Slukem }' | \ 1571.9Sabs ${SORT} | ${MAKEDBM} - amd.home; \ 1581.5Slukem ${TOUCH} ${.TARGET}; \ 1591.5Slukem ${ECHO} "updated amd.home"; \ 1601.5Slukem if [ ! ${NOPUSH} ]; then \ 1611.5Slukem ${YPPUSH} -d ${DOMAIN} amd.home; \ 1621.5Slukem ${ECHO} "pushed amd.home"; \ 1631.1Sthorpej else \ 1641.1Sthorpej : ; \ 1651.1Sthorpej fi \ 1661.1Sthorpej else \ 1671.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1681.1Sthorpej fi 1691.1Sthorpej 1701.1Sthorpej 1711.5Slukemethers.time: ${DIR}/ethers 1721.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1731.5Slukem ${STDETHERS} ${.ALLSRC} | ${SED} -e s/#.*$$// | \ 1741.5Slukem ${AWK} 'BEGIN { FS="\t"; OFS="\t"; } { print $$1, $$0 }' | \ 1751.9Sabs ${SORT} | ${MAKEDBM} - ethers.byaddr; \ 1761.5Slukem ${STDETHERS} ${.ALLSRC} | \ 1771.5Slukem ${AWK} 'BEGIN { FS="\t"; OFS="\t"; } { print $$2, $$0 }' | \ 1781.9Sabs ${SORT} | ${MAKEDBM} - ethers.byname; \ 1791.5Slukem ${TOUCH} ${.TARGET}; \ 1801.5Slukem ${ECHO} "updated ethers"; \ 1811.5Slukem if [ ! ${NOPUSH} ]; then \ 1821.5Slukem ${YPPUSH} -d ${DOMAIN} ethers.byaddr; \ 1831.5Slukem ${YPPUSH} -d ${DOMAIN} ethers.byname; \ 1841.5Slukem ${ECHO} "pushed ethers"; \ 1851.1Sthorpej else \ 1861.1Sthorpej : ; \ 1871.1Sthorpej fi \ 1881.1Sthorpej else \ 1891.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1901.1Sthorpej fi 1911.1Sthorpej 1921.5Slukem 1931.5Slukemgroup.time: ${DIR}/group 1941.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1951.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1961.5Slukem { print $$1, $$0 }' ${.ALLSRC} | \ 1971.9Sabs ${SORT} | ${MAKEDBM} - group.byname; \ 1981.5Slukem ${AWK} 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1991.5Slukem { print $$3, $$0 }' ${.ALLSRC} | \ 2001.9Sabs ${SORT} | ${MAKEDBM} - group.bygid; \ 2011.5Slukem ${TOUCH} ${.TARGET}; \ 2021.5Slukem ${ECHO} "updated group"; \ 2031.5Slukem if [ ! ${NOPUSH} ]; then \ 2041.5Slukem ${YPPUSH} -d ${DOMAIN} group.byname; \ 2051.5Slukem ${YPPUSH} -d ${DOMAIN} group.bygid; \ 2061.5Slukem ${ECHO} "pushed group"; \ 2071.1Sthorpej else \ 2081.1Sthorpej : ; \ 2091.1Sthorpej fi \ 2101.1Sthorpej else \ 2111.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2121.1Sthorpej fi 2131.1Sthorpej 2141.5Slukem 2151.10Sitojun# Solaris 8 does the following: 2161.10Sitojun# - /etc/hosts and hosts.{byname,byaddr} are IPv4 only. 2171.10Sitojun# - /etc/inet/ipnodes and ipnodes.{byname,byaddr} are used for protocol 2181.10Sitojun# independent name-to-address mapping. 2191.10Sitojun# 2201.10Sitojun# For local name resolution, we made /etc/hosts protocol independent. 2211.10Sitojun# For NIS name resolution, we obey Solaris 8 practice. 2221.10Sitojun# - We keep hosts.{byname,byaddr} IPv4 only, to be friendly with Solaris 8 2231.10Sitojun# clients. 2241.10Sitojun# - ipnodes.{byname,byaddr} is used for protocol independent mapping. 2251.10Sitojun# We generate all the mappings from /etc/hosts, for compatibility with NetBSD 2261.10Sitojun# local name resolution. 2271.10Sitojun# 2281.5Slukemhosts.time: ${DIR}/hosts 2291.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2301.5Slukem ${STDHOSTS} ${.ALLSRC} | ${SED} -e s/#.*$$// | \ 2311.5Slukem ${AWK} '{for (i = 2; i <= NF; i++) print $$i, $$0 }' | \ 2321.9Sabs ${SORT} | ${MAKEDBM} - hosts.byname; \ 2331.5Slukem ${STDHOSTS} ${.ALLSRC} | \ 2341.5Slukem ${AWK} 'BEGIN { OFS="\t"; } { print $$1, $$0 }' | \ 2351.9Sabs ${SORT} | ${MAKEDBM} - hosts.byaddr; \ 2361.5Slukem ${TOUCH} ${.TARGET}; \ 2371.5Slukem ${ECHO} "updated hosts"; \ 2381.5Slukem if [ ! ${NOPUSH} ]; then \ 2391.5Slukem ${YPPUSH} -d ${DOMAIN} hosts.byname; \ 2401.5Slukem ${YPPUSH} -d ${DOMAIN} hosts.byaddr; \ 2411.5Slukem ${ECHO} "pushed hosts"; \ 2421.1Sthorpej else \ 2431.1Sthorpej : ; \ 2441.1Sthorpej fi \ 2451.1Sthorpej else \ 2461.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2471.1Sthorpej fi 2481.1Sthorpej 2491.5Slukem 2501.10Sitojunipnodes.time: ${DIR}/hosts 2511.10Sitojun -@if [ -f ${.ALLSRC} ]; then \ 2521.10Sitojun ${STDHOSTS} -n ${.ALLSRC} | ${SED} -e s/#.*$$// | \ 2531.10Sitojun ${AWK} '{for (i = 2; i <= NF; i++) print $$i, $$0 }' | \ 2541.10Sitojun ${SORT} | ${MAKEDBM} - ipnodes.byname; \ 2551.10Sitojun ${STDHOSTS} -n ${.ALLSRC} | \ 2561.10Sitojun ${AWK} 'BEGIN { OFS="\t"; } { print $$1, $$0 }' | \ 2571.10Sitojun ${SORT} | ${MAKEDBM} - ipnodes.byaddr; \ 2581.10Sitojun ${TOUCH} ${.TARGET}; \ 2591.10Sitojun ${ECHO} "updated ipnodes"; \ 2601.10Sitojun if [ ! ${NOPUSH} ]; then \ 2611.10Sitojun ${YPPUSH} -d ${DOMAIN} ipnodes.byname; \ 2621.10Sitojun ${YPPUSH} -d ${DOMAIN} ipnodes.byaddr; \ 2631.10Sitojun ${ECHO} "pushed ipnodes"; \ 2641.10Sitojun else \ 2651.10Sitojun : ; \ 2661.10Sitojun fi \ 2671.10Sitojun else \ 2681.10Sitojun ${ECHO} "couldn't find ${.ALLSRC}"; \ 2691.10Sitojun fi 2701.10Sitojun 2711.10Sitojun 2721.5Slukemnetgroup.time: ${DIR}/netgroup 2731.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2741.9Sabs ${CAT} ${.ALLSRC} | ${SORT} | ${MAKEDBM} - netgroup; \ 2751.5Slukem ${CAT} ${.ALLSRC} | ${REVNETGROUP} -u -f - | \ 2761.9Sabs ${SORT} | ${MAKEDBM} - netgroup.byuser; \ 2771.5Slukem ${CAT} ${.ALLSRC} | ${REVNETGROUP} -h -f - | \ 2781.9Sabs ${SORT} | ${MAKEDBM} - netgroup.byhost; \ 2791.5Slukem ${TOUCH} ${.TARGET}; \ 2801.5Slukem ${ECHO} "updated netgroup"; \ 2811.5Slukem if [ ! ${NOPUSH} ]; then \ 2821.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup; \ 2831.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup.byuser; \ 2841.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup.byhost; \ 2851.5Slukem ${ECHO} "pushed netgroup"; \ 2861.1Sthorpej else \ 2871.1Sthorpej : ; \ 2881.1Sthorpej fi \ 2891.1Sthorpej else \ 2901.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2911.1Sthorpej fi 2921.1Sthorpej 2931.5Slukem 2941.5Slukemnetworks.time: ${DIR}/networks 2951.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2961.5Slukem ${SED} -e "/^#/d" -e s/#.*$$// ${.ALLSRC} | \ 2971.5Slukem ${AWK} '{print $$1, $$0; \ 2981.5Slukem for (i = 3;i <= NF;i++) print $$i,$$0}' | \ 2991.9Sabs ${SORT} | ${MAKEDBM} - networks.byname; \ 3001.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3011.5Slukem ${.ALLSRC} | \ 3021.9Sabs ${SORT} | ${MAKEDBM} - networks.byaddr; \ 3031.5Slukem ${TOUCH} ${.TARGET}; \ 3041.5Slukem ${ECHO} "updated networks"; \ 3051.5Slukem if [ ! ${NOPUSH} ]; then \ 3061.5Slukem ${YPPUSH} -d ${DOMAIN} networks.byname; \ 3071.5Slukem ${YPPUSH} -d ${DOMAIN} networks.byaddr; \ 3081.5Slukem ${ECHO} "pushed networks"; \ 3091.1Sthorpej else \ 3101.1Sthorpej : ; \ 3111.1Sthorpej fi \ 3121.1Sthorpej else \ 3131.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3141.1Sthorpej fi 3151.1Sthorpej 3161.1Sthorpej 3171.5Slukemprotocols.time: ${DIR}/protocols 3181.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3191.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3201.5Slukem ${.ALLSRC} | \ 3211.9Sabs ${SORT} | ${MAKEDBM} - protocols.bynumber; \ 3221.5Slukem ${SED} -e "/^#/d" -e s/#.*$$// ${.ALLSRC} | \ 3231.5Slukem ${AWK} '{print $$1, $$0; \ 3241.5Slukem for (i = 3;i <= NF;i++) print $$i,$$0}' | \ 3251.9Sabs ${SORT} | ${MAKEDBM} - protocols.byname; \ 3261.5Slukem ${TOUCH} ${.TARGET}; \ 3271.5Slukem ${ECHO} "updated protocols"; \ 3281.5Slukem if [ ! ${NOPUSH} ]; then \ 3291.5Slukem ${YPPUSH} -d ${DOMAIN} protocols.bynumber; \ 3301.5Slukem ${YPPUSH} -d ${DOMAIN} protocols.byname; \ 3311.5Slukem ${ECHO} "pushed protocols"; \ 3321.1Sthorpej else \ 3331.1Sthorpej : ; \ 3341.1Sthorpej fi \ 3351.1Sthorpej else \ 3361.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3371.1Sthorpej fi 3381.1Sthorpej 3391.1Sthorpej 3401.5Slukemrpc.time: ${DIR}/rpc 3411.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3421.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3431.5Slukem ${.ALLSRC} | \ 3441.9Sabs ${SORT} | ${MAKEDBM} - rpc.bynumber; \ 3451.5Slukem ${TOUCH} ${.TARGET}; \ 3461.5Slukem ${ECHO} "updated rpc"; \ 3471.5Slukem if [ ! ${NOPUSH} ]; then \ 3481.5Slukem ${YPPUSH} -d ${DOMAIN} rpc.bynumber; \ 3491.5Slukem ${ECHO} "pushed rpc"; \ 3501.1Sthorpej else \ 3511.1Sthorpej : ; \ 3521.1Sthorpej fi \ 3531.1Sthorpej else \ 3541.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3551.1Sthorpej fi 3561.1Sthorpej 3571.1Sthorpej 3581.5Slukemservices.time: ${DIR}/services 3591.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3601.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3611.5Slukem ${.ALLSRC} | \ 3621.9Sabs ${SORT} | ${MAKEDBM} - services.byname; \ 3631.5Slukem ${TOUCH} ${.TARGET}; \ 3641.5Slukem ${ECHO} "updated services"; \ 3651.5Slukem if [ ! ${NOPUSH} ]; then \ 3661.5Slukem ${YPPUSH} -d ${DOMAIN} services.byname; \ 3671.5Slukem ${ECHO} "pushed services"; \ 3681.5Slukem else \ 3691.5Slukem : ; \ 3701.5Slukem fi \ 3711.5Slukem else \ 3721.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3731.5Slukem fi 3741.5Slukem 3751.5Slukem 3761.5Slukemnetid.time: ${DIR}/passwd ${DIR}/group ${DIR}/hosts ${DIR}/netid 3771.5Slukem -@${MKNETID} -q -d ${DOMAIN} -p ${DIR}/passwd -g ${DIR}/group -h \ 3781.5Slukem ${DIR}/hosts -m ${DIR}/netid | \ 3791.9Sabs ${SORT} | ${MAKEDBM} - netid.byname; \ 3801.5Slukem ${TOUCH} ${.TARGET}; \ 3811.5Slukem ${ECHO} "updated netid"; \ 3821.5Slukem if [ ! ${NOPUSH} ]; then \ 3831.5Slukem ${YPPUSH} -d ${DOMAIN} netid.byname; \ 3841.5Slukem ${ECHO} "pushed netid"; \ 3851.1Sthorpej else \ 3861.1Sthorpej : ; \ 3871.1Sthorpej fi 3881.1Sthorpej 3891.5Slukem 3901.6Slukemypservers.time: ${.CURDIR}/ypservers 3911.6Slukem -@${MAKEDBM} ypservers ypservers; \ 3921.6Slukem ${TOUCH} ${.TARGET}; \ 3931.5Slukem ${ECHO} "updated ypservers"; \ 3941.5Slukem if [ ! ${NOPUSH} ]; then \ 3951.5Slukem ${YPPUSH} -d ${DOMAIN} ypservers; \ 3961.5Slukem ${ECHO} "pushed ypservers"; \ 3971.2Sthorpej else \ 3981.2Sthorpej : ; \ 3991.2Sthorpej fi 4001.1Sthorpej 4011.5Slukem 4021.1Sthorpejpasswd: passwd.time 4031.1Sthorpejgroup: group.time 4041.1Sthorpejhosts: hosts.time 4051.10Sitojunipnodes: ipnodes.time 4061.5Slukemaliases: aliases.time 4071.5Slukemamd.home: amd.home.time 4081.1Sthorpejethers: ethers.time 4091.5Slukemnetgroup: netgroup.time 4101.1Sthorpejnetworks: networks.time 4111.1Sthorpejrpc: rpc.time 4121.1Sthorpejservices: services.time 4131.11Schristosshadow: shadow.time 4141.1Sthorpejprotocols: protocols.time 4151.1Sthorpejnetid: netid.time 4161.6Slukemypservers: ypservers.time 4171.5Slukem 4181.5Slukem${DIR}/passwd: 4191.5Slukem${DIR}/group: 4201.5Slukem${DIR}/hosts: 4211.5Slukem${DIR}/aliases: 4221.5Slukem${AMDDIR}/amd.home: 4231.5Slukem${DIR}/ethers: 4241.5Slukem${DIR}/master.passwd: 4251.5Slukem${DIR}/netgroup: 4261.5Slukem${DIR}/networks: 4271.5Slukem${DIR}/rpc: 4281.5Slukem${DIR}/services: 4291.5Slukem${DIR}/protocols: 4301.5Slukem${DIR}/netid: 431