Patchwork [resubmission-after-33-cycle] setup.py: attempt to use setuptools

login
register
mail settings
Submitter Augie Fackler
Date Feb. 10, 2015, 3:50 p.m.
Message ID <20150210155047.GJ69526@augie-macbookair2.roam.corp.google.com>
Download mbox | patch
Permalink /patch/7776/
State Changes Requested
Headers show

Comments

Augie Fackler - Feb. 10, 2015, 3:50 p.m.
On Fri, Feb 06, 2015 at 05:14:15PM -0600, Matt Mackall wrote:
> On Fri, 2015-02-06 at 17:09 -0600, Matt Mackall wrote:
> > On Thu, 2015-02-05 at 18:52 -0800, Gregory Szorc wrote:
> > > # HG changeset patch
> > > # User Gregory Szorc <gregory.szorc@gmail.com>
> > > # Date 1421431223 28800
> > > #      Fri Jan 16 10:00:23 2015 -0800
> > > # Node ID 975f6586908de6526bf5165d09f8622437a682e5
> > > # Parent  a9b61dbdb827165a9fd9d44dd42b892dbd9fa07c
> > > setup.py: attempt to use setuptools
> >
> > Ok, queued, thanks. check-code says hi.
>
> Also, run-tests explodes with pages of build spew on both Centos and
> Debian. Please investigate.

I re-queued this, and have re-dropped it. I still get pages of spew on
firefly. I didn't test anywhere else. Sample output:

warning: Testing with unexpected mercurial lib: /tmp/hgtests.MZx6LB/install/lib/python/mercurial-3.3_114_65cb46ed0c43-py2.7-linux-x86_64.egg/mercurial
         (expected /tmp/hgtests.MZx6LB/install/lib/python/mercurial)
.
Gregory Szorc - Feb. 10, 2015, 7:26 p.m.
On Tue, Feb 10, 2015 at 7:50 AM, Augie Fackler <raf@durin42.com> wrote:

> On Fri, Feb 06, 2015 at 05:14:15PM -0600, Matt Mackall wrote:
> > On Fri, 2015-02-06 at 17:09 -0600, Matt Mackall wrote:
> > > On Thu, 2015-02-05 at 18:52 -0800, Gregory Szorc wrote:
> > > > # HG changeset patch
> > > > # User Gregory Szorc <gregory.szorc@gmail.com>
> > > > # Date 1421431223 28800
> > > > #      Fri Jan 16 10:00:23 2015 -0800
> > > > # Node ID 975f6586908de6526bf5165d09f8622437a682e5
> > > > # Parent  a9b61dbdb827165a9fd9d44dd42b892dbd9fa07c
> > > > setup.py: attempt to use setuptools
> > >
> > > Ok, queued, thanks. check-code says hi.
> >
> > Also, run-tests explodes with pages of build spew on both Centos and
> > Debian. Please investigate.
>
> I re-queued this, and have re-dropped it. I still get pages of spew on
> firefly. I didn't test anywhere else. Sample output:
>
> warning: Testing with unexpected mercurial lib:
> /tmp/hgtests.MZx6LB/install/lib/python/mercurial-3.3_114_65cb46ed0c43-py2.7-linux-x86_64.egg/mercurial
>          (expected /tmp/hgtests.MZx6LB/install/lib/python/mercurial)
> .
> --- /home/augie/hg/tests/test-convert-svn-encoding.t
> +++ /home/augie/hg/tests/test-convert-svn-encoding.t.err
> @@ -11,135 +11,11 @@
>  Convert while testing all possible outputs
>
>    $ hg --debug convert svn-repo A-hg
> +  /bin/sh: 1:
> /tmp/hgtests.MZx6LB/install/lib/python/mercurial-3.3_114_65cb46ed0c43-py2.7-linux-x86_64.egg/EGG-INFO/scripts/hg:
> Permission denied
>    initializing destination A-hg repository
>
>
> Note that this was after a patch I made to set zip_safe=False when
> using setuptools. I think that got us closer, but it looks like the hg
> stub script is broken using setuptools. Yay.
>
> (I'm done investigating this for now, and leave it to Greg.)


Gah. More failures due to my test environment not having all the optional
features installed.

But, yeah, this smells like something we were lucky to catch in tests at
all. I may need to write some explicit test coverage for packaging output.
I'll keep attacking this.
Gregory Szorc - Feb. 17, 2015, 11:32 p.m.
On Tue, Feb 10, 2015 at 11:26 AM, Gregory Szorc <gregory.szorc@gmail.com>
wrote:

> On Tue, Feb 10, 2015 at 7:50 AM, Augie Fackler <raf@durin42.com> wrote:
>
>> On Fri, Feb 06, 2015 at 05:14:15PM -0600, Matt Mackall wrote:
>> > On Fri, 2015-02-06 at 17:09 -0600, Matt Mackall wrote:
>> > > On Thu, 2015-02-05 at 18:52 -0800, Gregory Szorc wrote:
>> > > > # HG changeset patch
>> > > > # User Gregory Szorc <gregory.szorc@gmail.com>
>> > > > # Date 1421431223 28800
>> > > > #      Fri Jan 16 10:00:23 2015 -0800
>> > > > # Node ID 975f6586908de6526bf5165d09f8622437a682e5
>> > > > # Parent  a9b61dbdb827165a9fd9d44dd42b892dbd9fa07c
>> > > > setup.py: attempt to use setuptools
>> > >
>> > > Ok, queued, thanks. check-code says hi.
>> >
>> > Also, run-tests explodes with pages of build spew on both Centos and
>> > Debian. Please investigate.
>>
>> I re-queued this, and have re-dropped it. I still get pages of spew on
>> firefly. I didn't test anywhere else. Sample output:
>>
>> warning: Testing with unexpected mercurial lib:
>> /tmp/hgtests.MZx6LB/install/lib/python/mercurial-3.3_114_65cb46ed0c43-py2.7-linux-x86_64.egg/mercurial
>>          (expected /tmp/hgtests.MZx6LB/install/lib/python/mercurial)
>> .
>> --- /home/augie/hg/tests/test-convert-svn-encoding.t
>> +++ /home/augie/hg/tests/test-convert-svn-encoding.t.err
>> @@ -11,135 +11,11 @@
>>  Convert while testing all possible outputs
>>
>>    $ hg --debug convert svn-repo A-hg
>> +  /bin/sh: 1:
>> /tmp/hgtests.MZx6LB/install/lib/python/mercurial-3.3_114_65cb46ed0c43-py2.7-linux-x86_64.egg/EGG-INFO/scripts/hg:
>> Permission denied
>>    initializing destination A-hg repository
>>
>>
>> Note that this was after a patch I made to set zip_safe=False when
>> using setuptools. I think that got us closer, but it looks like the hg
>> stub script is broken using setuptools. Yay.
>>
>> (I'm done investigating this for now, and leave it to Greg.)
>
>
> Gah. More failures due to my test environment not having all the optional
> features installed.
>
> But, yeah, this smells like something we were lucky to catch in tests at
> all. I may need to write some explicit test coverage for packaging output.
> I'll keep attacking this.
>

Looking over this some more, I'm not exactly sure what setuptools is going
to buy us. I initially thought that setuptools would get us some useful
features. However, after reading a lot of code and docs about packaging, I
don't see a benefit. I think this patch is more trouble than its worth.

Please permanently drop this patch. You can also feel free to unqueue the
patch adding extra os.makedirs() calls to run-tests.py (4bf484276787
<http://hg.intevation.org/mercurial/crew/rev/4bf484276787>).
Pierre-Yves David - Feb. 20, 2015, 4:37 p.m.
On 02/10/2015 03:50 PM, Augie Fackler wrote:
> On Fri, Feb 06, 2015 at 05:14:15PM -0600, Matt Mackall wrote:
>> On Fri, 2015-02-06 at 17:09 -0600, Matt Mackall wrote:
>>> On Thu, 2015-02-05 at 18:52 -0800, Gregory Szorc wrote:
>>>> # HG changeset patch
>>>> # User Gregory Szorc <gregory.szorc@gmail.com>
>>>> # Date 1421431223 28800
>>>> #      Fri Jan 16 10:00:23 2015 -0800
>>>> # Node ID 975f6586908de6526bf5165d09f8622437a682e5
>>>> # Parent  a9b61dbdb827165a9fd9d44dd42b892dbd9fa07c
>>>> setup.py: attempt to use setuptools
>>>
>>> Ok, queued, thanks. check-code says hi.
>>
>> Also, run-tests explodes with pages of build spew on both Centos and
>> Debian. Please investigate.
>
> I re-queued this, and have re-dropped it. I still get pages of spew on
> firefly. I didn't test anywhere else. Sample output:
>
> warning: Testing with unexpected mercurial lib: /tmp/hgtests.MZx6LB/install/lib/python/mercurial-3.3_114_65cb46ed0c43-py2.7-linux-x86_64.egg/mercurial
>           (expected /tmp/hgtests.MZx6LB/install/lib/python/mercurial)


This patch is apparently moving the install from good old python package 
to eggs.

Eggs are very (very) evil and we should -not- switch to them. I've a 
strong -1 for this patch

(I know it is already dropped, but for less clear reason)
Gregory Szorc - Feb. 21, 2015, 5:29 p.m.
On Fri, Feb 20, 2015 at 8:37 AM, Pierre-Yves David <
pierre-yves.david@ens-lyon.org> wrote:

>
>
> On 02/10/2015 03:50 PM, Augie Fackler wrote:
>
>> On Fri, Feb 06, 2015 at 05:14:15PM -0600, Matt Mackall wrote:
>>
>>> On Fri, 2015-02-06 at 17:09 -0600, Matt Mackall wrote:
>>>
>>>> On Thu, 2015-02-05 at 18:52 -0800, Gregory Szorc wrote:
>>>>
>>>>> # HG changeset patch
>>>>> # User Gregory Szorc <gregory.szorc@gmail.com>
>>>>> # Date 1421431223 28800
>>>>> #      Fri Jan 16 10:00:23 2015 -0800
>>>>> # Node ID 975f6586908de6526bf5165d09f8622437a682e5
>>>>> # Parent  a9b61dbdb827165a9fd9d44dd42b892dbd9fa07c
>>>>> setup.py: attempt to use setuptools
>>>>>
>>>>
>>>> Ok, queued, thanks. check-code says hi.
>>>>
>>>
>>> Also, run-tests explodes with pages of build spew on both Centos and
>>> Debian. Please investigate.
>>>
>>
>> I re-queued this, and have re-dropped it. I still get pages of spew on
>> firefly. I didn't test anywhere else. Sample output:
>>
>> warning: Testing with unexpected mercurial lib:
>> /tmp/hgtests.MZx6LB/install/lib/python/mercurial-3.3_114_
>> 65cb46ed0c43-py2.7-linux-x86_64.egg/mercurial
>>           (expected /tmp/hgtests.MZx6LB/install/lib/python/mercurial)
>>
>
>
> This patch is apparently moving the install from good old python package
> to eggs.
>
> Eggs are very (very) evil and we should -not- switch to them. I've a
> strong -1 for this patch
>
> (I know it is already dropped, but for less clear reason)


FTR, I initially wrote this patch because
https://python-packaging-user-guide.readthedocs.org/en/latest/distributing.html
recommends setuptools and I figured we'd need setuptools to take advantage
of some modern packaging foo, namely wheels. Only when investigating the
test failure fallout did I realize setuptools was quietly turning things
into egg-like installs. At that point I screamed and pulled the ejection
handle. So we are in deep agreement over not adopting setuptools.

Patch

--- /home/augie/hg/tests/test-convert-svn-encoding.t
+++ /home/augie/hg/tests/test-convert-svn-encoding.t.err
@@ -11,135 +11,11 @@ 
 Convert while testing all possible outputs

   $ hg --debug convert svn-repo A-hg
+  /bin/sh: 1: /tmp/hgtests.MZx6LB/install/lib/python/mercurial-3.3_114_65cb46ed0c43-py2.7-linux-x86_64.egg/EGG-INFO/scripts/hg: Permission denied
   initializing destination A-hg repository


Note that this was after a patch I made to set zip_safe=False when
using setuptools. I think that got us closer, but it looks like the hg
stub script is broken using setuptools. Yay.

(I'm done investigating this for now, and leave it to Greg.)

>
> --
> Mathematics is the supreme nostalgia of our time.
>
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@selenic.com
http://selenic.com/mailman/listinfo/mercurial-devel