Ban new EAPI < 5 packages for python-r1 & python-single-r1.
authorMichał Górny <mgorny@gentoo.org>
Sat, 21 Mar 2015 14:55:33 +0000 (14:55 +0000)
committerMichał Górny <mgorny@gentoo.org>
Sat, 21 Mar 2015 14:55:33 +0000 (14:55 +0000)
eclass/ChangeLog
eclass/python-r1.eclass
eclass/python-single-r1.eclass
eclass/python-utils-r1.eclass

index 17605b59859b29e3f11b1f745d49452aeabe94c5..04b2226396bea63a7012b680e88239b78f83f877 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1569 2015/03/20 00:13:32 mpagano Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1570 2015/03/21 14:55:33 mgorny Exp $
+
+  21 Mar 2015; Michał Górny <mgorny@gentoo.org> python-r1.eclass,
+  python-single-r1.eclass, python-utils-r1.eclass:
+  Ban new EAPI < 5 packages for python-r1 & python-single-r1.
 
   20 Mar 2015; Mike Pagano <mpagano@gentoo.org> kernel-2.eclass:
   Move cpu-optimation removal. See bug #542810
index b40d928492008892c544b0bc28a47636ca2fdd48..0a509a00a4f06512c07da753bcabe6b5982176c6 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/python-r1.eclass,v 1.89 2015/02/20 17:57:22 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/python-r1.eclass,v 1.90 2015/03/21 14:55:33 mgorny Exp $
 
 # @ECLASS: python-r1
 # @MAINTAINER:
@@ -33,8 +33,22 @@ case "${EAPI:-0}" in
        0|1|2|3)
                die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
                ;;
-       4|5)
-               # EAPI=4 is required for USE default deps on USE_EXPAND flags
+       4)
+               # EAPI=4 is only allowed on legacy packages
+               if [[ ${CATEGORY}/${P} == dev-python/pyelftools-0.2[123] ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == sys-apps/file-5.22 ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == sys-apps/i2c-tools-3.1.1 ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == sys-libs/cracklib-2.9.[12] ]]; then
+                       :
+               else
+                       die "Unsupported EAPI=${EAPI:-4} (too old, allowed only on restricted set of packages) for ${ECLASS}"
+               fi
+               ;;
+       5)
+               # EAPI=5 is required for sane USE_EXPAND dependencies
                ;;
        *)
                die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
@@ -652,7 +666,6 @@ _python_obtain_impls() {
 
        _python_validate_useflags
        _python_check_USE_PYTHON
-       _python_check_EAPI
 
        MULTIBUILD_VARIANTS=()
 
index 964cd4a0b681de97c27623a12c7b74cd96e2f6ac..b3991f61e6fec2814506110131d311aa41fd15de 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.36 2015/02/20 17:57:22 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.37 2015/03/21 14:55:33 mgorny Exp $
 
 # @ECLASS: python-single-r1
 # @MAINTAINER:
@@ -35,8 +35,28 @@ case "${EAPI:-0}" in
        0|1|2|3)
                die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
                ;;
-       4|5)
-               # EAPI=4 is required for USE default deps on USE_EXPAND flags
+       4)
+               # EAPI=4 is only allowed on legacy packages
+               if [[ ${CATEGORY}/${P} == app-arch/threadzip-1.2 ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == media-libs/lv2-1.8.0 ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == media-libs/lv2-1.10.0 ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == sys-apps/paludis-1* ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == sys-apps/paludis-2.[02].0 ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == sys-apps/util-linux-2.2[456]* ]]; then
+                       :
+               elif [[ ${CATEGORY}/${P} == sys-devel/gdb-7.[78]* ]]; then
+                       :
+               else
+                       die "Unsupported EAPI=${EAPI:-4} (too old, allowed only on restricted set of packages) for ${ECLASS}"
+               fi
+               ;;
+       5)
+               # EAPI=5 is required for sane USE_EXPAND dependencies
                ;;
        *)
                die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
@@ -379,8 +399,6 @@ python_gen_cond_dep() {
 python_setup() {
        debug-print-function ${FUNCNAME} "${@}"
 
-       _python_check_EAPI
-
        unset EPYTHON
 
        local impl impls=()
index a3534a7e5ca88c2083b423d15cca27b3a7c7c46c..beabcc62721c92ac5db4975bd03a5a76124230af 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v 1.81 2015/02/21 08:07:30 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v 1.82 2015/03/21 14:55:33 mgorny Exp $
 
 # @ECLASS: python-utils-r1
 # @MAINTAINER:
@@ -1127,22 +1127,6 @@ python_export_utf8_locale() {
        return 0
 }
 
-# @FUNCTION: _python_check_EAPI
-# @INTERNAL
-# @DESCRIPTION:
-# Check whether the ebuild is not using deprecated EAPI 4. Output
-# a QA warning if it does.
-_python_check_EAPI() {
-       if [[ ${EAPI} == 4 && ! ${_PYTHON_WARNED_EAPI} ]]; then
-               eqawarn "This package is still using EAPI=4. This results in package"
-               eqawarn "dependencies violating PMS and causing issues for package managers."
-               eqawarn "For this reason, using EAPI=4 in new Python packages will be banned"
-               eqawarn "on 2015-03-20 (2 years and 6 months after approving EAPI 5)."
-
-               _PYTHON_WARNED_EAPI=1
-       fi
-}
-
 # -- python.eclass functions --
 
 _python_check_dead_variables() {