ports/159577: [PATCH] ports/Mk/bsd.port.mk: fix and simplify adding USERS to GROUPS
Sahil Tandon
sahil at FreeBSD.org
Sun Aug 7 08:00:22 UTC 2011
>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:
More information about the freebsd-ports-bugs
mailing list