There are some problems with SAGE64 and sage-check-64. First, sage-check-64 gets run whenever sage-env gets run, which is way too often. As a consequence, if SAGE64 is set, I get extra messages printed whenever I run anything like "sage -hg":
$ sage -hg status
Detected SAGE64 flag
Building Sage on OS X in 64-bit mode
This is annoying on its own, but it also produces incorrect information when running "sage -pkg": the extra messages make hg think that there are unchecked in changes.
Also, in several files in the scripts repo, comments say that SAGE64 is only for use on OS X or Solaris, but there are no such distinctions in various spkg-install files that I've looked at: if SAGE64 is set, then it tries to build in 64-bit mode, regardless of the platform.
In contrast, the file sage-check-64 only prints messages about building 64-bit if on OS X or Solaris.
Finally, the script sage-check-64 creates a file SAGE_LOCAL/lib/sage-64.txt if SAGE64 is set to "yes", to record the fact that this is a 64-bit build. This makes sense if SAGE64 is unset, but if the user sets SAGE64 to "no", then this file should be ignored, and in fact deleted.
The attached patch gets rid of the distinction between OS X, Solaris, and everything else. It deletes sage-64.txt if SAGE64 is "no". It also only runs sage-check-64 from sage-spkg (which is what calls spkg-install) and sage-build (which may not be strictly necessary, but it was there already). It no longer runs it from sage-env. Since it gets run by sage-spkg, it is now included in spkg/base.
I've asked some questions about this on sage-devel. If the answers are not what I expect, then this may need to be rethought.
Instructions:
- apply trac_10303-scripts-SAGE64.v3.patch.
- copy trac_10303-install to SAGE_ROOT/spkg/install, or apply the corresponding patch for that file.
- apply 10303-add-sage-check-64-dot-hgignore.patch to the base repo (SAGE_ROOT/spkg/base).
To produce a version with which to test from scratch, you then have to run "sage -sdist ..." to make sure that the necessary files from the scripts repo are copied to spkg/base.