Makefile.yp revision 1.15
11.15Swiz#	$NetBSD: Makefile.yp,v 1.15 2001/06/19 12:59:18 wiz 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.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.13Sitojunaliases.time: ${DIR}/mail/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.14Sscottr		${SED} -e "s/#.*$$//" -e "/^$$/d" ${.ALLSRC} | \
2751.14Sscottr		${AWK} '{ \
2761.14Sscottr			    for (i = 1; i <= NF; i++) \
2771.14Sscottr				if (i == NF) { \
2781.14Sscottr				    if (substr($$i, length($$i), 1) == "\\") { \
2791.14Sscottr					printf("%s", \
2801.14Sscottr					    substr($$i, 1, length($$i) - 1)); \
2811.14Sscottr				    } \
2821.14Sscottr				    else \
2831.14Sscottr					printf("%s\n", $$i); \
2841.14Sscottr				} \
2851.14Sscottr				else \
2861.14Sscottr				    printf("%s ", $$i); \
2871.14Sscottr			}' | \
2881.14Sscottr		${SORT} | ${MAKEDBM} - netgroup; \
2891.5Slukem		${CAT} ${.ALLSRC} | ${REVNETGROUP} -u -f - | \
2901.9Sabs		${SORT} | ${MAKEDBM} - netgroup.byuser; \
2911.5Slukem		${CAT} ${.ALLSRC} | ${REVNETGROUP} -h -f - | \
2921.9Sabs		${SORT} | ${MAKEDBM} - netgroup.byhost; \
2931.5Slukem		${TOUCH} ${.TARGET}; \
2941.5Slukem		${ECHO} "updated netgroup"; \
2951.5Slukem		if [ ! ${NOPUSH} ]; then \
2961.5Slukem			${YPPUSH} -d ${DOMAIN} netgroup; \
2971.5Slukem			${YPPUSH} -d ${DOMAIN} netgroup.byuser; \
2981.5Slukem			${YPPUSH} -d ${DOMAIN} netgroup.byhost; \
2991.5Slukem			${ECHO} "pushed netgroup"; \
3001.1Sthorpej		else \
3011.1Sthorpej			: ; \
3021.1Sthorpej		fi \
3031.1Sthorpej	else \
3041.5Slukem		${ECHO} "couldn't find ${.ALLSRC}"; \
3051.1Sthorpej	fi
3061.1Sthorpej
3071.5Slukem
3081.5Slukemnetworks.time: ${DIR}/networks
3091.5Slukem	-@if [ -f ${.ALLSRC} ]; then \
3101.5Slukem		${SED} -e "/^#/d" -e s/#.*$$// ${.ALLSRC} | \
3111.5Slukem		${AWK} '{print $$1, $$0; \
3121.5Slukem		    for (i = 3;i <= NF;i++) print $$i,$$0}' | \
3131.9Sabs		${SORT} | ${MAKEDBM} - networks.byname; \
3141.5Slukem		${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \
3151.5Slukem		    ${.ALLSRC} | \
3161.9Sabs		${SORT} | ${MAKEDBM} - networks.byaddr; \
3171.5Slukem		${TOUCH} ${.TARGET}; \
3181.5Slukem		${ECHO} "updated networks"; \
3191.5Slukem		if [ ! ${NOPUSH} ]; then \
3201.5Slukem			${YPPUSH} -d ${DOMAIN} networks.byname; \
3211.5Slukem			${YPPUSH} -d ${DOMAIN} networks.byaddr; \
3221.5Slukem			${ECHO} "pushed networks"; \
3231.1Sthorpej		else \
3241.1Sthorpej			: ; \
3251.1Sthorpej		fi \
3261.1Sthorpej	else \
3271.5Slukem		${ECHO} "couldn't find ${.ALLSRC}"; \
3281.1Sthorpej	fi
3291.1Sthorpej
3301.1Sthorpej
3311.5Slukemprotocols.time: ${DIR}/protocols
3321.5Slukem	-@if [ -f ${.ALLSRC} ]; then \
3331.5Slukem		${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \
3341.5Slukem		    ${.ALLSRC} | \
3351.9Sabs		${SORT} | ${MAKEDBM} - protocols.bynumber; \
3361.5Slukem		${SED} -e "/^#/d" -e s/#.*$$// ${.ALLSRC} | \
3371.5Slukem		${AWK} '{print $$1, $$0; \
3381.5Slukem		    for (i = 3;i <= NF;i++) print $$i,$$0}' | \
3391.9Sabs		${SORT} | ${MAKEDBM} - protocols.byname; \
3401.5Slukem		${TOUCH} ${.TARGET}; \
3411.5Slukem		${ECHO} "updated protocols"; \
3421.5Slukem		if [ ! ${NOPUSH} ]; then \
3431.5Slukem			${YPPUSH} -d ${DOMAIN} protocols.bynumber; \
3441.5Slukem			${YPPUSH} -d ${DOMAIN} protocols.byname; \
3451.5Slukem			${ECHO} "pushed protocols"; \
3461.1Sthorpej		else \
3471.1Sthorpej			: ; \
3481.1Sthorpej		fi \
3491.1Sthorpej	else \
3501.5Slukem		${ECHO} "couldn't find ${.ALLSRC}"; \
3511.1Sthorpej	fi
3521.1Sthorpej
3531.1Sthorpej
3541.5Slukemrpc.time: ${DIR}/rpc
3551.5Slukem	-@if [ -f ${.ALLSRC} ]; then \
3561.5Slukem		${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \
3571.5Slukem		    ${.ALLSRC} | \
3581.9Sabs		${SORT} | ${MAKEDBM} - rpc.bynumber; \
3591.5Slukem		${TOUCH} ${.TARGET}; \
3601.5Slukem		${ECHO} "updated rpc"; \
3611.5Slukem		if [ ! ${NOPUSH} ]; then \
3621.5Slukem			${YPPUSH} -d ${DOMAIN} rpc.bynumber; \
3631.5Slukem			${ECHO} "pushed rpc"; \
3641.1Sthorpej		else \
3651.1Sthorpej			: ; \
3661.1Sthorpej		fi \
3671.1Sthorpej	else \
3681.5Slukem		${ECHO} "couldn't find ${.ALLSRC}"; \
3691.1Sthorpej	fi
3701.1Sthorpej
3711.1Sthorpej
3721.5Slukemservices.time: ${DIR}/services
3731.5Slukem	-@if [ -f ${.ALLSRC} ]; then \
3741.5Slukem		${AWK} 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' \
3751.5Slukem		    ${.ALLSRC} | \
3761.9Sabs		${SORT} | ${MAKEDBM} - services.byname; \
3771.5Slukem		${TOUCH} ${.TARGET}; \
3781.5Slukem		${ECHO} "updated services"; \
3791.5Slukem		if [ ! ${NOPUSH} ]; then \
3801.5Slukem			${YPPUSH} -d ${DOMAIN} services.byname; \
3811.5Slukem			${ECHO} "pushed services"; \
3821.5Slukem		else \
3831.5Slukem			: ; \
3841.5Slukem		fi \
3851.5Slukem	else \
3861.5Slukem		${ECHO} "couldn't find ${.ALLSRC}"; \
3871.5Slukem	fi
3881.5Slukem
3891.5Slukem
3901.5Slukemnetid.time: ${DIR}/passwd ${DIR}/group ${DIR}/hosts ${DIR}/netid
3911.5Slukem	-@${MKNETID} -q -d ${DOMAIN} -p ${DIR}/passwd -g ${DIR}/group -h \
3921.5Slukem	      ${DIR}/hosts -m ${DIR}/netid | \
3931.9Sabs	  ${SORT} | ${MAKEDBM} - netid.byname; \
3941.5Slukem	  ${TOUCH} ${.TARGET}; \
3951.5Slukem	  ${ECHO} "updated netid"; \
3961.5Slukem	  if [ ! ${NOPUSH} ]; then \
3971.5Slukem		${YPPUSH} -d ${DOMAIN} netid.byname; \
3981.5Slukem		${ECHO} "pushed netid"; \
3991.1Sthorpej	  else \
4001.1Sthorpej		: ; \
4011.1Sthorpej	  fi
4021.1Sthorpej
4031.5Slukem
4041.6Slukemypservers.time: ${.CURDIR}/ypservers
4051.6Slukem	-@${MAKEDBM} ypservers ypservers; \
4061.6Slukem	${TOUCH} ${.TARGET}; \
4071.5Slukem	${ECHO} "updated ypservers"; \
4081.5Slukem	if [ ! ${NOPUSH} ]; then \
4091.5Slukem		${YPPUSH} -d ${DOMAIN} ypservers; \
4101.5Slukem		${ECHO} "pushed ypservers"; \
4111.2Sthorpej	else \
4121.2Sthorpej		: ; \
4131.2Sthorpej	fi
4141.1Sthorpej
4151.5Slukem
4161.1Sthorpejpasswd: passwd.time
4171.1Sthorpejgroup: group.time
4181.1Sthorpejhosts: hosts.time
4191.10Sitojunipnodes: ipnodes.time
4201.5Slukemaliases: aliases.time
4211.5Slukemamd.home: amd.home.time
4221.1Sthorpejethers: ethers.time
4231.5Slukemnetgroup: netgroup.time
4241.1Sthorpejnetworks: networks.time
4251.1Sthorpejrpc: rpc.time
4261.1Sthorpejservices: services.time
4271.11Schristosshadow: shadow.time
4281.1Sthorpejprotocols: protocols.time
4291.1Sthorpejnetid: netid.time
4301.6Slukemypservers: ypservers.time
4311.5Slukem
4321.5Slukem${DIR}/passwd:
4331.5Slukem${DIR}/group:
4341.5Slukem${DIR}/hosts:
4351.13Sitojun${DIR}/mail/aliases:
4361.5Slukem${AMDDIR}/amd.home:
4371.5Slukem${DIR}/ethers:
4381.5Slukem${DIR}/master.passwd:
4391.5Slukem${DIR}/netgroup:
4401.5Slukem${DIR}/networks:
4411.5Slukem${DIR}/rpc:
4421.5Slukem${DIR}/services:
4431.5Slukem${DIR}/protocols:
4441.5Slukem${DIR}/netid:
445