svn commit: r328130 - head/Mk
Baptiste Daroussin
bapt at FreeBSD.org
Tue Sep 24 13:38:07 UTC 2013
Author: bapt
Date: Tue Sep 24 13:38:07 2013
New Revision: 328130
URL: http://svnweb.freebsd.org/changeset/ports/328130
Log:
Allow packaging as a user for stage ready ports
If you really root then you have to define NEED_ROOT in your port Makefile
Modified:
head/Mk/bsd.port.mk
Modified: head/Mk/bsd.port.mk
==============================================================================
--- head/Mk/bsd.port.mk Tue Sep 24 13:30:45 2013 (r328129)
+++ head/Mk/bsd.port.mk Tue Sep 24 13:38:07 2013 (r328130)
@@ -4111,12 +4111,14 @@ create-users-groups:
fi
@IFS=":"; ${GREP} -h ^${_group}: ${GID_FILES} | head -n 1 | while read group foo gid members; do \
gid=$$(($$gid+${GID_OFFSET})); \
+ if [ "${NO_STAGE}" = "yes" ]; then \
if ! ${PW} groupshow $$group >/dev/null 2>&1; then \
${ECHO_MSG} "Creating group \`$$group' with gid \`$$gid'."; \
${PW} groupadd $$group -g $$gid; \
else \
${ECHO_MSG} "Using existing group \`$$group'."; \
fi; \
+ fi ; \
${ECHO_CMD} "@exec if ! ${PW} groupshow $$group >/dev/null 2>&1; then \
echo \"Creating group '$$group' with gid '$$gid'.\"; \
${PW} groupadd $$group -g $$gid; else echo \"Using existing group '$$group'.\"; fi" >> ${TMPPLIST}; \
@@ -4140,6 +4142,7 @@ create-users-groups:
gid=$$(($$gid+${GID_OFFSET})); \
class="$${class:+-L }$$class"; \
homedir=$$(echo $$homedir | sed "s|^/usr/local|${PREFIX}|"); \
+ if [ "${NO_STAGE}" = "yes" ]; then \
if ! ${PW} usershow $$login >/dev/null 2>&1; then \
${ECHO_MSG} "Creating user \`$$login' with uid \`$$uid'."; \
eval ${PW} useradd $$login -u $$uid -g $$gid $$class -c \"$$gecos\" -d $$homedir -s $$shell; \
@@ -4147,6 +4150,7 @@ create-users-groups:
else \
${ECHO_MSG} "Using existing user \`$$login'."; \
fi; \
+ fi; \
${ECHO_CMD} "@exec if ! ${PW} usershow $$login >/dev/null 2>&1; then \
echo \"Creating user '$$login' with uid '$$uid'.\"; \
${PW} useradd $$login -u $$uid -g $$gid $$class -c \"$$gecos\" -d $$homedir -s $$shell; \
@@ -4291,10 +4295,17 @@ _BUILD_SEQ= build-message pre-build pre
_STAGE_DEP= build
_STAGE_SEQ= stage-message stage-dir run-depends lib-depends apply-slist pre-install generate-plist \
pre-su-install
+.if defined(NEED_ROOT)
_STAGE_SUSEQ= create-users-groups do-install post-install post-stage compress-man \
install-rc-script install-ldconfig-file install-license \
install-desktop-entries add-plist-info add-plist-docs add-plist-examples \
add-plist-data add-plist-post fix-plist-sequence
+.else
+_STAGE_SEQ+= create-users-groups do-install post-install post-stage compress-man \
+ install-rc-script install-ldconfig-file install-license \
+ install-desktop-entries add-plist-info add-plist-docs add-plist-examples \
+ add-plist-data add-plist-post fix-plist-sequence
+.endif
.if defined(WITH_PKGNG)
_INSTALL_DEP= stage
_INSTALL_SEQ= install-message run-depends lib-depends
@@ -4564,7 +4575,7 @@ deinstall-all:
.if !target(do-clean)
do-clean:
-.if !defined(NO_STAGE) && ${UID} != 0 && !defined(INSTALL_AS_USER) && exists(${STAGE_COOKIE})
+.if !defined(NO_STAGE) && defined(NEED_ROOT) && ${UID} != 0 && !defined(INSTALL_AS_USER) && exists(${STAGE_COOKIE})
@${ECHO_MSG} "===> Switching to root credentials for '${.TARGET}' target"
@cd ${.CURDIR} && \
${SU_CMD} "${MAKE} ${.TARGET}"
More information about the svn-ports-all
mailing list