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