commit: 5bb71fa789537a44f6c76a2397cd39198df17496 Author: Rolf Eike Beer <eike <AT> sf-mail <DOT> de> AuthorDate: Tue Mar 27 16:19:57 2018 +0000 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> CommitDate: Fri Apr 27 14:01:24 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bb71fa7
apache-2.eclass: avoid multiple selected MPMs by REQUIRED_USE Still allow that none was given so automatic selection depending on threads useflag still works as before. eclass/apache-2.eclass | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass index 8eae93fb1d6..ee70b2f222f 100644 --- a/eclass/apache-2.eclass +++ b/eclass/apache-2.eclass @@ -97,9 +97,24 @@ for module in ${IUSE_MODULES} ; do IUSE="${IUSE} apache2_modules_${module}" done -for mpm in ${IUSE_MPMS} ; do - IUSE="${IUSE} apache2_mpms_${mpm}" -done +_apache2_set_mpms() { + local mpm + local ompm + + for mpm in ${IUSE_MPMS} ; do + IUSE="${IUSE} apache2_mpms_${mpm}" + + REQUIRED_USE="${REQUIRED_USE} apache2_mpms_${mpm}? (" + for ompm in ${IUSE_MPMS} ; do + if [[ "${mpm}" != "${ompm}" ]] ; then + REQUIRED_USE="${REQUIRED_USE} !apache2_mpms_${ompm}" + fi + done + REQUIRED_USE="${REQUIRED_USE} )" + done +} +_apache2_set_mpms +unset -f _apache2_set_mpms DEPEND="${CDEPEND} dev-lang/perl @@ -152,16 +167,12 @@ setup_mpm() { MY_MPM="" for x in ${IUSE_MPMS} ; do if use apache2_mpms_${x} ; then - if [[ -z "${MY_MPM}" ]] ; then - MY_MPM=${x} - elog - elog "Selected MPM: ${MY_MPM}" - elog - else - eerror "You have selected more then one mpm USE-flag." - eerror "Only one MPM is supported." - die "more then one mpm was specified" - fi + # there can at most be one MPM selected because of REQUIRED_USE constraints + MY_MPM=${x} + elog + elog "Selected MPM: ${MY_MPM}" + elog + break fi done