Home | History | Annotate | Line # | Download | only in user
Makefile revision 1.11
      1 # $NetBSD: Makefile,v 1.11 2008/10/19 22:05:24 apb Exp $
      2 #
      3 .include <bsd.own.mk>
      4 
      5 CPPFLAGS+= -DEXTENSIONS -DPW_MKDB_ARGC=2
      6 WARNS= 3
      7 
      8 PROG= user
      9 SRCS+= user.c main.c
     10 LINKS+=	${BINDIR}/user ${BINDIR}/useradd
     11 LINKS+=	${BINDIR}/user ${BINDIR}/userdel
     12 LINKS+=	${BINDIR}/user ${BINDIR}/usermod
     13 LINKS+=	${BINDIR}/user ${BINDIR}/group
     14 LINKS+=	${BINDIR}/user ${BINDIR}/groupadd
     15 LINKS+=	${BINDIR}/user ${BINDIR}/groupdel
     16 LINKS+=	${BINDIR}/user ${BINDIR}/groupmod
     17 LINKS+=	${BINDIR}/user ${BINDIR}/userinfo
     18 LINKS+=	${BINDIR}/user ${BINDIR}/groupinfo
     19 LDADD+= -lutil 
     20 DPADD+= ${LIBUTIL}
     21 MAN= user.8 useradd.8 userdel.8 usermod.8 userinfo.8 usermgmt.conf.5
     22 MAN+= group.8 groupadd.8 groupdel.8 groupmod.8 groupinfo.8
     23 MLINKS=	useradd.8 adduser.8
     24 
     25 # this target checks the built-in default group, and, if it doesn't exist,
     26 # creates it
     27 default-group:
     28 	@ln -fs ${.OBJDIR}/user ${.OBJDIR}/group;			\
     29 	defgrp=`${.OBJDIR}/user add -D |				\
     30 		${TOOL_AWK} '/^group/ { print $$2 }'`;			\
     31 	if ${.OBJDIR}/group info -e $$defgrp; then			\
     32 		defgid=`${.OBJDIR}/group info $$defgrp |		\
     33 			${TOOL_AWK} '/^gid/ { print $$2 }'`;		\
     34 	else								\
     35 		defgid=99;						\
     36 		while [ $$defgid -gt 0 ]; do				\
     37 			${.OBJDIR}/group info -e $$defgid || break;	\
     38 			defgid=`expr $$defgid - 1`;			\
     39 		done;							\
     40 		if [ $$defgid -eq 0 ]; then				\
     41 			defgid=100;					\
     42 			while [ $$defgid -lt 60000 ]; do		\
     43 				${.OBJDIR}/group info -e $$defgid || break; \
     44 				defgid=`expr $$defgid + 1`;		\
     45 			done;						\
     46 			if [ $$defgid -eq 60000 ]; then			\
     47 				echo "No gids left";			\
     48 				exit 1;					\
     49 			fi;						\
     50 		fi;							\
     51 		${.OBJDIR}/group add -g $$defgid $$defgrp;		\
     52 	fi;								\
     53 	echo "Default group is $$defgrp ($$defgid):";			\
     54 	${.OBJDIR}/group info $$defgrp
     55 
     56 .include <bsd.prog.mk>
     57 
     58 test: ${PROG}
     59 	@echo "No news is good news"
     60 	@echo "1. Adding new user"
     61 	@rm -f useradd
     62 	@ln -s user useradd
     63 	-./useradd -m -g=uid test1.1
     64 	@echo "2. Modifying new user"
     65 	-./${PROG} mod -l test1.2 test1.1
     66 	@echo "3. Deleting new user"
     67 	-./${PROG} del -r test1.2
     68 	@echo "4. Attempting to add an invalid user name - IGNORE ANY ERROR"
     69 	-./${PROG} add -m test1%1
     70 	@echo "5. Bad usage - IGNORE ANY ERROR"
     71 	-./${PROG} add -m
     72 	@echo "6. Set range defaults"
     73 	-./${PROG} add -D -r4000..6000
     74 	-./${PROG} add -D
     75 	@echo "7. Get user information"
     76 	-./${PROG} info root
     77 	@echo "8. Bad user name - IGNORE ANY ERROR"
     78 	-./${PROG} info test1%1 || echo "User not found"
     79 	@echo "All tests completed"
     80