New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

D3.10: Packaging components and user-contributed code for major Linux distributions #59

Open
minrk opened this Issue Sep 8, 2015 · 25 comments

Comments

Projects
None yet
@minrk
Contributor

minrk commented Sep 8, 2015

  • WP3: Component Architecture
  • Lead Institution: Université de Versailles Saint-Quentin
  • Due: 2019-08-31 (month 48)
  • Nature: Other
  • Task: T3.3 (#52)
  • Proposal: p. 43

SAGE has a long history of integrating and distributing large mathematical libraries/software as a whole, with relatively few attention given to defining and exposing interfaces. Component re-usability is not a main focus for the SAGE community, at the same time the non-standard and relatively underused package system discourages writing and maintaining autonomous libraries. These factors have contributed to make the SAGE distribution what is usually described as a “monolith” (SAGE library code alone, not counting included libraries, makes up for 1.5M lines of code and documentation), hard to distribute, to maintain, to port, and to develop with. On the other hand, GAP has been distributing community-developed “GAP packages” for a long time, but faces now fragmentation issues, at the code and at the community level. The rudimentary package system adds more technical difficulties to GAP’s development model.

Both models reach the limits of their scalability, and a synthesis is very much needed. Our first experiment will be to enhance SAGE ’s package system (#65), enough to support an open repository of user-contributed code, in the same spirit of modern systems such as Julia (http://pkg.julialang.org/ ) or PyPI (https://pypi.python.org/). Once internal packaging has been dealt with, the route will be paved to further modularise the SAGE distribution, and make sure that the major Linux distributions have standard packages for it (D3.10).

Work in progress:

cc: @embray

@minrk minrk added this to the D3.10 milestone Sep 8, 2015

@nthiery nthiery referenced this issue Sep 11, 2015

Closed

First informal review #156

3 of 3 tasks complete

@minrk minrk referenced this issue Nov 1, 2015

Open

T3.3: Modularisation and packaging #52

1 of 7 tasks complete
@nthiery

This comment has been minimized.

Contributor

nthiery commented Nov 1, 2015

One plan to get started on this would be to have a dedicated workshop (typically in Orsay or nearby Cernay next Spring). Here are some tentative names of people from ODK that will work on this and people that have been involved in packaging Sage & co (please expand): Erik Bray, Julien Cristau (Debian/Logilab), Jan Groenewald, Thierry Monteil, François Bissey, Burcin Erocal, ...

@fangohr

This comment has been minimized.

Contributor

fangohr commented Nov 2, 2015

Sounds good - we may want to send somebody from Southampton to join the effort (with focus on packages the micromagnetic package(s)).

@alex-konovalov

This comment has been minimized.

Member

alex-konovalov commented Nov 2, 2015

Sounds good - hope GAP will be also represented.

@jcristau

This comment has been minimized.

jcristau commented Nov 5, 2015

Sounds good to me.

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Nov 5, 2015

I'm also interested to discuss things. I must say that I am pessimistic about the "packaging for distributions" effort, so it really would be useful to have somebody who represents the distributions.

@defeo

This comment has been minimized.

Contributor

defeo commented Nov 12, 2015

Some reading on what's happened recently in Fedora viz bundling http://lwn.net/Articles/660429/.

Some discussion here: http://lwn.net/Articles/660429/. Note the mention of Guix in the first comment.

@embray

This comment has been minimized.

Collaborator

embray commented Feb 29, 2016

I've started some side work on my own list of Sage's dependencies, and how they relate to Debian. So far my finding is that the vast majority of dependencies can be satisfied through the system packager in that case. The improvements needed on Sage's end, then, are to determine which dependencies can and can't be satisfied from the system (in some cases they can't due to unique patches provided by Sage, but in many other cases the only patches are unique to building that package within Sage, and not relevant if it comes from the system package).

@nthiery nthiery modified the milestones: Month 48: 2019-08-31, D3.10 Mar 22, 2016

@slel

This comment has been minimized.

Contributor

slel commented Jul 13, 2016

Recently read on Sage-devel at
https://groups.google.com/d/msg/sage-support/e91qG-qBGAY/ZXKmYpo3CgAJ

Ideally each optional package should be in itself
a debian package. But we lack manpower...

@videlec

This comment has been minimized.

Contributor

videlec commented Aug 8, 2016

@embray do you know of (the recently edited) https://wiki.debian.org/DebianScience/Sage

@fcayre

This comment has been minimized.

fcayre commented Aug 9, 2016

@videlec, @embray there are undergoing discussions between Logilab and Jérôme Benoît (calculus@rezozer.net) to see if Logilab will hire him to help packaging Sage in Debian. I'll keep you informed on this thread.

@jdemeyer

This comment has been minimized.

Contributor

jdemeyer commented Aug 9, 2016

Good news. I hope that we can work with the Debian people to actually improve Sage to make it more distributable. That will benefit not just Debian, but all distros. We already added a few patches from Gentoo.

@embray

This comment has been minimized.

Collaborator

embray commented Aug 9, 2016

@embray do you know of (the recently edited) https://wiki.debian.org/DebianScience/Sage

I know of that page, but I didn't know it was recently updated. Looks like it's been significantly cleaned up since I last saw it.

@slel

This comment has been minimized.

Contributor

slel commented Aug 9, 2016

@slel

This comment has been minimized.

Contributor

slel commented Aug 10, 2016

A dedicated mailing list "debian-science-sagemath" was just created.

@serge-sans-paille

This comment has been minimized.

Contributor

serge-sans-paille commented Aug 19, 2016

If as a side effect, pythran could be packaged for debian, that would be great :-)

@dimpase

This comment has been minimized.

Contributor

dimpase commented Jan 22, 2017

I wish one could channel debian-science activity more towards improving Sage, instead of at times being the cart before the horse; e.g. they updated libGAP to GAP 4.8.6 on their own debianised fork, and we only now found out about this as they started to ask about failing Sage doctests.

@jgmbenoit

This comment has been minimized.

jgmbenoit commented Jan 22, 2017

@dimpase

This comment has been minimized.

Contributor

dimpase commented Jan 22, 2017

@jgmbenoit: "Sage-centric?" Not at all. libGAP has a very well-defined upstream to which you chose not to contribute for a reason I fail to comprehend.

@nthiery

This comment has been minimized.

Contributor

nthiery commented Jan 22, 2017

@jgmbenoit

This comment has been minimized.

jgmbenoit commented Jan 23, 2017

@dimpase

This comment has been minimized.

Contributor

dimpase commented Jan 23, 2017

@alex-konovalov

This comment has been minimized.

Member

alex-konovalov commented Jan 23, 2017

Hello @jgmbenoit. Any reasons why you're keeping to say "Hello Forum" - just in case, this is not a GAP Forum, but an issue tracker of the H2020 OpenDreamKit project.

@jgmbenoit

This comment has been minimized.

jgmbenoit commented Jan 23, 2017

@dimpase

This comment has been minimized.

Contributor

dimpase commented Jan 23, 2017

@bpilorget

This comment has been minimized.

Contributor

bpilorget commented Jan 11, 2018

#65 was merged to #59 after the 3rd amendment to the contract

@bpilorget bpilorget changed the title from D3.10: Packaging for major Linux distributions to D3.10: Packaging components and user-contributed code for major Linux distributions Jan 11, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment