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