Makefile revision 1.11
11.11Sapb# $NetBSD: Makefile,v 1.11 2008/10/19 22:05:24 apb Exp $ 21.1Sagc# 31.4Ssimonb.include <bsd.own.mk> 41.4Ssimonb 51.8SagcCPPFLAGS+= -DEXTENSIONS -DPW_MKDB_ARGC=2 61.10SagcWARNS= 3 71.1Sagc 81.1SagcPROG= user 91.6SagcSRCS+= user.c main.c 101.2SsimonbLINKS+= ${BINDIR}/user ${BINDIR}/useradd 111.2SsimonbLINKS+= ${BINDIR}/user ${BINDIR}/userdel 121.2SsimonbLINKS+= ${BINDIR}/user ${BINDIR}/usermod 131.2SsimonbLINKS+= ${BINDIR}/user ${BINDIR}/group 141.2SsimonbLINKS+= ${BINDIR}/user ${BINDIR}/groupadd 151.2SsimonbLINKS+= ${BINDIR}/user ${BINDIR}/groupdel 161.2SsimonbLINKS+= ${BINDIR}/user ${BINDIR}/groupmod 171.6SagcLINKS+= ${BINDIR}/user ${BINDIR}/userinfo 181.6SagcLINKS+= ${BINDIR}/user ${BINDIR}/groupinfo 191.1SagcLDADD+= -lutil 201.4SsimonbDPADD+= ${LIBUTIL} 211.9SgrantMAN= user.8 useradd.8 userdel.8 usermod.8 userinfo.8 usermgmt.conf.5 221.6SagcMAN+= group.8 groupadd.8 groupdel.8 groupmod.8 groupinfo.8 231.5SsorenMLINKS= useradd.8 adduser.8 241.4Ssimonb 251.6Sagc# this target checks the built-in default group, and, if it doesn't exist, 261.6Sagc# creates it 271.6Sagcdefault-group: 281.6Sagc @ln -fs ${.OBJDIR}/user ${.OBJDIR}/group; \ 291.11Sapb defgrp=`${.OBJDIR}/user add -D | \ 301.11Sapb ${TOOL_AWK} '/^group/ { print $$2 }'`; \ 311.6Sagc if ${.OBJDIR}/group info -e $$defgrp; then \ 321.11Sapb defgid=`${.OBJDIR}/group info $$defgrp | \ 331.11Sapb ${TOOL_AWK} '/^gid/ { print $$2 }'`; \ 341.6Sagc else \ 351.6Sagc defgid=99; \ 361.6Sagc while [ $$defgid -gt 0 ]; do \ 371.6Sagc ${.OBJDIR}/group info -e $$defgid || break; \ 381.6Sagc defgid=`expr $$defgid - 1`; \ 391.6Sagc done; \ 401.6Sagc if [ $$defgid -eq 0 ]; then \ 411.6Sagc defgid=100; \ 421.6Sagc while [ $$defgid -lt 60000 ]; do \ 431.6Sagc ${.OBJDIR}/group info -e $$defgid || break; \ 441.6Sagc defgid=`expr $$defgid + 1`; \ 451.6Sagc done; \ 461.6Sagc if [ $$defgid -eq 60000 ]; then \ 471.6Sagc echo "No gids left"; \ 481.6Sagc exit 1; \ 491.6Sagc fi; \ 501.6Sagc fi; \ 511.6Sagc ${.OBJDIR}/group add -g $$defgid $$defgrp; \ 521.6Sagc fi; \ 531.6Sagc echo "Default group is $$defgrp ($$defgid):"; \ 541.6Sagc ${.OBJDIR}/group info $$defgrp 551.6Sagc 561.1Sagc.include <bsd.prog.mk> 571.1Sagc 581.1Sagctest: ${PROG} 591.1Sagc @echo "No news is good news" 601.1Sagc @echo "1. Adding new user" 611.6Sagc @rm -f useradd 621.6Sagc @ln -s user useradd 631.6Sagc -./useradd -m -g=uid test1.1 641.1Sagc @echo "2. Modifying new user" 651.6Sagc -./${PROG} mod -l test1.2 test1.1 661.1Sagc @echo "3. Deleting new user" 671.6Sagc -./${PROG} del -r test1.2 681.1Sagc @echo "4. Attempting to add an invalid user name - IGNORE ANY ERROR" 691.1Sagc -./${PROG} add -m test1%1 701.1Sagc @echo "5. Bad usage - IGNORE ANY ERROR" 711.1Sagc -./${PROG} add -m 721.6Sagc @echo "6. Set range defaults" 731.6Sagc -./${PROG} add -D -r4000..6000 741.6Sagc -./${PROG} add -D 751.6Sagc @echo "7. Get user information" 761.6Sagc -./${PROG} info root 771.6Sagc @echo "8. Bad user name - IGNORE ANY ERROR" 781.6Sagc -./${PROG} info test1%1 || echo "User not found" 791.1Sagc @echo "All tests completed" 80