## SIGs/SciTech/SAGE

### From FedoraProject

(→Missing required components) |
|||

(15 intermediate revisions by 2 users not shown) | |||

Line 2: | Line 2: | ||

__TOC__ | __TOC__ | ||

− | == | + | == People == |

People interested helping in packaging/reviewing: | People interested helping in packaging/reviewing: | ||

Line 19: | Line 19: | ||

* ...add your name here... | * ...add your name here... | ||

− | + | == sagemath-5.7 Fedora review request == | |

+ | The "package SAGE itself" goal has been reached! | ||

− | + | https://bugzilla.redhat.com/show_bug.cgi?id=877651 | |

− | + | ||

− | + | ||

− | + | It is now possible to build sagemath in rawhide and in f18, | |

+ | and there is a private x86_64 f18 repository at: | ||

− | + | http://pcpa.fedorapeople.org/sagemath/f18/ | |

− | + | ||

− | + | ||

− | + | You need this in /etc/yum.repos.d | |

− | + | http://pcpa.fedorapeople.org/sagemath/sagemath-f18.repo | |

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ---- | |

+ | If you were using the previous f17 private repository, a suggested | ||

+ | update method to f18 is: | ||

− | + | $ sudo yum erase sagemath | |

− | + | $ sudo yum update yum | |

− | + | $ sudo yum clean all | |

− | + | $ sudo yum --releasever=18 --disableplugin=presto distro-sync | |

− | + | $ sudo rpm --rebuilddb | |

− | + | (you may need to erase other packages thay may cause conflicts, | |

+ | usually packages from rpmfusion or elsewhere, possibly f15 | ||

+ | packages, but that is out of scope of this cheat sheet) | ||

− | + | After that, remove the sagemath-f17.repo from /etc/yum.repos.d and add | |

− | + | the new sagemath-f18.repo there. | |

− | + | ||

== Dependencies (for which there is a separate upstream) == | == Dependencies (for which there is a separate upstream) == | ||

Line 62: | Line 59: | ||

|- | |- | ||

− | + | <!-- |cliquer || [http://users.tkk.fi/pat/cliquer.html cliquer] || [https://bugzilla.redhat.com/show_bug.cgi?id=825494 #825494] Missing in f18 --> | |

|- | |- | ||

− | | | + | |lrcalc || [http://math.rutgers.edu/~asbuch/lrcalc lrcalc] || [https://bugzilla.redhat.com/show_bug.cgi?id=909510 #909510] Build Requires |

|- | |- | ||

− | | | + | |coin-or-CoinUtils || [http://projects.coin-or.org/CoinUtils CoinUtils] || [https://bugzilla.redhat.com/show_bug.cgi?id=894585 #894585] Build Requires |

|- | |- | ||

− | + | |coin-or-Osi || [http://projects.coin-or.org/Osi Osi] || [https://bugzilla.redhat.com/show_bug.cgi?id=894586 #894586] Build Requires | |

+ | |- | ||

+ | |||

+ | |coin-or-Clp || [http://projects.coin-or.org/Clp Clp] || [https://bugzilla.redhat.com/show_bug.cgi?id=894587 #894587] Build Requires | ||

+ | |- | ||

+ | |||

+ | |coin-or-Cgl || [http://projects.coin-or.org/Cgl Cgl] || [https://bugzilla.redhat.com/show_bug.cgi?id=894588 #894588] Build Requires | ||

+ | |- | ||

+ | |||

+ | |coin-or-Cbc || [http://projects.coin-or.org/Cbc Cbc] || [https://bugzilla.redhat.com/show_bug.cgi?id=894597 #894597] Build Requires | ||

+ | |- | ||

+ | |||

+ | |fes || [http://www.lifl.fr/~bouillag/download fes] || [https://bugzilla.redhat.com/show_bug.cgi?id=914936 #914936] (Optional) Build Requires | ||

|- | |- | ||

|} | |} | ||

Line 80: | Line 89: | ||

|- | |- | ||

− | |[http://admin.fedoraproject.org/pkgdb/acls/name/python-matplotlib python-matplotlib] || [http://sourceforge.net/projects/matplotlib matplotlib] || [https://bugzilla.redhat.com/show_bug.cgi?id=837156 #837156] Requires | + | <!-- |[http://admin.fedoraproject.org/pkgdb/acls/name/python-matplotlib python-matplotlib] || [http://sourceforge.net/projects/matplotlib matplotlib] || [https://bugzilla.redhat.com/show_bug.cgi?id=837156 #837156] Requires --> |

− | + | ||

− | + | ||

− | + | ||

|- | |- | ||

Line 154: | Line 160: | ||

== Packages for which SAGE is upstream == | == Packages for which SAGE is upstream == | ||

− | Latest versions found in http://www.sagemath.org/packages/standard/ | + | Latest versions found in http://www.sagemath.org/packages/standard/ that may be worth packaging as separate SRPMS or different subpackages: |

− | + | {| | |

− | + | | sage || could be named python-sagemath for %{python_sitearch}/sage contents but may not be fully functional without a few "system overrides" in $SAGE_ROOT/site-packages | |

− | + | |- | |

− | + | ||

− | + | | sage_scripts || the main sagemath package requiring all python modules | |

− | + | |- | |

− | + | ||

− | + | | rubiks || there are 3 solvers, but only 2 with functional upstream link, therefore should use sagemath spkg | |

− | Some of | + | |- |

+ | |||

+ | | doc || can be made optional in a sagemath-doc package for users that would prefer to access documentation from elsewhere or are good enough with the python docstrings | ||

+ | |- | ||

+ | |||

+ | | extcode || interfaces to other systems or customizations, could/should be made an optional, but a very small package | ||

+ | |- | ||

+ | |||

+ | | notebook || %{python_sitearch}/sagenb contents, needs some testing, but may be useful if one wants only the command line interface | ||

+ | |- | ||

+ | |||

+ | | elliptic_curves, conway_polynomials, graphs, polytopes_db || ZoDB databases used internally by SAGE | ||

+ | |- | ||

+ | |||

+ | | flintqs || spkg because original upstream deprecated it | ||

+ | |- | ||

+ | |} | ||

+ | |||

+ | ==Cross-distribution efforts== | ||

+ | * Debian: [http://qa.debian.org/developer.php?login=tabbott@mit.edu Tim Abbott's list of SAGE-related Debian packages]. Some of these Debian packages may include some patches for the dependencies that may be required for SAGE that have not yet been pushed upstream (older unmaintained wiki page http://wiki.sagemath.org/devel/DebianSage) | ||

+ | * PcLinuxOS: http://www.mypclinuxos.com/forum/index.php?topic=1509.msg13532#msg13532 | ||

+ | * Mandriva: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/sagemath/ | ||

+ | |||

+ | ==Historical discussion== | ||

+ | On fedora-devel KevinKofler points out that: | ||

+ | |||

+ | <pre> | ||

+ | One problem will be that they're bundling many third-party components which should | ||

+ | be packaged separately:</pre> http://sage.math.washington.edu/sage/doc/html/inst/intro.html | ||

+ | |||

+ | <pre>So the first step is to track down which of these dependencies are in Fedora | ||

+ | already, whether they need any patches to work with SAGE, whether they are | ||

+ | build-time (BuildRequires) dependencies, run-time (Requires) dependencies or | ||

+ | both, whether they're required or optional and package those which are not in | ||

+ | Fedora yet. | ||

+ | </pre> | ||

+ | |||

+ | He suggests the following order: | ||

+ | |||

+ | #package required build-time dependencies | ||

+ | #package required run-time dependencies | ||

+ | #package as many optional build-time dependencies as possible | ||

+ | #package SAGE itself | ||

+ | #package optional run-time dependencies (and decide on a case by case basis whether it makes sense to add them as actual Requires: dependencies to the package or not) | ||

+ | |||

+ | ''Required'' components that SAGE ships with: http://sagemath.org/packages/standard/ | ||

+ | |||

+ | ''Optional'' components that SAGE ships with: http://sagemath.org/packages/optional/ | ||

+ | |||

+ | (a manual list with descriptions which may vary somewhat with respect to the above is at http://sagemath.org/links-components.html) (See also: http://wiki.sagemath.org/days6/sprint/debian) | ||

[[Category:SciTech_SIG|SAGE]] | [[Category:SciTech_SIG|SAGE]] |

## Revision as of 19:12, 23 February 2013

This is to help document the process to get SAGE (http://sagemath.org/), the open-source computer algebra/mathematics framework into Fedora.

## Contents |

## People

People interested helping in packaging/reviewing:

- Rex Dieter
- Alex Lancaster
- Manuel Wolfshant
- Kevin Kofler
- Neal Becker
- Conrad Meyer
- Matthew Daniels
- Jason Tibbitts
- Thomas Spura
- Finnbarr P. Murphy
- Paulo Andrade
- ...add your name here...

## sagemath-5.7 Fedora review request

The "package SAGE itself" goal has been reached!

https://bugzilla.redhat.com/show_bug.cgi?id=877651

It is now possible to build sagemath in rawhide and in f18, and there is a private x86_64 f18 repository at:

http://pcpa.fedorapeople.org/sagemath/f18/

You need this in /etc/yum.repos.d

http://pcpa.fedorapeople.org/sagemath/sagemath-f18.repo

If you were using the previous f17 private repository, a suggested update method to f18 is:

$ sudo yum erase sagemath $ sudo yum update yum $ sudo yum clean all $ sudo yum --releasever=18 --disableplugin=presto distro-sync $ sudo rpm --rebuilddb

(you may need to erase other packages thay may cause conflicts, usually packages from rpmfusion or elsewhere, possibly f15 packages, but that is out of scope of this cheat sheet)

After that, remove the sagemath-f17.repo from /etc/yum.repos.d and add the new sagemath-f18.repo there.

## Dependencies (for which there is a separate upstream)

### Missing required components

(If you are working on packaging a component or have filed a review request bug, please note it or link to something here.)

Fedora package | Upstream | Review request / status |
---|---|---|

lrcalc | lrcalc | #909510 Build Requires |

coin-or-CoinUtils | CoinUtils | #894585 Build Requires |

coin-or-Osi | Osi | #894586 Build Requires |

coin-or-Clp | Clp | #894587 Build Requires |

coin-or-Cgl | Cgl | #894588 Build Requires |

coin-or-Cbc | Cbc | #894597 Build Requires |

fes | fes | #914936 (Optional) Build Requires |

### Packages that need changes to work with sagemath

Fedora package | Upstream | Request for Enhancement / status |
---|

### Completed (reviewed and built) required components

## Packages for which SAGE is upstream

Latest versions found in http://www.sagemath.org/packages/standard/ that may be worth packaging as separate SRPMS or different subpackages:

sage | could be named python-sagemath for %{python_sitearch}/sage contents but may not be fully functional without a few "system overrides" in $SAGE_ROOT/site-packages |

sage_scripts | the main sagemath package requiring all python modules |

rubiks | there are 3 solvers, but only 2 with functional upstream link, therefore should use sagemath spkg |

doc | can be made optional in a sagemath-doc package for users that would prefer to access documentation from elsewhere or are good enough with the python docstrings |

extcode | interfaces to other systems or customizations, could/should be made an optional, but a very small package |

notebook | %{python_sitearch}/sagenb contents, needs some testing, but may be useful if one wants only the command line interface |

elliptic_curves, conway_polynomials, graphs, polytopes_db | ZoDB databases used internally by SAGE |

flintqs | spkg because original upstream deprecated it |

## Cross-distribution efforts

- Debian: Tim Abbott's list of SAGE-related Debian packages. Some of these Debian packages may include some patches for the dependencies that may be required for SAGE that have not yet been pushed upstream (older unmaintained wiki page http://wiki.sagemath.org/devel/DebianSage)
- PcLinuxOS: http://www.mypclinuxos.com/forum/index.php?topic=1509.msg13532#msg13532
- Mandriva: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/sagemath/

## Historical discussion

On fedora-devel KevinKofler points out that:

One problem will be that they're bundling many third-party components which should be packaged separately:http://sage.math.washington.edu/sage/doc/html/inst/intro.html

So the first step is to track down which of these dependencies are in Fedora already, whether they need any patches to work with SAGE, whether they are build-time (BuildRequires) dependencies, run-time (Requires) dependencies or both, whether they're required or optional and package those which are not in Fedora yet.

He suggests the following order:

- package required build-time dependencies
- package required run-time dependencies
- package as many optional build-time dependencies as possible
- package SAGE itself
- package optional run-time dependencies (and decide on a case by case basis whether it makes sense to add them as actual Requires: dependencies to the package or not)

*Required* components that SAGE ships with: http://sagemath.org/packages/standard/

*Optional* components that SAGE ships with: http://sagemath.org/packages/optional/

(a manual list with descriptions which may vary somewhat with respect to the above is at http://sagemath.org/links-components.html) (See also: http://wiki.sagemath.org/days6/sprint/debian)