[Debian-science-sagemath] Build-Depends on source itself [libgap-sage]

Jerome BENOIT calculus at rezozer.net
Wed Nov 2 04:52:39 UTC 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Thanks for your prompt reply.

On 02/11/16 04:11, Paul Wise wrote:
> On Wed, Nov 2, 2016 at 11:22 AM, Jerome BENOIT wrote:
> 
>> Let give a try. I am dealing with the libgap-sage package [1].
> 
> Thanks for the extensive details.


You are welcome. 
> 
>> To begin with, GAP is a Computer Algebra System (CAS).
>> From an upstream point of view, libgap is not part of GAP itself.
>> libgap is rather a library wrapper for gap meant to get a better
>> access to the GAP kernel and to be used within Sage, which is a kind
>> a umbrella for multiple CAS (GAP, Singular, and a myriad of scientific oriented software packages).
>> Note that, for now at least, GAP itself does not furnish any library; hence libgap.
> 
> The libgap project seems like a workaround for this bug in GAP?

Indeed.

> 
>> Basically libgap adds a prefix to the GAP functions and variables,
>> and gather them in a library. We must have in mind the following points:
>> 1] The libgap source ball provides the modified source files with some delay
>> (current modified gap version in libgap is 4.8.3 while the current gap version is 4.8.5 ,
>> this version being the one in Stretch. In any case, the copyright headers of the source files
>> are not modified, so they cannot be packaged for copyright reasons.
> 
> That seems like a very suboptimal way to do it.

I guess that everybody is agree here.

> 
>> 2] The scripts that modify the original GAP source files is not distributed within
>> the libgap upstream source ball, but it is available via the libgap git repository [2] at Bitbucket
>> along some documentation for generating our own modified GAP source code. The current Debian source ball
>> for libgap is the git repository material (which unmodified contains but obsolete GAP material, version 4.8.3).
> 
> Ok, I'm glad this is not a DFSG violation. It could easily have been one.

I took care about this part of the story.

> 
>> 3] The libgap Debian package must be synchronized with the GAP Debian package, so modifying the (potentially)
>> patched GAP src/ is certainly not only a good idea but also a factor of stability and good maintenance.
> 
> Agreed.
> 
>> 4] Just the material in the subfolder src/ within the GAP source ball is needed, that is to say, not the all
>> source ball.
> 
> Makes sense.
> 
>> 5] We want a long term solution to ease the maintenance of Sage[Math] and its friends.
> 
> It seems clear to me that the only sane long-term solution is for GAP
> upstream to add a proper shared library.

Absolutely agree. My understanding is that the GAP upstream team is working on it.
But GAP is an heavy machinery, and  it might be not one of the top priorities.


 Has this been discussed with
> them at all?

I bet we can find long discussion about on the internet.

 Until GAP upstream are willing to do this,

Let focus on this part.


 I suggest one
> of the following:
> 
> Drop the libgap-sage source package entirely and add a secondary
> tarball to the Debian GAP source package containing only the libgap
> scripts and have the Debian build process for GAP use those scripts to
> create libgap-sage dev and lib binary packages. dpkg-source format v3
> can have multiple tarballs, which makes this doable sanely.
>

Keeping the `intersection' with the GAP debian package minimal is also a factor.

 
> OR
> 
> Get the GAP sources removed from the Bitbucket repository.
> 
> Have the build scripts in the libgap Bitbucket repository:
> 
> 1. require info on which source tree to copy or which version to download
> 2. copy that source tree or download that version
> 3. modify the local copy using the scripts as per normal
> 4. build the scripts as per normal
> 
> There might need to be some checking of the copied source tree to make
> sure the scripts still support it.

The current scheme of the libgap-sage package tends to this solution:
the first priority was to bring libga[-sage] to Debian.


> 
> Create a gap-libgap-sage-source (or similar) package from the GAP
> Debian package, containing the GAP src/ directory somewhere under
> /usr/src.
> 
> Have the libgap-sage package build-depend on gap-libgap-sage-source
> and point the libgap scripts at the GAP src/ directory under /usr/src.
> 
> Make sure that the libgap-sage package is binNMUed or rebuilt after
> every gap upload. I expect the script will need to change reasonably
> often due to changes in GAP though.

This is what I had in mind after reading your previous emails and the one of Den.

@Bill :
Which solution would you like to favour ?

Personally I prefer the second solution as it treats the GAP material as raw material
and that it puts a clear line between GAP and Sage as concerns Debian maintenance.

Can I start to write patch against the GAP debian/ material ?

Thanks,
Jerome

> 

- -- 
Jerome BENOIT | calculus+at-rezozer^dot*net
https://qa.debian.org/developer.php?login=calculus@rezozer.net
AE28 AE15 710D FF1D 87E5  A762 3F92 19A6 7F36 C68B
-----BEGIN PGP SIGNATURE-----

iQQcBAEBCgAGBQJYGXEWAAoJED+SGaZ/NsaLPOogALZtFB/bzZzh/6btVbknWvjN
1zjE/KE4+PWRqJ+swE2QJJZTJrP97QdQNii0QWJJ80TB1JpZp8NvI9mbZVigI+73
xqzKBQE3JZH+f8GM5j33+JIYVZTRAv4SvmY8j7qf6hNnLdSUqnZ/hP1vX+2OhAQ2
qAs4rWwguZFwN8anPBPrVA/6Z0YaFkdSnuj+DxhDcAnB2fNtVRYZWqpSmXOTpOHN
4crwkesIyS0Njil5qDPF/cvRFj44CwhkqykiPYVlP/JWFnPGaWGp/9ZDqbwGgNNT
tujtc4O1axnKRq9DGoEt1mTTmeGq+TqBBxj1uXTCFXxkDqbkM6npvXbzLmN6sOIG
aHQv0mxJfk5Ghf/KNrHre1SnnL8ddG4VBLL1ge/vK1ylb3fb3/m0VjlwO1eLv3Cq
UKwYj/ePejTI0EaYGWvKAF5R2YdSeBK8V3auCzGEHztnaPpyyKo7W1W11p5P2i65
yTXgO3X24TQpWqGP8/IubZENEbslUSIuAa+6dojj4OoxGZ6OvZY0Pxmge6yvqaHU
TdVeOGq7z/YoidpT+eQdbtyLbUOk5r03ugAPBgb1LFSv+xYrPml28//e1ubZ/H1P
lyS5l2OU9Fo4tGWPJL3aRFLN8432ljlxdhA0WnSVLPDraog0EbLvB8CkA/5mEi0F
qCRXWznT8zAXJTzpA3H6rx/oTFSN8AHA5lpQXearBE4MNt+8nMJ7lORU1DCnd7gD
it1pyUmds21citMUfueU4qsii99WdyR/XuO/B51iXh5DE7uubHpfLUR/O3YWREhP
Mcstp4svU6JXRX/OyEG7DbCEIO1EsSA8Ng+ypkzQklKDZrgFSJKiRBvEiHMyd//F
MGKORdkDIDR/L5aSuzg2mXUiJo8mvt//KECx/01gDG/7CojtURXK4M8qwpU2N5h7
3xyb1X73Vob4akMzc7qIdHAqQtnh6meJfwEneCAZsy51CrWwUqX7eg9uB6k3owwi
cxgE1yYcpxIcbqa/Ps6JHmDJaiM5LTlUKdCOEK4uSlJzRrGnRk4xNPqcGtnOC9Sa
EwUmsWVqyxwcPGEXkdLN6W+Vh8xnagr/lVphgaCbSz5BdSMQRXycHTtiOKKB7FMd
37ock8Cf2K8C2YHlh3Sm+8qSrieJKE4dkfH7WpATkL0xVHpjPSGnRAKC90BqLZ7g
fkB+fS4W7p7rwNz2spEjqxVptx3xmoVkooyqy98vT3JihviieWoyqcIBCXO2BovI
FykwmVQ46UcMMJJbbB+VS3i+fEe6NBDc7vipvxsf2W871Wxuogx8sKMWiR5tOXg1
UGqiSjcKfGtKfoRaBnJoBSoHkGf0788v78KzdFM0a2b3QJMjYdBtynutM2oKYe0=
=uMuR
-----END PGP SIGNATURE-----



More information about the Debian-science-sagemath mailing list