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

Reply via email to