diff --git a/Mk/Uses/proccontrol.mk b/Mk/Uses/proccontrol.mk new file mode 100644 --- /dev/null +++ b/Mk/Uses/proccontrol.mk @@ -0,0 +1,21 @@ +# Modify execution parameters of port build stages processes +# +# Feature: proccontrol +# Usage: USES=proccontrol +# Valid ARGS: none +# +# Variables +# +# PROCCONTROL_SET= protmax:disable wxmap:enable + +.if !defined(_INCLUDE_USES_PROCCONTROL_MK) +_INCLUDE_USES_PROCCONTROL_MK= yes + +. if ! empty(PROCCONTROL_SET) +. for mode in ${PROCCONTROL_SET} + PROCCONTROL_EXEC+= ${PROCCONTROL} -m ${mode:C/:.*//} \ + -s ${mode:C/.*://} +. endfor +. endif + +.endif diff --git a/Mk/bsd.commands.mk b/Mk/bsd.commands.mk --- a/Mk/bsd.commands.mk +++ b/Mk/bsd.commands.mk @@ -74,6 +74,7 @@ PASTE?= /usr/bin/paste PAX?= /bin/pax PRINTF?= /usr/bin/printf +PROCCONTROL?= /usr/bin/proccontrol PS_CMD?= /bin/ps PW?= /usr/sbin/pw READELF?= /usr/bin/readelf diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -2718,22 +2718,22 @@ SET_LATE_CONFIGURE_ARGS= \ _LATE_CONFIGURE_ARGS="" ; \ if [ -z "${CONFIGURE_ARGS:M--localstatedir=*:Q}" ] && \ - ${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- --localstatedir > /dev/null; then \ + ${PROCCONTROL_EXEC} ${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- --localstatedir > /dev/null; then \ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --localstatedir=/var" ; \ fi ; \ - if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--mandir'`" ]; then \ + if [ ! -z "`${PROCCONTROL_EXEC} ${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--mandir'`" ]; then \ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --mandir=${GNU_CONFIGURE_MANPREFIX}/man" ; \ fi ; \ - if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--disable-silent-rules'`" ]; then \ + if [ ! -z "`${PROCCONTROL_EXEC} ${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--disable-silent-rules'`" ]; then \ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --disable-silent-rules" ; \ fi ; \ - if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--enable-jobserver\[.*\#\]'`" ]; then \ + if [ ! -z "`${PROCCONTROL_EXEC} ${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--enable-jobserver\[.*\#\]'`" ]; then \ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --enable-jobserver=${MAKE_JOBS_NUMBER}" ; \ fi ; \ - if [ ! -z "`${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--infodir'`" ]; then \ + if [ ! -z "`${PROCCONTROL_EXEC} ${CONFIGURE_CMD} --help 2>&1 | ${GREP} -- '--infodir'`" ]; then \ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --infodir=${GNU_CONFIGURE_PREFIX}/${INFO_PATH}/${INFO_SUBDIR}" ; \ fi ; \ - if [ -z "`${CONFIGURE_CMD} --version 2>&1 | ${EGREP} -i '(autoconf.*2\.13|Unrecognized option)'`" ]; then \ + if [ -z "`${PROCCONTROL_EXEC} ${CONFIGURE_CMD} --version 2>&1 | ${EGREP} -i '(autoconf.*2\.13|Unrecognized option)'`" ]; then \ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --build=${CONFIGURE_TARGET}" ; \ else \ _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} ${CONFIGURE_TARGET}" ; \ @@ -3317,7 +3317,7 @@ INSTALL_LIB="${INSTALL_LIB}" \ INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ - ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS}; then \ + ${CONFIGURE_ENV} ${PROCCONTROL_EXEC} ${CONFIGURE_CMD} ${CONFIGURE_ARGS}; then \ ${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \ (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT_80} ; \ ${FALSE}; \ @@ -3326,7 +3326,7 @@ . endif # Build -DO_MAKE_BUILD?= ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \ +DO_MAKE_BUILD?= ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PROCCONTROL_EXEC} ${MAKE_CMD} ${MAKE_FLAGS} \ ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS:N${DESTDIRNAME}=*} . if !target(do-build) do-build: @@ -3418,14 +3418,14 @@ . if !target(do-install) && !defined(NO_INSTALL) do-install: - @(cd ${INSTALL_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${FAKEROOT} \ + @(cd ${INSTALL_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${FAKEROOT} ${PROCCONTROL_EXEC} \ ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) . endif # Test . if !target(do-test) && defined(TEST_TARGET) -DO_MAKE_TEST?= ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \ +DO_MAKE_TEST?= ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${PROCCONTROL_EXEC} ${MAKE_CMD} ${MAKE_FLAGS} \ ${MAKEFILE} ${TEST_ARGS:N${DESTDIRNAME}=*} do-test: @(cd ${TEST_WRKSRC}; if ! ${DO_MAKE_TEST} ${TEST_TARGET}; then \ @@ -3789,7 +3789,7 @@ . if !target(restage) restage: @${RM} -r ${STAGEDIR} ${STAGE_COOKIE} ${INSTALL_COOKIE} ${PACKAGE_COOKIE} - @cd ${.CURDIR} && ${MAKE} stage + @cd ${.CURDIR} && ${PROCCONTROL_EXEC} ${MAKE} stage . endif # Deinstall