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

Reply via email to