While working on the last 2 version bumps to the twisted package, I kept getting an error in which the *egg-info/SOURCES.txt file absolute paths for all the files found in that very same directory. They are required to be relative paths only. This problem currently only affects some pkgs depending on the setuptools pkg for install. The source of the change is that setuptools patches the cpython findall() with one that returns relative paths for anything in/below the passed in base directory. Everything else it returns the absolute path.
Why we should apply this: Python upstream has merged the setuptools findall() code and will be included in the next releases of python, 2.7.13, 3.4.6, 3.5.4 (I think). So, there is potential for many more python pkgs to be affected by this that are not requiring setuptools for install. Without the ebb-base setting, the egg-info/* files are not included in SOURCES.txt. The install proceeds without error. NOTE: This first affects the python_compile_all phase, long before it even tries to run the tests (if enabled). Some history: The egg-base settings were originally added for parallel testing/install purposes. They are not used due to problems in parallelizing testing, etc.. (something along those lines, I don't want to search thru the logs, and mails to see what Michal's original words were about it.) I am working on twisted-16.5.0 and 16.6.0 releases (tests are still failing), but 16.6.0 has many improvements to the testing code, so has a lot fewer errors to fix. Once these are fixed and the eclass changes are merged, I will be able to add it to the tree. See attached patch. NOTE: actual commit message will be different/updated correctly. This was just an interim patch for testing and initial review. -- Brian Dolbec <dolsen>
From 95ae3bf2c330ca3c527a6350829e3b6fc7fb9dc8 Mon Sep 17 00:00:00 2001 From: Brian Dolbec <dol...@gentoo.org> Date: Fri, 25 Nov 2016 11:48:09 -0800 Subject: [PATCH] nuke setting egg info path --- eclass/distutils-r1.eclass | 5 ----- 1 file changed, 5 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 2db3be8..68151af 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -288,8 +288,6 @@ distutils_install_for_testing() { PYTHONPATH=${libdir}:${PYTHONPATH} local add_args=( - egg_info - --egg-base="${libdir}" install --home="${TEST_DIR}" --install-lib="${libdir}" @@ -394,9 +392,6 @@ _distutils-r1_create_setup_cfg() { # make the ebuild writer lives easier build-scripts = %(build-base)s/scripts - [egg_info] - egg-base = ${BUILD_DIR} - # this is needed by distutils_install_for_testing since # setuptools like to create .egg files for install --home. [bdist_egg] -- 2.9.3