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