+1  for the convincing reasons cited (and similar to why Sage includes
bzip2), unless there are downsides which I have not thought of.

John

On 1 July 2010 12:00, François Bissey <f.r.bis...@massey.ac.nz> wrote:
>> I propose that we make GNU patch a standard package, so that patches
>> to Sage can be made in a more sensible manner than using 'cp' as now.
>> (There's no point in 'patch' being optional at all, as it would be
>> needed when building Sage).
>>
>> For
>>  * It is small - the source code is about 240 KB, so a Sage package
>> could be a similar size.
>>  * It would be easy to maintain - we will rarely if ever need to update it.
>>  * It will allow small patches to be made to Sage, without the extra
>> bulk that copying files makes
>>  * It should reduce the chance of one patch screwing up another (see
>> my post about Singular)
>>  * The amount of code that needs to be added to trac would be
>> significantly reduced. Currently making one small patch to a large
>> file in Sage means the Mercurial patch is huge, making it more
>> difficult to review.
>>  * It would avoid the need to maintain both patched files and diff
>> files, and keep them in sync. I showed an example yesterday where one
>> of the patches to Python has a diff file that is older than the
>> changed source file.
>>  * My removing the need to have large files copied, we could actually
>> reduce the size of Sage, though this is not going to happen overnight
>> - nobody is likely to want to elect to remove all patches that use
>> 'cp' and replace them by ones that use 'patch'.
>>  * Since everyone will have the same version of patch, there should be
>> no issues like different patch commands behaving differently.
>>  * I don't mind creating the package - it would be a simple task.
>>  * I don't mind taking on the role of maintainer for 2 years
>>
>> Against.
>>  * It adds more to Sage.
>>  * It could not be optional/experimental. One would have to make a
>> decision for it to be 'standard' from the start. Otherwise it would
>> form no useful function at al.
>>  * Mercurial can arguably be used, but this is difficult if not
>> impossible in my opinion. The version of Python shipped with Solaris
>> is too old to work with Mercurial, so we need a recent python to build
>> Mercurial. But Python needs patches to be built. We could patch Python
>> by using 'cp' then switch to Mercurial after it is built, but that
>> needs two different methods of patching Sage. (I've already shown
>> there is a bad patch in Python).
>>
>> So do you vote
>>
>> [Yes] Include GNU patch as a standard package in Sage
>> [No] Do not include it.
>>
> Yes - it makes my life easier.
>
> Francois
>
> --
> 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
>

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