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