#4949: Optionally build spkgs in $SAGE_BUILD_TMPDIR
-------------------------------------------------------------+--------------
Reporter: mabshoff | Owner:
mabshoff
Type: enhancement | Status:
needs_review
Priority: minor | Milestone:
sage-5.0
Component: build | Keywords:
sd32
Work_issues: | Upstream:
N/A
Reviewer: Mariah Lenox, Leif Leonhardy, Maarten Derickx | Author:
John Palmieri
Merged: | Dependencies:
-------------------------------------------------------------+--------------
Changes (by jhpalmieri):
* status: needs_info => needs_review
Comment:
Replying to [comment:47 drkirkby]:
> Replying to [comment:42 jhpalmieri]:
> > Replying to [comment:41 jdemeyer]:
> > > I ask you again: why???
> >
> > It feels cleaner to me: if I set `$SAGE_BUILD_TMPDIR=/tmp`, then
rather than producing many subdirectories of `tmp`, everything will live
in `/tmp/build`. It's easier to clean up by hand, and `make clean` is
easier to implement this way; otherwise, I suppose it would have to delete
`/tmp/atlas-3.8.4.p1/`, `/tmp/blas-...`, etc. Or `make clean` could not
modify SAGE_BUILD_TMPDIR at all, but the Make manual suggests that `make
clean` (and `make distclean`) should "Also delete files in other
directories if they are created by this makefile."
>
> John,
>
> how do you avoid a possible race condition if two or more instances of
Sage (or some other program), want to use /tmp/build?
I don't. If someone wants to set `$SAGE_BUILD_TMPDIR`, then I'm making it
their responsibility to make sure that the directory is available and in
good shape. (If someone does `export SAGE_BUILD_TMPDIR=/tmp/sage` and
then we mangle the file name somehow, I think that will lead to confusion
much more often than it will help. We could instead build in
`SAGE_BUILD_TMPDIR/subdir` where we choose `subdir` to avoid race
conditions. But I'm not going to do that.)
Meanwhile, I have new versions of the patches. I'm going to give in on
the "build" subdirectory: Sage will now build in `SAGE_BUILD_TMPDIR`. Oh,
and I changed the name to `SAGE_BUILD_DIR` instead; I think that name
makes more sense. I also patched bzip2 and prereq so they build in
`SAGE_BUILD_DIR` as well — easy to do now that the base repo has been
merged with the root repo. `make clean` no longer touches
`SAGE_BUILD_DIR`, nor does `make distclean`. (Also, `make clean` no
longer recreates `spkg/build` or `spkg/archive` — what's that directory
for, anyway?).
I updated the documentation accordingly.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4949#comment:48>
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.