William Stein <wst...@gmail.com> writes:

> On Wed, May 16, 2012 at 3:50 AM, Keshav Kini <keshav.k...@gmail.com> wrote:
>> William Stein <wst...@gmail.com> writes:
>>> On Wed, May 16, 2012 at 2:35 AM, Robert Bradshaw
>>> <rober...@math.washington.edu> wrote:
>>>> I don't think we should be storing the unpacked src/ directory in the
>>>> spkg at all, instead we should store a pointer to a tarball (which
>>>> could be external or right in the spkg itself. Upon install this
>>>> tarball would get unpacked into src/. The sage-spkg script would
>>>> unpack this tarball, compare it to src/ (if it exists) making sure
>>>> there are no differences (that are not accounted for by the existing
>>>> patches, or perhaps even creating a patch to describe the difference),
>>>> and then create the .spkg file excluding the src/ directory (but
>>>> possibly including the pristine, unpacked tarball).
>>>
>>> I read the above 4 times and I don't understand what you're proposing,
>>> except maybe (?) to make it impossible to build Sage if you're not
>>> connected to the internet...?  Or to basically change nothing?
>>> Confused.
>>
>> This would make it possible to ship spkg-install scripts and SPKG.txt
>> files for all optional and experimental SPKGs at a low disk space cost
>> (because their src/ dirs would not be shipped). Integrating this stuff,
>> along with everything else, into a single repository, would allow for
>> easier development. This goes back to what we discussed at Review Days
>> 2.
>
> This = what?  Clearly you claim to understand what Robert is
> proposing.   I don't even know what "this" is.

Currently:

The package named foo consists of one file called foo-x.y.z.pn.spkg. It
is a tarball containing some files and directories (such as spkg-install
and patches/), among which is a directory called src/. Stuff other than
src/ is under revision control in the root directory inside the tarball,
and consists of stuff written by Sage developers. src/, on the other
hand, is not under revision control, and consists of stuff written by
upstream developers.

If the package is a standard package, the .spkg file is shipped with
Sage. If it is optional or experimental, it is stored on the Sage
mirrors and can be downloaded and installed by users with `sage -i`.

What I am proposing (and I guess it's similar to what Robert was
saying):

The package named foo consists of some files and directories created by
Sage developers, and some files created by upstream developers. The
files and directories created by Sage developers are shipped as part of
Sage - not in a tarball, just in the file tree. The files created by
upstream developers sit in a tarball. That tarball can be shipped with
Sage, or not. The foo-related files created by Sage developers and
shipped in the Sage tree include a datum which gives a location of the
upstream tarball, either as a path in the Sage file tree, or as a URL
for an external downloadable file.

If the package is a standard package, the upstream tarball is shipped
with Sage. If it is optional or experimental, it is stored on the Sage
mirrors. Either way, the spkg-install, patches/, etc. created by Sage
developers are shipped with Sage, and know where to find the
corresponding upstream tarball, whether locally or remotely.


(Hopefully that was easier and not harder to understand than what Robert
said, but I'm not convinced it is...)

-Keshav

----
Join us in #sagemath on irc.freenode.net !

-- 
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