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