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