On Fri, May 6, 2011 at 2:19 PM, Ondrej Certik <ond...@certik.cz> wrote: > 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.
Oh, and then people can simply send pull requests to the respective packages directly. So I think it solves lots of the problems raised in this thread. For sage, it would have to move to github though, so it might not be an option. 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