First of all: please wrap lines at 72 or 80 chars (even if the original eclass didn't do that).
> if [[ "${CATEGORY}/${PN}" == "dev-python/twisted"* ]]; then I know you're not responsible for this but it seems wrong to have two different behaviors depending on PN. Is this used somewhere actually? > MY_PV="${MY_PV:-${PV}}" > MY_P="Twisted${MY_PACKAGE}-${MY_PV}" > > HOMEPAGE="http://www.twistedmatrix.com/" > > #SRC_URI="http://tmrc.mit.edu/mirror/twisted/${MY_PACKAGE}/$(get_version_component_range > 1-2 ${MY_PV})/${MY_P}.tar.bz2" > > SRC_URI="http://twistedmatrix.com/Releases/${MY_PACKAGE}/$(get_version_component_range > 1-2 ${MY_PV})/${MY_P}.tar.bz2" > > LICENSE="MIT" > SLOT="0" > IUSE="" > > S="${WORKDIR}/${MY_P}" > > TWISTED_PLUGINS="${TWISTED_PLUGINS:-twisted.plugins}" > fi > > # @ECLASS-VARIABLE: TWISTED_PLUGINS > # @DESCRIPTION: > # Twisted plugins, whose cache is regenerated in pkg_postinst() and > pkg_postrm() phases. > > python_test() { > # TODO: this seems to be used only in dev-python/twisted-* packages as > # dev-python/twisted-13.0.0 have it's own src_test > if [[ "${CATEGORY}/${PN}" != "dev-python/twisted"* ]]; then > die "${FUNCNAME}() can be used only in dev-python/twisted* > packages" > fi > > local sitedir="${EPREFIX}$(python_get_sitedir)" > > # Copy modules of other Twisted packages from site-packages directory > to temporary directory. > mkdir -p "${T}/${sitedir}" > cp -R "${ROOT}${sitedir}/twisted" "${T}/${sitedir}" || die "Copying of > modules of other Twisted packages failed with $(python_get_implementation) > $(python_get_version)" > rm -fr "${T}/${sitedir}/${PN/-//}" Awful and ugly. Try to find a way to run the tests without this hackery. > # Install modules of current package to temporary directory. > "${PYTHON}" setup.py build -b "build-${EPYTHON}" install --force > --no-compile --root="${T}" || die "Installation into temporary directory > failed with $(python_get_implementation) $(python_get_version)" This is likely a candidate for 'distutils_install_for_testing'. Or 'esetup.py' at least. Inlining build-dir is simply wrong. > pushd "${T}/${sitedir}" > /dev/null || return 1 > PATH="${T}${EPREFIX}/usr/bin:${PATH}" PYTHONPATH="${T}/${sitedir}" > trial ${PN/-/.} || return 1 > popd > /dev/null || return 1 > > rm -fr "${T}/${sitedir}" > } > > twisted-r1_src_install() { > distutils-r1_src_install > > if [[ -d doc/man ]]; then > doman doc/man/*.[[:digit:]] > fi > > if [[ -d doc ]]; then > insinto /usr/share/doc/${PF} > doins -r $(find doc -mindepth 1 -maxdepth 1 -not -name man) > fi > } > > _twisted-r1_update_plugin_cache() { > local dir exit_status="0" module > > for module in ${TWISTED_PLUGINS}; do > if [[ -d "${EROOT}$(python_get_sitedir)/${module//.//}" ]]; then > find "${EROOT}$(python_get_sitedir)/${module//.//}" > -name dropin.cache -print0 | xargs -0 rm -f > fi > done > > for module in ${TWISTED_PLUGINS}; do > # > http://twistedmatrix.com/documents/current/core/howto/plugin.html > "${PYTHON}" -c \ > "import sys > sys.path.insert(0, '${EROOT}$(python_get_sitedir)') > > try: > import twisted.plugin > import ${module} > except ImportError: > if '${EBUILD_PHASE}' == 'postinst': > raise > else: > # Twisted, zope.interface or given plugins might have been > uninstalled. > sys.exit(0) > > list(twisted.plugin.getPlugins(twisted.plugin.IPlugin, ${module}))" || > exit_status="1" > done > > for module in ${TWISTED_PLUGINS}; do > # Delete empty parent directories. > local dir="${EROOT}$(python_get_sitedir)/${module//.//}" > while [[ "${dir}" != "${EROOT%/}" ]]; do > rmdir "${dir}" 2> /dev/null || break > dir="${dir%/*}" > done > done > > return "${exit_status}" > } > > twisted-r1_pkg_postinst() { > _distutils-r1_run_foreach_impl _twisted-r1_update_plugin_cache > } > > twisted-r1_pkg_postrm() { > _distutils-r1_run_foreach_impl _twisted-r1_update_plugin_cache > } -- Best regards, Michał Górny
signature.asc
Description: PGP signature