View | Details | Raw Unified | Return to bug 203489
Collapse All | Expand All

(-)Mk/bsd.port.mk (-8 / +22 lines)
Lines 3666-3671 Link Here
3666
	@${RM} -f ${_UG_OUTPUT} || ${TRUE}
3666
	@${RM} -f ${_UG_OUTPUT} || ${TRUE}
3667
	@${ECHO_MSG} "===> Creating users and/or groups."
3667
	@${ECHO_MSG} "===> Creating users and/or groups."
3668
	@${ECHO_CMD} "echo \"===> Creating users and/or groups.\"" >> ${_UG_OUTPUT}
3668
	@${ECHO_CMD} "echo \"===> Creating users and/or groups.\"" >> ${_UG_OUTPUT}
3669
.if ${OPSYS} != FreeBSD || ${OSVERSION} < 1002000
3670
	@${ECHO_CMD} "PW=${PW}" >> ${_UG_OUTPUT}
3671
.else
3672
	@${ECHO_CMD} -e "if [ -n \"\$${PKG_ROOTDIR}\" -a \"\$${PKG_ROOTDIR}\" != \"/\" ]; then PW=\"${PW} -R \$${PKG_ROOTDIR}\"; else PW=${PW}; fi" >> ${_UG_OUTPUT}
3673
.endif
3669
.for _group in ${GROUPS}
3674
.for _group in ${GROUPS}
3670
# _bgpd:*:130:
3675
# _bgpd:*:130:
3671
	@if ! ${GREP} -h ^${_group}: ${GID_FILES} >/dev/null 2>&1; then \
3676
	@if ! ${GREP} -h ^${_group}: ${GID_FILES} >/dev/null 2>&1; then \
Lines 3674-3682 Link Here
3674
	fi
3679
	fi
3675
	@IFS=":"; ${GREP} -h ^${_group}: ${GID_FILES} | head -n 1 | while read group foo gid members; do \
3680
	@IFS=":"; ${GREP} -h ^${_group}: ${GID_FILES} | head -n 1 | while read group foo gid members; do \
3676
		gid=$$(($$gid+${GID_OFFSET})); \
3681
		gid=$$(($$gid+${GID_OFFSET})); \
3677
		${ECHO_CMD} -e "if ! ${PW} groupshow $$group >/dev/null 2>&1; then \n \
3682
		${ECHO_CMD} -e "if ! \$${PW} groupshow $$group >/dev/null 2>&1; then \n \
3678
			echo \"Creating group '$$group' with gid '$$gid'.\" \n \
3683
			echo \"Creating group '$$group' with gid '$$gid'.\" \n \
3679
			${PW} groupadd $$group -g $$gid; else echo \"Using existing group '$$group'.\"\nfi" >> ${_UG_OUTPUT}; \
3684
			\$${PW} groupadd $$group -g $$gid; else echo \"Using existing group '$$group'.\"\nfi" >> ${_UG_OUTPUT}; \
3680
	done
3685
	done
3681
.endfor
3686
.endfor
3682
.endif
3687
.endif
Lines 3697-3705 Link Here
3697
		gid=$$(($$gid+${GID_OFFSET})); \
3702
		gid=$$(($$gid+${GID_OFFSET})); \
3698
		class="$${class:+-L }$$class"; \
3703
		class="$${class:+-L }$$class"; \
3699
		homedir=$$(echo $$homedir | sed "s|^/usr/local|${PREFIX}|"); \
3704
		homedir=$$(echo $$homedir | sed "s|^/usr/local|${PREFIX}|"); \
3700
		${ECHO_CMD} -e "if ! ${PW} usershow $$login >/dev/null 2>&1; then \n \
3705
		${ECHO_CMD} -e "if ! \$${PW} usershow $$login >/dev/null 2>&1; then \n \
3701
			echo \"Creating user '$$login' with uid '$$uid'.\" \n \
3706
			echo \"Creating user '$$login' with uid '$$uid'.\" \n \
3702
			${PW} useradd $$login -u $$uid -g $$gid $$class -c \"$$gecos\" -d $$homedir -s $$shell \n \
3707
			\$${PW} useradd $$login -u $$uid -g $$gid $$class -c \"$$gecos\" -d $$homedir -s $$shell \n \
3703
			else \necho \"Using existing user '$$login'.\" \nfi" >> ${_UG_OUTPUT}; \
3708
			else \necho \"Using existing user '$$login'.\" \nfi" >> ${_UG_OUTPUT}; \
3704
		case $$homedir in /|/nonexistent|/var/empty) ;; *) ${ECHO_CMD} "${INSTALL} -d -g $$gid -o $$uid $$homedir" >> ${_UG_OUTPUT};; esac; \
3709
		case $$homedir in /|/nonexistent|/var/empty) ;; *) ${ECHO_CMD} "${INSTALL} -d -g $$gid -o $$uid $$homedir" >> ${_UG_OUTPUT};; esac; \
3705
	done
3710
	done
Lines 3712-3720 Link Here
3712
		IFS=","; for _login in $$members; do \
3717
		IFS=","; for _login in $$members; do \
3713
			for _user in ${USERS}; do \
3718
			for _user in ${USERS}; do \
3714
				if [ "x$${_user}" = "x$${_login}" ]; then \
3719
				if [ "x$${_user}" = "x$${_login}" ]; then \
3715
					${ECHO_CMD} -e "if ! ${PW} groupshow ${_group} | ${GREP} -qw $${_login}; then \n \
3720
					${ECHO_CMD} -e "if ! \$${PW} groupshow ${_group} | ${GREP} -qw $${_login}; then \n \
3716
						echo \"Adding user '$${_login}' to group '${_group}'.\" \n \
3721
						echo \"Adding user '$${_login}' to group '${_group}'.\" \n \
3717
						${PW} groupmod ${_group} -m $${_login} \nfi" >> ${_UG_OUTPUT}; \
3722
						\$${PW} groupmod ${_group} -m $${_login} \nfi" >> ${_UG_OUTPUT}; \
3718
				fi; \
3723
				fi; \
3719
			done; \
3724
			done; \
3720
		done; \
3725
		done; \
Lines 3723-3732 Link Here
3723
.endif
3728
.endif
3724
.if defined(USERS)
3729
.if defined(USERS)
3725
.for _user in ${USERS}
3730
.for _user in ${USERS}
3731
.if ${OPSYS} != FreeBSD || ${OSVERSION} < 1002000
3726
	@if [ ! ${USERS_BLACKLIST:M${_user}} ]; then \
3732
	@if [ ! ${USERS_BLACKLIST:M${_user}} ]; then \
3727
		${ECHO_CMD} "@unexec if ${PW} usershow ${_user} >/dev/null 2>&1; then \
3733
		${ECHO_CMD} "@unexec PW=${PW}; \
3728
		echo \"==> You should manually remove the \\\"${_user}\\\" user. \"; fi" >> ${TMPPLIST}; \
3734
			if \$${PW} usershow ${_user} >/dev/null 2>&1; then \
3735
			echo \"==> You should manually remove the \\\"${_user}\\\" user. \"; fi" >> ${TMPPLIST}; \
3729
	fi
3736
	fi
3737
.else
3738
	@if [ ! ${USERS_BLACKLIST:M${_user}} ]; then \
3739
		${ECHO_CMD} "@unexec if [ -n \"\$${PKG_ROOTDIR}\" -a \"\$${PKG_ROOTDIR}\" != \"/\" ]; then PW=\"${PW} -R \$${PKG_ROOTDIR}\"; else PW=${PW}; fi; \
3740
			if \$${PW} usershow ${_user} >/dev/null 2>&1; then \
3741
			echo \"==> You should manually remove the \\\"${_user}\\\" user. \"; fi" >> ${TMPPLIST}; \
3742
	fi
3743
.endif
3730
.endfor
3744
.endfor
3731
.endif
3745
.endif
3732
.endif
3746
.endif

Return to bug 203489