Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 533838 - TRACKER: python-r1 ebuilds defining obsolete python.eclass variables
Summary: TRACKER: python-r1 ebuilds defining obsolete python.eclass variables
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords: Tracker
Depends on: 533814 533836
Blocks:
  Show dependency tree
 
Reported: 2014-12-28 17:43 UTC by Adam Feldman
Modified: 2015-01-03 00:22 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Feldman gentoo-dev 2014-12-28 17:43:13 UTC
In the latest version of the python*-r1 eclasses, there is a function defined, _python_check_dead_variables, which causes the configuration of package to fail if a deprecated variable is defined in the ebuild.

Basically, this function, which ensures QA and compliance with the latest eclass forces ebuilds to break if they (often harmlessly) define a deprecated variable.

It is the intention of this bug bring this to the attention of package maintainers so that we can identify all ebuilds that are now broken as a result of the update to the eclass.

Reproducible: Always
Comment 1 Adam Feldman gentoo-dev 2014-12-28 17:44:40 UTC
=net-misc/spice-gtk-0.21 bug #533814
=x11-misc/mozo-1.8.0 bug #533836
Comment 2 Mike Gilbert gentoo-dev 2014-12-28 17:50:23 UTC
Let's make it a tracker.
Comment 3 Adam Feldman gentoo-dev 2014-12-28 17:53:19 UTC
All of the variables mentioned in the function below cause this issue.
For reference:

_python_check_dead_variables() {
	local v

	for v in PYTHON_DEPEND PYTHON_USE_WITH{,_OR,_OPT} {RESTRICT,SUPPORT}_PYTHON_ABIS
	do
		if [[ ${!v} ]]; then
			die "${v} is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#Ebuild_head"
		fi
	done

	for v in PYTHON_{CPPFLAGS,CFLAGS,CXXFLAGS,LDFLAGS}
	do
		if [[ ${!v} ]]; then
			die "${v} is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#PYTHON_CFLAGS"
		fi
	done

	for v in PYTHON_TESTS_RESTRICTED_ABIS PYTHON_EXPORT_PHASE_FUNCTIONS \
		PYTHON_VERSIONED_{SCRIPTS,EXECUTABLES} PYTHON_NONVERSIONED_EXECUTABLES \
		PYTHON_TEST_VERBOSITY
	do
		if [[ ${!v} ]]; then
			die "${v} is invalid for python-r1 suite"
		fi
	done

	for v in DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES DISTUTILS_SETUP_FILES \
		DISTUTILS_GLOBAL_OPTIONS DISTUTILS_SRC_TEST PYTHON_MODNAME
	do
		if [[ ${!v} ]]; then
			die "${v} is invalid for distutils-r1, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#${v}"
		fi
	done

	if [[ ${DISTUTILS_DISABLE_TEST_DEPENDENCY} ]]; then
		die "${v} is invalid for distutils-r1, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#DISTUTILS_SRC_TEST"
	fi
}
Comment 4 Mike Gilbert gentoo-dev 2014-12-28 18:15:58 UTC
Here's a list of ebuilds I found using grep; I'll start fixing them.

./app-admin/denyhosts/denyhosts-2.6-r9.ebuild:PYTHON_MODNAME="${MY_PN}"
./app-admin/denyhosts/denyhosts-2.6-r10.ebuild:PYTHON_MODNAME="${MY_PN}"
./app-admin/setools/setools-3.3.8-r5.ebuild:            # Make PYTHON_LDFLAGS replaceable during running `make`.
./app-admin/setools/setools-3.3.8-r5.ebuild:            sed -e "/^AM_LDFLAGS =/s/@PYTHON_LDFLAGS@/\$(PYTHON_LDFLAGS)/" -i ${dir}/Makefile.am || die "sed failed"
./app-admin/setools/setools-3.3.8-r5.ebuild:                            SWIG_PYTHON_CPPFLAGS="-I${PYTHON_INCLUDEDIR}" \
./app-admin/setools/setools-3.3.8-r5.ebuild:                            PYTHON_LDFLAGS="${PYTHON_LIBS}" \
./app-backup/backintime/backintime-1.0.24-r2.ebuild:RDEPEND="${PYTHON_DEPEND}
./app-backup/backintime/backintime-1.0.36-r1.ebuild:RDEPEND="${PYTHON_DEPEND}
./app-backup/obnam/obnam-1.7.4.ebuild:PYTHON_MODNAME="${PN}lib"
./app-backup/obnam/obnam-1.8-r1.ebuild:PYTHON_MODNAME="${PN}lib"
./app-i18n/ibus-anthy/ibus-anthy-1.5.4.ebuild:PYTHON_DEPEND="2:2.5"
./app-office/libreoffice/libreoffice-9999-r2.ebuild:    export PYTHON_CFLAGS=$(python_get_CFLAGS)
./app-office/libreoffice/libreoffice-4.2.6.3.ebuild:    export PYTHON_CFLAGS=$(python_get_CFLAGS)
./app-office/libreoffice/libreoffice-4.2.9999.ebuild:   export PYTHON_CFLAGS=$(python_get_CFLAGS)
./app-office/libreoffice/libreoffice-4.3.4.1.ebuild:    export PYTHON_CFLAGS=$(python_get_CFLAGS)
./app-office/libreoffice/libreoffice-4.3.9999.ebuild:   export PYTHON_CFLAGS=$(python_get_CFLAGS)
./dev-tcltk/snack/snack-2.2.10-r6.ebuild:#PYTHON_MODNAME="tkSnack.py"
./dev-util/buildbot-slave/buildbot-slave-0.8.9-r1.ebuild:PYTHON_MODNAME="buildslave"
./dev-util/buildbot-slave/buildbot-slave-9999.ebuild:PYTHON_MODNAME="buildslave"
./dev-util/buildbot-slave/buildbot-slave-0.8.10.ebuild:PYTHON_MODNAME="buildslave"
./dev-vcs/bzr-fastimport/bzr-fastimport-0.13.0.ebuild:PYTHON_MODNAME="bzrlib/plugins/fastimport"
./dev-vcs/qbzr/qbzr-0.23.1.ebuild:PYTHON_MODNAME="bzrlib/plugins/qbzr"
./dev-vcs/subversion/subversion-1.8.11.ebuild:          export ac_cv_python_link="$(tc-getCC) "'$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)'
./dev-vcs/subversion/subversion-1.8.11.ebuild:          export ac_cv_python_libs='$(PYTHON_CFLAGS) -bundle -undefined dynamic_lookup $(PYTHON_LIBS)'
./mail-filter/pypolicyd-spf/pypolicyd-spf-1.1.2.ebuild:PYTHON_MODNAME="policydspfsupp.py policydspfuser.py"
./net-analyzer/carl/carl-0.9-r1.ebuild:PYTHON_MODNAME="Accounts.py Sessions.py"
./net-misc/hotot/hotot-0.9.8.14_p20130514.ebuild:PYTHON_DEPEND="gtk? 2"
./net-misc/hotot/hotot-9999.ebuild:PYTHON_DEPEND="gtk? 2"
./net-misc/hotot/hotot-0.9.8.14.ebuild:PYTHON_DEPEND="gtk? 2"
./net-misc/rabbitmq-server/rabbitmq-server-3.1.4.ebuild:PYTHON_DEPEND="2"
./net-misc/rabbitmq-server/rabbitmq-server-3.2.3.ebuild:PYTHON_DEPEND="2"
./net-misc/rabbitmq-server/rabbitmq-server-3.2.4.ebuild:PYTHON_DEPEND="2"
./net-misc/rabbitmq-server/rabbitmq-server-3.3.4.ebuild:PYTHON_DEPEND="2"
./sci-chemistry/azara/azara-2.8-r5.ebuild:              python_export PYTHON_CFLAGS PYTHON_LIBS
./sci-chemistry/azara/azara-2.8-r5.ebuild:                      PYTHON_INCLUDE_DIR="${PYTHON_CFLAGS}" \
./sci-libs/getdata/getdata-0.8.5.ebuild:                                PYTHON_CPPFLAGS="-I${EPREFIX}$(python_get_includedir)" \
./sci-libs/getdata/getdata-0.8.5.ebuild:                                PYTHON_CPPFLAGS="-I${EPREFIX}$(python_get_includedir)" \
./sci-libs/mmtk/mmtk-2.7.9.ebuild:PYTHON_MODNAME="${MY_PN}"
./x11-misc/mate-menu-editor/mate-menu-editor-1.6.0.ebuild:SUPPORT_PYTHON_ABIS="1"
./dev-libs/Ice/Ice-3.5.1.ebuild:#   SUPPORT_PYTHON_ABIS=1 otherwise we can't get pyc/pyo anymore the sane way.
./dev-libs/btparser/btparser-0.24.ebuild:       export PYTHON_CFLAGS=$(python-config --includes)
./dev-libs/btparser/btparser-0.25.ebuild:       export PYTHON_CFLAGS=$(python-config --includes)
./dev-libs/libdnet/libdnet-1.12.ebuild:PYTHON_DEPEND="python? 2"
./dev-libs/libhid/libhid-0.2.16-r4.ebuild:      use python && export PYTHON_LDFLAGS=$(${EPYTHON}-config --ldflags)
./dev-python/adodb-py/adodb-py-2.20-r1.ebuild:PYTHON_USE_WITH='sqlite?'
./dev-python/bsddb3/bsddb3-5.3.0-r1.ebuild:PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
./dev-python/bsddb3/bsddb3-6.0.0.ebuild:PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
./dev-python/django-auth-ldap/django-auth-ldap-1.1.4-r1.ebuild:PYTHON_MODNAME="django_auth_ldap"
./dev-python/enable/enable-4.3.0.ebuild:DISTUTILS_SRC_TEST="nosetests"
./dev-python/imdbpy/imdbpy-4.9-r1.ebuild:DISTUTILS_GLOBAL_OPTIONS=("*-jython --without-cutils")
./dev-python/imdbpy/imdbpy-5.0.ebuild:DISTUTILS_GLOBAL_OPTIONS=("*-jython --without-cutils")
./dev-python/kid/kid-0.9.6-r1.ebuild:RESTRICT_PYTHON_ABIS="3.*"
./dev-python/mocker/mocker-1.1.1-r1.ebuild:PYTHON_MODNAME="mocker.py"
./dev-python/natgrid/natgrid-0.2.1-r1.ebuild:PYTHON_MODNAME="mpl_toolkits/natgrid"
./dev-python/natgrid/natgrid-0.2.1-r2.ebuild:PYTHON_MODNAME="mpl_toolkits/natgrid"
./dev-python/python-augeas/python-augeas-0.4.1.ebuild:PYTHON_MODNAME="augeas.py"
./dev-python/python-augeas/python-augeas-0.4.2_pre131218.ebuild:PYTHON_MODNAME="augeas.py"
./dev-python/python-twitter/python-twitter-1.0.ebuild:PYTHON_MODNAME="twitter.py"
./dev-python/rdflib/rdflib-3.2.3-r1.ebuild:PYTHON_USE_WITH="sqlite?"
./dev-python/rootpy/rootpy-0.7.1.ebuild:PYTHON_USE_WITH="readline"
./dev-python/subvertpy/subvertpy-0.9.1.ebuild:PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
./dev-python/twisted-core/twisted-core-12.3.0-r1.ebuild:PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
./dev-python/webhelpers/webhelpers-1.3-r1.ebuild:#DISTUTILS_SRC_TEST="nosetests"
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-12-28 18:37:56 UTC
I've made the checks non-fatal for now. Better have developer fix those properly rather than hurriedly remove them.
Comment 6 Mike Gilbert gentoo-dev 2014-12-28 19:43:21 UTC
I fixed up the ebuilds in my list above, with the exception of net-misc/rabbitmq-server; this ebuild requires some deeper attention to the *DEPEND variables.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-03 00:22:04 UTC
All ebuilds in the tree should be fixed now.