TL;DR: add IUSE default support for MODULES_OPTIONAL_USE, off unless variable explicitly set by ebuild.
Bug 635720 has proposed dropping this from profiles: USE="${USE} modules" In order to break packages less, all of the linux-mod consumers for USE=modules need to get an IUSE default for USE=modules. Some of them had already implemented it in the ebuild, but this patch adds consistent support in the eclass, and the followup patch fixes all existing consumers in the tree. -- Robin Hugh Johnson Gentoo Linux: Dev, Infra Lead, Foundation Treasurer E-Mail : robb...@gentoo.org GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85 GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136
diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass index b3ea3e40f30f..096ded2839f4 100644 --- a/eclass/linux-mod.eclass +++ b/eclass/linux-mod.eclass @@ -22,6 +22,12 @@ # A string containing the USE flag to use for making this eclass optional # The recommended non-empty value is 'modules' +# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE_IUSE_DEFAULT +# @DESCRIPTION: +# A boolean to control the IUSE default state for the MODULES_OPTIONAL_USE USE +# flag. Default value is unset (false). True represented by 1 or 'on', other +# values including unset treated as false. + # @ECLASS-VARIABLE: KERNEL_DIR # @DESCRIPTION: # A string containing the directory of the target kernel sources. The default value is @@ -129,7 +135,15 @@ inherit eutils linux-info multilib EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst src_install src_compile pkg_postrm -IUSE="kernel_linux ${MODULES_OPTIONAL_USE}" +case ${EAPI:-0} in + 0) die "EAPI=${EAPI} is not supported due to lack of IUSE defaults" ;; +esac + +case $MODULES_OPTIONAL_USE_IUSE_DEFAULT in + 1) _modules_optional_use_iuse_default='+' ;; + *) _modules_optional_use_iuse_default='' ;; +esac +IUSE="kernel_linux ${_modules_optional_use_iuse_default}${MODULES_OPTIONAL_USE}" SLOT="0" RDEPEND="${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (} kernel_linux? ( virtual/modutils ) ${MODULES_OPTIONAL_USE:+)}" DEPEND="${RDEPEND}
diff --git a/dev-util/sysdig/sysdig-0.19.1.ebuild b/dev-util/sysdig/sysdig-0.19.1.ebuild index bd54765568c0..5eaa190d6b30 100644 --- a/dev-util/sysdig/sysdig-0.19.1.ebuild +++ b/dev-util/sysdig/sysdig-0.19.1.ebuild @@ -5,6 +5,7 @@ EAPI="6" : ${CMAKE_MAKEFILE_GENERATOR:=ninja} MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_IUSE_DEFAULT=1 inherit linux-mod bash-completion-r1 cmake-utils DESCRIPTION="A system exploration and troubleshooting tool" @@ -14,7 +15,7 @@ SRC_URI="https://github.com/draios/sysdig/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="libressl +modules" +IUSE="libressl" RDEPEND=" app-misc/jq:0= diff --git a/net-firewall/ipset/ipset-6.29.ebuild b/net-firewall/ipset/ipset-6.29.ebuild index bdac66a1547a..6879f228febc 100644 --- a/net-firewall/ipset/ipset-6.29.ebuild +++ b/net-firewall/ipset/ipset-6.29.ebuild @@ -3,6 +3,7 @@ EAPI="5" MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit linux-info linux-mod DESCRIPTION="IPset tool for iptables, successor to ippool" diff --git a/net-firewall/ipset/ipset-6.30.ebuild b/net-firewall/ipset/ipset-6.30.ebuild index 292b40eb05d7..8b53c8584eef 100644 --- a/net-firewall/ipset/ipset-6.30.ebuild +++ b/net-firewall/ipset/ipset-6.30.ebuild @@ -3,6 +3,7 @@ EAPI="6" MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit linux-info linux-mod DESCRIPTION="IPset tool for iptables, successor to ippool" diff --git a/net-firewall/ipset/ipset-6.32.ebuild b/net-firewall/ipset/ipset-6.32.ebuild index 292b40eb05d7..8b53c8584eef 100644 --- a/net-firewall/ipset/ipset-6.32.ebuild +++ b/net-firewall/ipset/ipset-6.32.ebuild @@ -3,6 +3,7 @@ EAPI="6" MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit linux-info linux-mod DESCRIPTION="IPset tool for iptables, successor to ippool" diff --git a/net-firewall/ipset/ipset-6.34.ebuild b/net-firewall/ipset/ipset-6.34.ebuild index 98a8e3e335b6..234c277c808c 100644 --- a/net-firewall/ipset/ipset-6.34.ebuild +++ b/net-firewall/ipset/ipset-6.34.ebuild @@ -3,6 +3,7 @@ EAPI="6" MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit linux-info linux-mod DESCRIPTION="IPset tool for iptables, successor to ippool" diff --git a/net-firewall/xtables-addons/xtables-addons-2.13.ebuild b/net-firewall/xtables-addons/xtables-addons-2.13.ebuild index 344178cebcc0..837e51b0df9c 100644 --- a/net-firewall/xtables-addons/xtables-addons-2.13.ebuild +++ b/net-firewall/xtables-addons/xtables-addons-2.13.ebuild @@ -3,6 +3,8 @@ EAPI="6" +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit eutils linux-info linux-mod multilib DESCRIPTION="iptables extensions not yet accepted in the main kernel" @@ -12,7 +14,6 @@ SRC_URI="mirror://sourceforge/xtables-addons/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" KEYWORDS="amd64 x86" -IUSE="modules" MODULES="quota2 psd pknock lscan length2 ipv4options ipp2p iface gradm geoip fuzzy condition tarpit sysrq logmark ipmark echo dnetmap dhcpmac delude chaos account" diff --git a/net-firewall/xtables-addons/xtables-addons-2.14.ebuild b/net-firewall/xtables-addons/xtables-addons-2.14.ebuild index 0cc12c836299..c92942d100fd 100644 --- a/net-firewall/xtables-addons/xtables-addons-2.14.ebuild +++ b/net-firewall/xtables-addons/xtables-addons-2.14.ebuild @@ -3,6 +3,8 @@ EAPI="6" +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit eutils linux-info linux-mod multilib DESCRIPTION="iptables extensions not yet accepted in the main kernel" @@ -12,7 +14,6 @@ SRC_URI="mirror://sourceforge/xtables-addons/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="modules" MODULES="quota2 psd pknock lscan length2 ipv4options ipp2p iface gradm geoip fuzzy condition tarpit sysrq logmark ipmark echo dnetmap dhcpmac delude chaos account" diff --git a/net-misc/openvswitch/openvswitch-2.6.1.ebuild b/net-misc/openvswitch/openvswitch-2.6.1.ebuild index 3830839ab694..0e77fb5bf1f3 100644 --- a/net-misc/openvswitch/openvswitch-2.6.1.ebuild +++ b/net-misc/openvswitch/openvswitch-2.6.1.ebuild @@ -4,6 +4,8 @@ EAPI=6 PYTHON_COMPAT=( python{2_7,3_4,3_5} ) +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit autotools eutils linux-info linux-mod python-r1 systemd @@ -14,7 +16,7 @@ SRC_URI="http://openvswitch.org/releases/${P}.tar.gz" LICENSE="Apache-2.0 GPL-2" SLOT="0" KEYWORDS="amd64 x86" -IUSE="debug modules monitor +ssl" +IUSE="debug monitor +ssl" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND=" diff --git a/net-misc/openvswitch/openvswitch-2.7.2-r1.ebuild b/net-misc/openvswitch/openvswitch-2.7.2-r1.ebuild index 34a1a0d9f988..3ca92e9974eb 100644 --- a/net-misc/openvswitch/openvswitch-2.7.2-r1.ebuild +++ b/net-misc/openvswitch/openvswitch-2.7.2-r1.ebuild @@ -4,6 +4,8 @@ EAPI=6 PYTHON_COMPAT=( python{2_7,3_4,3_5} ) +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit autotools eutils linux-info linux-mod python-r1 systemd @@ -14,7 +16,7 @@ SRC_URI="http://openvswitch.org/releases/${P}.tar.gz" LICENSE="Apache-2.0 GPL-2" SLOT="0" KEYWORDS="amd64 ~arm64 x86" -IUSE="debug modules monitor +ssl" +IUSE="debug monitor +ssl" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND=" diff --git a/net-misc/openvswitch/openvswitch-2.7.2.ebuild b/net-misc/openvswitch/openvswitch-2.7.2.ebuild index bfba9734edf7..6d8b8e47363a 100644 --- a/net-misc/openvswitch/openvswitch-2.7.2.ebuild +++ b/net-misc/openvswitch/openvswitch-2.7.2.ebuild @@ -4,6 +4,8 @@ EAPI=6 PYTHON_COMPAT=( python{2_7,3_4,3_5} ) +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit autotools eutils linux-info linux-mod python-r1 systemd @@ -14,7 +16,7 @@ SRC_URI="http://openvswitch.org/releases/${P}.tar.gz" LICENSE="Apache-2.0 GPL-2" SLOT="0" KEYWORDS="amd64 ~arm64 x86" -IUSE="debug modules monitor +ssl" +IUSE="debug monitor +ssl" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND=" diff --git a/net-misc/openvswitch/openvswitch-2.8.1.ebuild b/net-misc/openvswitch/openvswitch-2.8.1.ebuild index 55df1bd4c281..0302edf840a3 100644 --- a/net-misc/openvswitch/openvswitch-2.8.1.ebuild +++ b/net-misc/openvswitch/openvswitch-2.8.1.ebuild @@ -4,6 +4,8 @@ EAPI=6 PYTHON_COMPAT=( python{2_7,3_4,3_5} ) +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit autotools eutils linux-info linux-mod python-r1 systemd @@ -14,7 +16,7 @@ SRC_URI="http://openvswitch.org/releases/${P}.tar.gz" LICENSE="Apache-2.0 GPL-2" SLOT="0" KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="debug modules monitor +ssl" +IUSE="debug monitor +ssl" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND=" diff --git a/net-vpn/wireguard/wireguard-0.0.20171221.ebuild b/net-vpn/wireguard/wireguard-0.0.20171221.ebuild index fdc71975143a..177216e99fd5 100644 --- a/net-vpn/wireguard/wireguard-0.0.20171221.ebuild +++ b/net-vpn/wireguard/wireguard-0.0.20171221.ebuild @@ -4,6 +4,7 @@ EAPI=6 MODULES_OPTIONAL_USE="module" +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit linux-mod bash-completion-r1 DESCRIPTION="Simple yet fast and modern VPN that utilizes state-of-the-art cryptography." @@ -21,7 +22,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="debug +module +tools module-src" +IUSE="debug +tools module-src" DEPEND="tools? ( net-libs/libmnl )" RDEPEND="${DEPEND}" diff --git a/net-vpn/wireguard/wireguard-9999.ebuild b/net-vpn/wireguard/wireguard-9999.ebuild index fdc71975143a..177216e99fd5 100644 --- a/net-vpn/wireguard/wireguard-9999.ebuild +++ b/net-vpn/wireguard/wireguard-9999.ebuild @@ -4,6 +4,7 @@ EAPI=6 MODULES_OPTIONAL_USE="module" +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit linux-mod bash-completion-r1 DESCRIPTION="Simple yet fast and modern VPN that utilizes state-of-the-art cryptography." @@ -21,7 +22,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="debug +module +tools module-src" +IUSE="debug +tools module-src" DEPEND="tools? ( net-libs/libmnl )" RDEPEND="${DEPEND}" diff --git a/sys-cluster/knem/knem-1.1.1.ebuild b/sys-cluster/knem/knem-1.1.1.ebuild index 5de621a022fb..ce98f2660bfb 100644 --- a/sys-cluster/knem/knem-1.1.1.ebuild +++ b/sys-cluster/knem/knem-1.1.1.ebuild @@ -3,6 +3,8 @@ EAPI=5 +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit autotools linux-mod linux-info toolchain-funcs udev multilib DESCRIPTION="High-Performance Intra-Node MPI Communication" @@ -18,7 +20,7 @@ fi LICENSE="GPL-2 LGPL-2" SLOT="0" -IUSE="debug modules" +IUSE="debug" DEPEND=" sys-apps/hwloc diff --git a/sys-cluster/knem/knem-9999.ebuild b/sys-cluster/knem/knem-9999.ebuild index 5de621a022fb..ce98f2660bfb 100644 --- a/sys-cluster/knem/knem-9999.ebuild +++ b/sys-cluster/knem/knem-9999.ebuild @@ -3,6 +3,8 @@ EAPI=5 +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit autotools linux-mod linux-info toolchain-funcs udev multilib DESCRIPTION="High-Performance Intra-Node MPI Communication" @@ -18,7 +20,7 @@ fi LICENSE="GPL-2 LGPL-2" SLOT="0" -IUSE="debug modules" +IUSE="debug" DEPEND=" sys-apps/hwloc diff --git a/sys-cluster/open-mx/open-mx-1.5.4.ebuild b/sys-cluster/open-mx/open-mx-1.5.4.ebuild index ac461bfced30..7eca37c9ab99 100644 --- a/sys-cluster/open-mx/open-mx-1.5.4.ebuild +++ b/sys-cluster/open-mx/open-mx-1.5.4.ebuild @@ -3,6 +3,8 @@ EAPI=4 +MODULES_OPTIONAL_USE=modules +MODULES_OPTIONAL_USE_DEFAULT_IUSE=1 inherit autotools eutils linux-mod multilib toolchain-funcs udev DESCRIPTION="Open-MX - Myrinet Express over Generic Ethernet Hardware" @@ -12,7 +14,7 @@ SRC_URI="http://gforge.inria.fr/frs/download.php/34371/${P}.tar.gz" LICENSE="GPL-2 LGPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="debug modules static-libs" +IUSE="debug static-libs" DEPEND=" sys-apps/hwloc
signature.asc
Description: Digital signature