Hi!

Reading the dev guide at http://sagemath.org/doc/developer/, I find that 
I'm missing a relevant piece of information: how to obtain the sources and 
start using all these commands in the first place.

For most packages, I use a binary installation (compiled from source since 
I'm on Gentoo, but that doesn't matter). When I encounter a bug, I start 
looking for the source code repository, grab a checkout, ake sure I'm at 
the most recent version, build it and then start fixing the bug.

With sage, things are less clear to me. I could start with a binary install 
(but not the one sage-on-gentoo installed system-wide), or I could grab a 
source tarball, or I could do the checkout as above. But which of these to 
choose isn't specified. I could use the latest release, but the latest 
development beta would seem more appropriate when fixing a bug which might 
interact with recent modifications. The link to beta versions is pretty 
well hidden, at least good enough that I couldn't find it yet. I know a 
URL, http://sagemath.org/download-latest.html, but at least the German 
mirror there is still at 6.1.beta1. I only found 
http://sage.math.washington.edu/home/release/ and the 6.2.beta5 tarball 
there by accident, which makes me wonder whether using that is appropriate. 
When starting from a git checkout, there is a similar difference between 
the master and the development branch. Which should I choose? I only 
noticed the development branch after John Cremona wrote about it.

It would be very great if the documentation could outline the basic steps 
required to get the latest (or suggested) version up and running. That 
could include pointers at how to build sage from source, together with the 
URL of the git repository and the command needed to clone it. But it could 
also be something else.

You might also want to indicate how to get up to the latest version from a 
previously created setup. Do I “git pull” and “./sage -upgrade”, followed 
by “make” and “./sage -b”? Or some other sequence of commands? Or should I 
rather branch off from some well-defined tag, instead of the version which 
just happens to be the tip of the development branch?

Sage installs several third party packages into its tree, and recently I 
had a situation where a tree became completely unusable since make simply 
failed. On a clean tree, I'd have considered this a problem with my build 
environment, perhaps a bug. As it was, I'm thinking that an incomplete or 
outdated version of some third party package is a far more likely cause. 
And I started over with a fresh install from a source tarball for the 
latest beta. But perhaps a clean tree command would have been sufficient. 
If so, you might consider documenting “git clean -x” that along with the 
instructions of how to obtain the sources in the first place and how to 
update them.

I hope I got the right list for this kind of request, and I hope you can 
add a suitable section to the top of the dev guide.

Thanks for reading,
 Martin von Gagern

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to