On Fri, May 6, 2011 at 11:26 AM, Robert Bradshaw <rober...@math.washington.edu> wrote: [...] > Were I to design the system from scratch, I'd put > all our code (devel/scripts/...) in a single repo, along with the > top-level files, and a list of dependencies (spkgs). Building sage > would fetch (locally or remotely) the dependencies listed and build > them in such a way that changing the list of dependencies and > re-building would easily and cheaply reversible. I would probably > still build my own Python, but may require it (flexible version) as a > bootstrapping prerequisite. Whether the non-upstream parts of an spkg > belong in the spkgs or the main repo, I'm not sure, but I'd rather > *everything* be expressed as commit to a single repository (possibly > moving a pointer to some new, vanilla upstream source, rather than > putting all upstream sources in our repo). > > If others have similar views, maybe we could move in that direction.
I actually developed such a system from scratch (it's called Qsnake: http://qsnake.com) and pretty much followed your paragraph above, so I pushed all the repos at github: https://github.com/qsnake for example the Cython repo is here: https://github.com/qsnake/cython it is actually a fork of the official Cython repo. And then Qsnake is clever enough, that when it is fetching the sources, and if there is setup.py and no spkg-install, it creates spkg-install automatically with "setup.py install" (and other default stuff), and then saves the cython.spkg package into the spkg/standard/ directory. Having all spkg-install scripts in the main repository (so in my case in this repository: https://github.com/qsnake/qsnake) is a valid idea, that I have been bouncing around too. I decided not to, to keep things localized, as sometimes nontrivial modifications are needed to the upstream packages, and the best way to do such modifications is to simply create couple git patches. Also for testing, if there is spkg-install file, committed, I can checkout the git repo for a particular package and qsnake install . and it will install the package. And I can debug it easily. Ondrej -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org