#13201: patch setuptools to allow for parallel usage
-----------------------------------+----------------------------------------
       Reporter:  rohana           |         Owner:  GeorgSWeber 
           Type:  enhancement      |        Status:  needs_review
       Priority:  major            |     Milestone:  sage-5.4    
      Component:  build            |    Resolution:              
       Keywords:                   |   Work issues:              
Report Upstream:  N/A              |     Reviewers:              
        Authors:  R. Andrew Ohana  |     Merged in:              
   Dependencies:  #11874, #12994   |      Stopgaps:              
-----------------------------------+----------------------------------------

Comment (by rohana):

 Replying to [comment:6 jdemeyer]:
 > I unfortuntely don't understand `setuptools` well enough to review this.
 It seems there are some changes unrelated to the locking.  What do they
 do?
 Internally setuptools identifies packages based on a normalized path (no
 absolute paths without symlinks, and a normalized case for case-
 insensitive filesystems). It reads these from easy-install.pth, and then
 creates a brand new easy-install.pth if it detects that it needs to. The
 issue is that it loads the list of packages when it starts, and then
 writes it back when it finishes, if any changes were made to the file in
 the meantime, setuptools doesn't detect them, and just overrides them with
 its new easy-install.pth. What I did was add a bit of code for reloading
 the file right before writing a new one -- making sure things that were
 deleted don't pop back up, and making sure things that were added don't
 disappear.
 > Also, do we really need to do this ''every time'' Sage runs (could it be
 moved to `sage-location`?):
 > {{{
 >     # Hack around setuptools since --egg-path isn't fully respected
 >     sed -i 's-.*sagenb.*-\.\./\.\./\.\./\.\./devel/sagenb-' \
 >         "$SAGE_LOCAL/lib/python/site-packages/easy-install.pth"
 > }}}
 > You also need to handle the case that `$SAGE_ROOT` isn't writeable.
 Well no you don't have to run it every time sage starts, just every time a
 package using setuptools is installed, since setuptools always inscribes
 the absolute path into easy-install.pth (even if you specify a relative
 path for `--egg-path`).

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13201#comment:7>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to