Date: Sun, 7 Aug 2011 03:52:02 -0400 (EDT) From: Sahil Tandon <sahil@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: ohauer@FreeBSD.org, portmgr@FreeBSD.org Subject: ports/159577: [PATCH] ports/Mk/bsd.port.mk: fix and simplify adding USERS to GROUPS Message-ID: <20110807075202.207FE170F9@spartan.hamla.org> Resent-Message-ID: <201108070800.p7780LDC030068@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 159577 >Category: ports >Synopsis: [PATCH] ports/Mk/bsd.port.mk: fix and simplify adding USERS to GROUPS >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Aug 07 08:00:21 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Sahil Tandon >Release: FreeBSD 9.0-CURRENT i386 >Organization: >Environment: >Description: In the attached patch, I aim to fix the USERS/GROUPS problem described in a recent thread on freebsd-ports: http://lists.freebsd.org/pipermail/freebsd-ports/2011-August/069053.html I also removed a DEBUG line that I believe was unintentionally committed as an artifact of ports/152498 (see flz's last comment in the audit-trail). >How-To-Repeat: See abovementioned thread. >Fix: --- bsd.port.mk.diff begins here --- Index: bsd.port.mk =================================================================== RCS file: /home/pcvs/ports/Mk/bsd.port.mk,v retrieving revision 1.690 diff -u -r1.690 bsd.port.mk --- bsd.port.mk 21 Jul 2011 15:10:46 -0000 1.690 +++ bsd.port.mk 7 Aug 2011 07:36:02 -0000 @@ -4237,14 +4237,13 @@ IFS=","; for _login in $$members; do \ for _user in ${USERS}; do \ if [ "x$${_user}" = "x$${_login}" ]; then \ - list=`${PW} usershow $${_login} -P | ${SED} -ne 's/.*Groups: //p'`; \ - ${ECHO_MSG} "Setting \`$${_login}' groups to \`$$list$${list:+,}${_group}'."; \ - ${PW} usermod $${_login} -G $$list$${list:+,}${_group}; \ - ${ECHO_CMD} "@exec list=\`${PW} usershow $${_login} -P | ${SED} -ne 's/.*Groups: //p'\`; \ - echo \"Setting '$${_login}' groups to '$$list$${list:+,}${_group}'.\"; \ - ${PW} usermod $${_login} -G $${list},${_group}" >> ${TMPPLIST}; \ - else \ - ${ECHO_MSG} "==> DEBUG skip login $${_login} => not defined in USERS \"( ${USERS} )\""; \ + if ! ${PW} groupshow ${_group} | ${GREP} -qw $${_login}; then \ + ${ECHO_MSG} "Adding user \`$${_login}' to group \`${_group}'."; \ + ${PW} groupmod ${_group} -m $${_login}; \ + fi; \ + ${ECHO_CMD} "@exec if ! ${PW} groupshow ${_group} | ${GREP} -qw $${_login}; then \ + echo \"Adding user '$${_login}' to group '${_group}'.\"; \ + ${PW} groupmod ${_group} -m $${_login}; fi" >> ${TMPPLIST}; \ fi; \ done; \ done; \ --- bsd.port.mk.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110807075202.207FE170F9>