Makefile revision 1.6
11.6Sagc# $NetBSD: Makefile,v 1.6 1999/12/24 09:08:48 agc Exp $
21.1Sagc#
31.4Ssimonb.include <bsd.own.mk>
41.4Ssimonb
51.1SagcCPPFLAGS+= -DEXTENSIONS
61.6SagcWARNS= 1
71.1Sagc
81.1SagcSKEL_DIR=	/etc/skel
91.1SagcEXAMPLE_DIR=	${DESTDIR}/usr/share/examples/usermgmt
101.1Sagc
111.1SagcPROG= user
121.6SagcSRCS+= user.c main.c
131.2SsimonbLINKS+=	${BINDIR}/user ${BINDIR}/useradd
141.2SsimonbLINKS+=	${BINDIR}/user ${BINDIR}/userdel
151.2SsimonbLINKS+=	${BINDIR}/user ${BINDIR}/usermod
161.2SsimonbLINKS+=	${BINDIR}/user ${BINDIR}/group
171.2SsimonbLINKS+=	${BINDIR}/user ${BINDIR}/groupadd
181.2SsimonbLINKS+=	${BINDIR}/user ${BINDIR}/groupdel
191.2SsimonbLINKS+=	${BINDIR}/user ${BINDIR}/groupmod
201.6SagcLINKS+=	${BINDIR}/user ${BINDIR}/userinfo
211.6SagcLINKS+=	${BINDIR}/user ${BINDIR}/groupinfo
221.1SagcLDADD+= -lutil 
231.4SsimonbDPADD+= ${LIBUTIL}
241.6SagcMAN= user.8 useradd.8 userdel.8 usermod.8 userinfo.8
251.6SagcMAN+= group.8 groupadd.8 groupdel.8 groupmod.8 groupinfo.8
261.5SsorenMLINKS=	useradd.8 adduser.8
271.1Sagc
281.4Ssimonb.if ${MKSHARE} != "no"
291.4SsimonbFILES=			dot.cshrc dot.login dot.profile
301.4SsimonbFILESNAME_dot.cshrc=	.cshrc
311.4SsimonbFILESNAME_dot.login=	.login
321.4SsimonbFILESNAME_dot.profile=	.profile
331.4SsimonbFILESDIR=		/usr/share/examples/usermgmt
341.4Ssimonb.endif
351.4Ssimonb
361.6Sagc# this target checks the built-in default group, and, if it doesn't exist,
371.6Sagc# creates it
381.6Sagcdefault-group:
391.6Sagc	@ln -fs ${.OBJDIR}/user ${.OBJDIR}/group;			\
401.6Sagc	defgrp=`${.OBJDIR}/user add -D | awk '/^group/ { print $$2 }'`;	\
411.6Sagc	if ${.OBJDIR}/group info -e $$defgrp; then			\
421.6Sagc		defgid=`${.OBJDIR}/group info $$defgrp | awk '/^gid/ { print $$2 }'`; \
431.6Sagc	else								\
441.6Sagc		defgid=99;						\
451.6Sagc		while [ $$defgid -gt 0 ]; do				\
461.6Sagc			${.OBJDIR}/group info -e $$defgid || break;	\
471.6Sagc			defgid=`expr $$defgid - 1`;			\
481.6Sagc		done;							\
491.6Sagc		if [ $$defgid -eq 0 ]; then				\
501.6Sagc			defgid=100;					\
511.6Sagc			while [ $$defgid -lt 60000 ]; do		\
521.6Sagc				${.OBJDIR}/group info -e $$defgid || break; \
531.6Sagc				defgid=`expr $$defgid + 1`;		\
541.6Sagc			done;						\
551.6Sagc			if [ $$defgid -eq 60000 ]; then			\
561.6Sagc				echo "No gids left";			\
571.6Sagc				exit 1;					\
581.6Sagc			fi;						\
591.6Sagc		fi;							\
601.6Sagc		${.OBJDIR}/group add -g $$defgid $$defgrp;		\
611.6Sagc	fi;								\
621.6Sagc	echo "Default group is $$defgrp ($$defgid):";			\
631.6Sagc	${.OBJDIR}/group info $$defgrp
641.6Sagc
651.1Sagc.include <bsd.prog.mk>
661.1Sagc
671.1Sagctest: ${PROG}
681.1Sagc	@echo "No news is good news"
691.1Sagc	@echo "1. Adding new user"
701.6Sagc	@rm -f useradd
711.6Sagc	@ln -s user useradd
721.6Sagc	-./useradd -m -g=uid test1.1
731.1Sagc	@echo "2. Modifying new user"
741.6Sagc	-./${PROG} mod -l test1.2 test1.1
751.1Sagc	@echo "3. Deleting new user"
761.6Sagc	-./${PROG} del -r test1.2
771.1Sagc	@echo "4. Attempting to add an invalid user name - IGNORE ANY ERROR"
781.1Sagc	-./${PROG} add -m test1%1
791.1Sagc	@echo "5. Bad usage - IGNORE ANY ERROR"
801.1Sagc	-./${PROG} add -m
811.6Sagc	@echo "6. Set range defaults"
821.6Sagc	-./${PROG} add -D -r4000..6000
831.6Sagc	-./${PROG} add -D
841.6Sagc	@echo "7. Get user information"
851.6Sagc	-./${PROG} info root
861.6Sagc	@echo "8. Bad user name - IGNORE ANY ERROR"
871.6Sagc	-./${PROG} info test1%1 || echo "User not found"
881.1Sagc	@echo "All tests completed"
89