Re: [gentoo-dev] [PATCH] distutils-r1.eclass, drop unused egg-base settings

2016-11-30 Thread Michał Górny
On Tue, 29 Nov 2016 15:57:16 -0800
Brian Dolbec  wrote:

> 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.

As I said before, just make sure this doesn't cause the wrong egg-info
file to be installed accidentally. Possible corner case: when package
does different egg for different Python versions.

-- 
Best regards,
Michał Górny



pgphoGtGqs02y.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] [PATCH] distutils-r1.eclass, drop unused egg-base settings

2016-11-29 Thread Brian Dolbec
On Tue, 29 Nov 2016 19:13:19 -0500
Mike Gilbert  wrote:

> On Tue, Nov 29, 2016 at 6:57 PM, Brian Dolbec 
> wrote:
> >
> > 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.
> >  
> 
> Seems ok to me. Hopefully it doesn't break something in a subtle, hard
> to detect way. ;-)
> 

I agree, but with 1600+ dev-python/*.* ebuilds, it would take one hell
of a tinderbox run to check for definite breakage. Subtle runtime
breakage is quite another. 

-- 
Brian Dolbec 




Re: [gentoo-dev] [PATCH] distutils-r1.eclass, drop unused egg-base settings

2016-11-29 Thread Mike Gilbert
On Tue, Nov 29, 2016 at 6:57 PM, Brian Dolbec  wrote:
>
> 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.
>

Seems ok to me. Hopefully it doesn't break something in a subtle, hard
to detect way. ;-)



[gentoo-dev] [PATCH] distutils-r1.eclass, drop unused egg-base settings

2016-11-29 Thread Brian Dolbec

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 

From 95ae3bf2c330ca3c527a6350829e3b6fc7fb9dc8 Mon Sep 17 00:00:00 2001
From: Brian Dolbec 
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