11.23Sriastrad# $NetBSD: Makefile.yp,v 1.23 2014/03/18 18:20:48 riastradh 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.19Schristos# Only include UID's >= ${MINUID} in the maps. Setting this to ~1000 211.19Schristos# and using uid's > 1000 for users allows heterogeneous system support 221.19Schristos# where low numbered uids and gids may have different meanings. 231.19SchristosMINUID?= 0 241.19SchristosMINGID?= 0 251.19Schristos 261.11Schristos# In addition, by adding shadow to the list of rules we support 271.11Schristos# linux and solaris type shadow maps. 281.5Slukem 291.5SlukemYPDBDIR= /var/yp 301.5SlukemDIR= /etc 311.5SlukemAMDDIR= /etc/amd 321.17ShubertfAMDMAPS= amd.home 331.17ShubertfDOMAIN= ${.CURDIR:T} 341.5Slukem 351.5SlukemAWK= /usr/bin/awk 361.5SlukemCAT= /bin/cat 371.5SlukemCP= /bin/cp 381.5SlukemCUT= /usr/bin/cut 391.5SlukemECHO= /bin/echo 401.18SchristosEGREP= /usr/bin/egrep 411.5SlukemMAKEDBM= /usr/sbin/makedbm 421.5SlukemMAKEDBM_S= ${MAKEDBM} -s 431.5SlukemMKALIAS= /usr/sbin/mkalias 441.5SlukemMKNETID= /usr/sbin/mknetid 451.5SlukemREVNETGROUP= /usr/sbin/revnetgroup 461.5SlukemRM= /bin/rm 471.5SlukemSED= /usr/bin/sed 481.5SlukemSENDMAIL= /usr/sbin/sendmail 491.9SabsSORT= /usr/bin/sort 501.5SlukemSTDETHERS= /usr/sbin/stdethers 511.20SgrantSTDHOSTS= /usr/sbin/stdhosts -n 521.5SlukemTOUCH= /usr/bin/touch 531.5SlukemYPPUSH= /usr/sbin/yppush 541.5Slukem 551.1Sthorpej 561.2Sthorpej# We have a rule for ypservers, but we don't build it by default, since 571.2Sthorpej# it seldom changes (only when slaves are added/deleted). 581.2Sthorpej 591.17Shubertfall: passwd aliases ${AMDMAPS} ethers group hosts ipnodes netgroup networks rpc services protocols netid 601.5Slukem 611.16Schristos__makedbmesc: .USEBEFORE 621.16Schristos if [ -f ${.ALLSRC} ]; then \ 631.16Schristos ${SED} -e "s/#.*$$//" ${.ALLSRC} | \ 641.16Schristos ${AWK} '{ \ 651.16Schristos if (NF == 0) \ 661.16Schristos printf("\n"); \ 671.16Schristos else { \ 681.16Schristos for (i = 1; i <= NF; i++) { \ 691.16Schristos if (i == NF) { \ 701.16Schristos if (substr($$i, length($$i), 1) == "\\") { \ 711.16Schristos printf("%s", substr($$i, 1, \ 721.16Schristos length($$i) - 1)); \ 731.16Schristos } else \ 741.16Schristos printf("%s\n", $$i); \ 751.16Schristos } else \ 761.16Schristos printf("%s ", $$i); \ 771.16Schristos } \ 781.16Schristos } \ 791.16Schristos }' | \ 801.16Schristos ${SED} -e "/^[ \t]*$$/d" | \ 811.16Schristos ${SORT} | ${MAKEDBM} - ${.ALLSRC:T}; \ 821.16Schristos fi 831.5Slukem 841.5Slukempasswd.time: ${DIR}/master.passwd 851.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 861.5Slukem umask 077 ; \ 871.5Slukem if [ "${INSECURE}" != "yes" ]; then \ 881.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 | \ 891.19Schristos ${AWK} -v minuid=${MINUID} \ 901.19Schristos 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 911.19Schristos { if (minuid <= $$3) \ 921.19Schristos print $$1, $$1":*:"$$3":"$$4":"$$5":"$$6":"$$7 }' -|\ 931.9Sabs ${SORT} | ${MAKEDBM} - passwd.byname; \ 941.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 |\ 951.19Schristos ${AWK} -v minuid=${MINUID} \ 961.19Schristos 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 971.19Schristos { if (minuid <= $$3) \ 981.19Schristos print $$3, $$1":*:"$$3":"$$4":"$$5":"$$6":"$$7 }' -|\ 991.9Sabs ${SORT} | ${MAKEDBM} - passwd.byuid; \ 1001.5Slukem else \ 1011.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 | \ 1021.19Schristos ${AWK} -v minuid=${MINUID} \ 1031.19Schristos 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1041.19Schristos { if (minuid <= $$3) \ 1051.19Schristos print $$1, $$0 }' - | ${SORT} | \ 1061.9Sabs ${MAKEDBM} - passwd.byname; \ 1071.5Slukem ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-4,8-10 |\ 1081.19Schristos ${AWK} -v minuid=${MINUID} \ 1091.19Schristos 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1101.19Schristos { if (minuid <= $$3) \ 1111.19Schristos print $$3, $$0 }' - | ${SORT} | \ 1121.9Sabs ${MAKEDBM} - passwd.byuid; \ 1131.5Slukem fi; \ 1141.5Slukem ${CAT} ${.ALLSRC} | \ 1151.22Shauke ${AWK} -v minuid=${MINUID} \ 1161.22Shauke 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1171.22Shauke { if (minuid <= $$3) print $$1, $$0 }' - | ${SORT} | \ 1181.9Sabs ${MAKEDBM_S} - master.passwd.byname; \ 1191.5Slukem ${CAT} ${.ALLSRC} | \ 1201.22Shauke ${AWK} -v minuid=${MINUID} \ 1211.22Shauke 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1221.22Shauke { if (minuid <= $$3) print $$3, $$0 }' - | ${SORT} | \ 1231.9Sabs ${MAKEDBM_S} - master.passwd.byuid; \ 1241.5Slukem ${TOUCH} ${.TARGET}; \ 1251.5Slukem ${ECHO} "updated passwd"; \ 1261.5Slukem if [ ! ${NOPUSH} ]; then \ 1271.5Slukem ${YPPUSH} -d ${DOMAIN} passwd.byname; \ 1281.5Slukem ${YPPUSH} -d ${DOMAIN} passwd.byuid; \ 1291.5Slukem ${YPPUSH} -d ${DOMAIN} master.passwd.byname; \ 1301.5Slukem ${YPPUSH} -d ${DOMAIN} master.passwd.byuid; \ 1311.5Slukem ${ECHO} "pushed passwd"; \ 1321.5Slukem else \ 1331.5Slukem : ; \ 1341.5Slukem fi \ 1351.5Slukem else \ 1361.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1371.5Slukem fi 1381.5Slukem 1391.11Schristos# XXX: This does not do modify/expire time correctly. 1401.11Schristosshadow.time: ${DIR}/master.passwd 1411.11Schristos -@if [ -f ${.ALLSRC} ]; then \ 1421.11Schristos umask 077 ; \ 1431.21Selad ${CAT} ${.ALLSRC} | ${CUT} -d: -f1-3 | \ 1441.21Selad ${AWK} -v minuid=${MINUID} \ 1451.21Selad 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 1461.21Selad { if (minuid <= $$3) \ 1471.21Selad print $$1, $$1":"$$2":10779:0:99999:7:::" }' - | \ 1481.12Schristos ${SORT} | ${MAKEDBM_S} - shadow.byname; \ 1491.11Schristos ${TOUCH} ${.TARGET}; \ 1501.11Schristos ${ECHO} "updated shadow"; \ 1511.11Schristos if [ ! ${NOPUSH} ]; then \ 1521.11Schristos ${YPPUSH} -d ${DOMAIN} shadow.byname; \ 1531.11Schristos ${ECHO} "pushed shadow"; \ 1541.11Schristos else \ 1551.11Schristos : ; \ 1561.11Schristos fi \ 1571.11Schristos else \ 1581.11Schristos ${ECHO} "couldn't find ${.ALLSRC}"; \ 1591.11Schristos fi 1601.5Slukem 1611.13Sitojunaliases.time: ${DIR}/mail/aliases 1621.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1631.5Slukem ${CP} -p ${.ALLSRC} ${DOMAIN}-aliases; \ 1641.5Slukem ${SENDMAIL} -bi -oA${PWD}/${DOMAIN}-aliases; \ 1651.9Sabs ${MAKEDBM} -u ${DOMAIN}-aliases | ${SORT} | \ 1661.18Schristos ${EGREP} -v '(YP_LAST_MODIFIED|YP_MASTER_NAME)' | \ 1671.9Sabs ${MAKEDBM} - mail.aliases; \ 1681.5Slukem ${MKALIAS} mail.aliases mail.byaddr; \ 1691.5Slukem ${TOUCH} ${.TARGET}; \ 1701.5Slukem ${RM} ${DOMAIN}-aliases.db ${DOMAIN}-aliases; \ 1711.5Slukem ${ECHO} "updated aliases"; \ 1721.5Slukem if [ ! ${NOPUSH} ]; then \ 1731.5Slukem ${YPPUSH} -d ${DOMAIN} mail.aliases; \ 1741.5Slukem ${YPPUSH} -d ${DOMAIN} mail.byaddr; \ 1751.5Slukem ${ECHO} "pushed aliases"; \ 1761.5Slukem else \ 1771.5Slukem : ; \ 1781.5Slukem fi \ 1791.5Slukem else \ 1801.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1811.5Slukem fi 1821.5Slukem 1831.1Sthorpej 1841.17Shubertf.for MAP in ${AMDMAPS} 1851.17Shubertf${MAP}.time: ${AMDDIR}/${MAP} __makedbmesc 1861.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 1871.5Slukem ${TOUCH} ${.TARGET}; \ 1881.17Shubertf ${ECHO} "updated ${MAP}"; \ 1891.5Slukem if [ ! ${NOPUSH} ]; then \ 1901.17Shubertf ${YPPUSH} -d ${DOMAIN} ${MAP}; \ 1911.17Shubertf ${ECHO} "pushed ${MAP}"; \ 1921.1Sthorpej else \ 1931.1Sthorpej : ; \ 1941.1Sthorpej fi \ 1951.1Sthorpej else \ 1961.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 1971.1Sthorpej fi 1981.17Shubertf.endfor # AMDMAPS 1991.1Sthorpej 2001.1Sthorpej 2011.5Slukemethers.time: ${DIR}/ethers 2021.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2031.22Shauke ${STDETHERS} ${.ALLSRC} | \ 2041.5Slukem ${AWK} 'BEGIN { FS="\t"; OFS="\t"; } { print $$1, $$0 }' | \ 2051.9Sabs ${SORT} | ${MAKEDBM} - ethers.byaddr; \ 2061.5Slukem ${STDETHERS} ${.ALLSRC} | \ 2071.5Slukem ${AWK} 'BEGIN { FS="\t"; OFS="\t"; } { print $$2, $$0 }' | \ 2081.9Sabs ${SORT} | ${MAKEDBM} - ethers.byname; \ 2091.5Slukem ${TOUCH} ${.TARGET}; \ 2101.5Slukem ${ECHO} "updated ethers"; \ 2111.5Slukem if [ ! ${NOPUSH} ]; then \ 2121.5Slukem ${YPPUSH} -d ${DOMAIN} ethers.byaddr; \ 2131.5Slukem ${YPPUSH} -d ${DOMAIN} ethers.byname; \ 2141.5Slukem ${ECHO} "pushed ethers"; \ 2151.1Sthorpej else \ 2161.1Sthorpej : ; \ 2171.1Sthorpej fi \ 2181.1Sthorpej else \ 2191.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2201.1Sthorpej fi 2211.1Sthorpej 2221.5Slukem 2231.5Slukemgroup.time: ${DIR}/group 2241.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2251.19Schristos ${AWK} -v mingid=${MINGID} \ 2261.19Schristos 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 2271.19Schristos { if (mingid <= $$3) print $$1, $$0 }' ${.ALLSRC} | \ 2281.9Sabs ${SORT} | ${MAKEDBM} - group.byname; \ 2291.19Schristos ${AWK} -v mingid=${MINGID} \ 2301.19Schristos 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 2311.19Schristos { if (mingid <= $$3) print $$3, $$0 }' ${.ALLSRC} | \ 2321.9Sabs ${SORT} | ${MAKEDBM} - group.bygid; \ 2331.5Slukem ${TOUCH} ${.TARGET}; \ 2341.5Slukem ${ECHO} "updated group"; \ 2351.5Slukem if [ ! ${NOPUSH} ]; then \ 2361.5Slukem ${YPPUSH} -d ${DOMAIN} group.byname; \ 2371.5Slukem ${YPPUSH} -d ${DOMAIN} group.bygid; \ 2381.5Slukem ${ECHO} "pushed group"; \ 2391.1Sthorpej else \ 2401.1Sthorpej : ; \ 2411.1Sthorpej fi \ 2421.1Sthorpej else \ 2431.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2441.1Sthorpej fi 2451.1Sthorpej 2461.5Slukem 2471.10Sitojun# Solaris 8 does the following: 2481.10Sitojun# - /etc/hosts and hosts.{byname,byaddr} are IPv4 only. 2491.10Sitojun# - /etc/inet/ipnodes and ipnodes.{byname,byaddr} are used for protocol 2501.10Sitojun# independent name-to-address mapping. 2511.10Sitojun# 2521.10Sitojun# For local name resolution, we made /etc/hosts protocol independent. 2531.10Sitojun# For NIS name resolution, we obey Solaris 8 practice. 2541.10Sitojun# - We keep hosts.{byname,byaddr} IPv4 only, to be friendly with Solaris 8 2551.10Sitojun# clients. 2561.10Sitojun# - ipnodes.{byname,byaddr} is used for protocol independent mapping. 2571.10Sitojun# We generate all the mappings from /etc/hosts, for compatibility with NetBSD 2581.10Sitojun# local name resolution. 2591.10Sitojun# 2601.5Slukemhosts.time: ${DIR}/hosts 2611.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 2621.22Shauke ${STDHOSTS} ${.ALLSRC} | \ 2631.5Slukem ${AWK} '{for (i = 2; i <= NF; i++) print $$i, $$0 }' | \ 2641.9Sabs ${SORT} | ${MAKEDBM} - hosts.byname; \ 2651.5Slukem ${STDHOSTS} ${.ALLSRC} | \ 2661.5Slukem ${AWK} 'BEGIN { OFS="\t"; } { print $$1, $$0 }' | \ 2671.9Sabs ${SORT} | ${MAKEDBM} - hosts.byaddr; \ 2681.5Slukem ${TOUCH} ${.TARGET}; \ 2691.5Slukem ${ECHO} "updated hosts"; \ 2701.5Slukem if [ ! ${NOPUSH} ]; then \ 2711.5Slukem ${YPPUSH} -d ${DOMAIN} hosts.byname; \ 2721.5Slukem ${YPPUSH} -d ${DOMAIN} hosts.byaddr; \ 2731.5Slukem ${ECHO} "pushed hosts"; \ 2741.1Sthorpej else \ 2751.1Sthorpej : ; \ 2761.1Sthorpej fi \ 2771.1Sthorpej else \ 2781.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 2791.1Sthorpej fi 2801.1Sthorpej 2811.5Slukem 2821.10Sitojunipnodes.time: ${DIR}/hosts 2831.10Sitojun -@if [ -f ${.ALLSRC} ]; then \ 2841.22Shauke ${STDHOSTS} -n ${.ALLSRC} | \ 2851.10Sitojun ${AWK} '{for (i = 2; i <= NF; i++) print $$i, $$0 }' | \ 2861.10Sitojun ${SORT} | ${MAKEDBM} - ipnodes.byname; \ 2871.10Sitojun ${STDHOSTS} -n ${.ALLSRC} | \ 2881.10Sitojun ${AWK} 'BEGIN { OFS="\t"; } { print $$1, $$0 }' | \ 2891.10Sitojun ${SORT} | ${MAKEDBM} - ipnodes.byaddr; \ 2901.10Sitojun ${TOUCH} ${.TARGET}; \ 2911.10Sitojun ${ECHO} "updated ipnodes"; \ 2921.10Sitojun if [ ! ${NOPUSH} ]; then \ 2931.10Sitojun ${YPPUSH} -d ${DOMAIN} ipnodes.byname; \ 2941.10Sitojun ${YPPUSH} -d ${DOMAIN} ipnodes.byaddr; \ 2951.10Sitojun ${ECHO} "pushed ipnodes"; \ 2961.10Sitojun else \ 2971.10Sitojun : ; \ 2981.10Sitojun fi \ 2991.10Sitojun else \ 3001.10Sitojun ${ECHO} "couldn't find ${.ALLSRC}"; \ 3011.10Sitojun fi 3021.10Sitojun 3031.10Sitojun 3041.16Schristosnetgroup.time: ${DIR}/netgroup __makedbmesc 3051.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3061.5Slukem ${CAT} ${.ALLSRC} | ${REVNETGROUP} -u -f - | \ 3071.9Sabs ${SORT} | ${MAKEDBM} - netgroup.byuser; \ 3081.5Slukem ${CAT} ${.ALLSRC} | ${REVNETGROUP} -h -f - | \ 3091.9Sabs ${SORT} | ${MAKEDBM} - netgroup.byhost; \ 3101.5Slukem ${TOUCH} ${.TARGET}; \ 3111.5Slukem ${ECHO} "updated netgroup"; \ 3121.5Slukem if [ ! ${NOPUSH} ]; then \ 3131.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup; \ 3141.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup.byuser; \ 3151.5Slukem ${YPPUSH} -d ${DOMAIN} netgroup.byhost; \ 3161.5Slukem ${ECHO} "pushed netgroup"; \ 3171.1Sthorpej else \ 3181.1Sthorpej : ; \ 3191.1Sthorpej fi \ 3201.1Sthorpej else \ 3211.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3221.1Sthorpej fi 3231.1Sthorpej 3241.5Slukem 3251.5Slukemnetworks.time: ${DIR}/networks 3261.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3271.5Slukem ${SED} -e "/^#/d" -e s/#.*$$// ${.ALLSRC} | \ 3281.5Slukem ${AWK} '{print $$1, $$0; \ 3291.5Slukem for (i = 3;i <= NF;i++) print $$i,$$0}' | \ 3301.9Sabs ${SORT} | ${MAKEDBM} - networks.byname; \ 3311.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3321.5Slukem ${.ALLSRC} | \ 3331.9Sabs ${SORT} | ${MAKEDBM} - networks.byaddr; \ 3341.5Slukem ${TOUCH} ${.TARGET}; \ 3351.5Slukem ${ECHO} "updated networks"; \ 3361.5Slukem if [ ! ${NOPUSH} ]; then \ 3371.5Slukem ${YPPUSH} -d ${DOMAIN} networks.byname; \ 3381.5Slukem ${YPPUSH} -d ${DOMAIN} networks.byaddr; \ 3391.5Slukem ${ECHO} "pushed networks"; \ 3401.1Sthorpej else \ 3411.1Sthorpej : ; \ 3421.1Sthorpej fi \ 3431.1Sthorpej else \ 3441.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3451.1Sthorpej fi 3461.1Sthorpej 3471.1Sthorpej 3481.5Slukemprotocols.time: ${DIR}/protocols 3491.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3501.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3511.5Slukem ${.ALLSRC} | \ 3521.9Sabs ${SORT} | ${MAKEDBM} - protocols.bynumber; \ 3531.5Slukem ${SED} -e "/^#/d" -e s/#.*$$// ${.ALLSRC} | \ 3541.5Slukem ${AWK} '{print $$1, $$0; \ 3551.5Slukem for (i = 3;i <= NF;i++) print $$i,$$0}' | \ 3561.9Sabs ${SORT} | ${MAKEDBM} - protocols.byname; \ 3571.5Slukem ${TOUCH} ${.TARGET}; \ 3581.5Slukem ${ECHO} "updated protocols"; \ 3591.5Slukem if [ ! ${NOPUSH} ]; then \ 3601.5Slukem ${YPPUSH} -d ${DOMAIN} protocols.bynumber; \ 3611.5Slukem ${YPPUSH} -d ${DOMAIN} protocols.byname; \ 3621.5Slukem ${ECHO} "pushed protocols"; \ 3631.1Sthorpej else \ 3641.1Sthorpej : ; \ 3651.1Sthorpej fi \ 3661.1Sthorpej else \ 3671.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3681.1Sthorpej fi 3691.1Sthorpej 3701.1Sthorpej 3711.5Slukemrpc.time: ${DIR}/rpc 3721.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3731.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3741.5Slukem ${.ALLSRC} | \ 3751.9Sabs ${SORT} | ${MAKEDBM} - rpc.bynumber; \ 3761.5Slukem ${TOUCH} ${.TARGET}; \ 3771.5Slukem ${ECHO} "updated rpc"; \ 3781.5Slukem if [ ! ${NOPUSH} ]; then \ 3791.5Slukem ${YPPUSH} -d ${DOMAIN} rpc.bynumber; \ 3801.5Slukem ${ECHO} "pushed rpc"; \ 3811.1Sthorpej else \ 3821.1Sthorpej : ; \ 3831.1Sthorpej fi \ 3841.1Sthorpej else \ 3851.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 3861.1Sthorpej fi 3871.1Sthorpej 3881.1Sthorpej 3891.5Slukemservices.time: ${DIR}/services 3901.5Slukem -@if [ -f ${.ALLSRC} ]; then \ 3911.5Slukem ${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \ 3921.5Slukem ${.ALLSRC} | \ 3931.9Sabs ${SORT} | ${MAKEDBM} - services.byname; \ 3941.5Slukem ${TOUCH} ${.TARGET}; \ 3951.5Slukem ${ECHO} "updated services"; \ 3961.5Slukem if [ ! ${NOPUSH} ]; then \ 3971.5Slukem ${YPPUSH} -d ${DOMAIN} services.byname; \ 3981.5Slukem ${ECHO} "pushed services"; \ 3991.5Slukem else \ 4001.5Slukem : ; \ 4011.5Slukem fi \ 4021.5Slukem else \ 4031.5Slukem ${ECHO} "couldn't find ${.ALLSRC}"; \ 4041.5Slukem fi 4051.5Slukem 4061.5Slukem 4071.5Slukemnetid.time: ${DIR}/passwd ${DIR}/group ${DIR}/hosts ${DIR}/netid 4081.5Slukem -@${MKNETID} -q -d ${DOMAIN} -p ${DIR}/passwd -g ${DIR}/group -h \ 4091.5Slukem ${DIR}/hosts -m ${DIR}/netid | \ 4101.9Sabs ${SORT} | ${MAKEDBM} - netid.byname; \ 4111.5Slukem ${TOUCH} ${.TARGET}; \ 4121.5Slukem ${ECHO} "updated netid"; \ 4131.5Slukem if [ ! ${NOPUSH} ]; then \ 4141.5Slukem ${YPPUSH} -d ${DOMAIN} netid.byname; \ 4151.5Slukem ${ECHO} "pushed netid"; \ 4161.1Sthorpej else \ 4171.1Sthorpej : ; \ 4181.1Sthorpej fi 4191.1Sthorpej 4201.5Slukem 4211.6Slukemypservers.time: ${.CURDIR}/ypservers 4221.6Slukem -@${MAKEDBM} ypservers ypservers; \ 4231.6Slukem ${TOUCH} ${.TARGET}; \ 4241.5Slukem ${ECHO} "updated ypservers"; \ 4251.5Slukem if [ ! ${NOPUSH} ]; then \ 4261.5Slukem ${YPPUSH} -d ${DOMAIN} ypservers; \ 4271.5Slukem ${ECHO} "pushed ypservers"; \ 4281.2Sthorpej else \ 4291.2Sthorpej : ; \ 4301.2Sthorpej fi 4311.1Sthorpej 4321.5Slukem 4331.1Sthorpejpasswd: passwd.time 4341.1Sthorpejgroup: group.time 4351.1Sthorpejhosts: hosts.time 4361.10Sitojunipnodes: ipnodes.time 4371.5Slukemaliases: aliases.time 4381.17Shubertf.for MAP in ${AMDMAPS} 4391.17Shubertf${MAP}: ${MAP}.time 4401.17Shubertf.endfor # AMDMAPS 4411.1Sthorpejethers: ethers.time 4421.5Slukemnetgroup: netgroup.time 4431.1Sthorpejnetworks: networks.time 4441.1Sthorpejrpc: rpc.time 4451.1Sthorpejservices: services.time 4461.11Schristosshadow: shadow.time 4471.1Sthorpejprotocols: protocols.time 4481.1Sthorpejnetid: netid.time 4491.6Slukemypservers: ypservers.time 4501.5Slukem 4511.5Slukem${DIR}/passwd: 4521.5Slukem${DIR}/group: 4531.5Slukem${DIR}/hosts: 4541.13Sitojun${DIR}/mail/aliases: 4551.17Shubertf.for MAP in ${AMDMAPS} 4561.17Shubertf${AMDDIR}/${MAP}: 4571.17Shubertf.endfor # AMDMAPS 4581.5Slukem${DIR}/ethers: 4591.5Slukem${DIR}/master.passwd: 4601.5Slukem${DIR}/netgroup: 4611.5Slukem${DIR}/networks: 4621.5Slukem${DIR}/rpc: 4631.5Slukem${DIR}/services: 4641.5Slukem${DIR}/protocols: 4651.5Slukem${DIR}/netid: 466