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