11167
Comment: Update pruner output for sage 7.4
|
11203
Add cython bug to list.
|
Deletions are marked like this. | Additions are marked like this. |
Line 48: | Line 48: |
|| [[https://packages.qa.debian.org/c/cython.html|cython]] || TBD || Debian maintainer needs to apply [[https://github.com/cython/cython/commit/332b330096bb260f638849526ba0f7d8888db905|this upstream patch]].|| | || [[https://packages.qa.debian.org/c/cython.html|cython]] || DebianBug:842296 || Debian maintainer needs to apply [[https://github.com/cython/cython/commit/332b330096bb260f638849526ba0f7d8888db905|this upstream patch]] or package cython 0.25.|| |
Some people within DebianScience would like to package again Sage for Debian. An old version of Sage got packaged long time ago by Tim Abbott, but, because of lack of maintainance, it became totally unusable and was removed from Debian. The status pages (master, develop) give an overview about package versions in Sage and Debian. If you want to help out, pick one of the open tasks or issues below and get going. Or contact us via the mailing list or in #debian-science on irc.oftc.net.
Building Sage with Debian packages
We have a git repository (sagemath) to document the steps we currently do to experiment with building Sage against Debian packages. Important elements are the build dependencies of Sage, patches for Sage and a script called "pruner" that uses automake to determine if the necessary packages are installed (see also this mail).
Start with Debian unstable (sid) with experimental sources enabled. It is nice to do this in a chroot with schroot. (If your build fails with "Permission denied", try adding the following line to /etc/schroot/default/fstab: tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 - more details here)
To set up your system for working with our repo:
sudo apt-get install git quilt devscripts python-sphinx |
Install packages that are required before installing the build dependencies. |
for d in deb deb-src; do \ |
Add our unstable-sage repo for patched dependencies. This is optional; if you prefer you can build these yourself from the instructions in the table below. |
gpg --recv-keys 0xD1188AF4A1398A5FCC3F576654B3F967097676A0 |
Get the repo key. |
gpg --export 0xD1188AF4A1398A5FCC3F576654B3F967097676A0 | sudo apt-key add - |
Install the repo key. |
printf "Package: *\nPin: release n=sid-sage\nPin-Priority: 100\n" \ |
Pin our repo at a low priority so it doesn't mess with the rest of your system. OTOH, if you really really want this repo's packages, to make sure you get the latest and greatest efforts of the Debian Sage packaging team above all else (including maybe our patched dependency packages messing up your system) then you can set the Pin-Priority to a high number like 800. |
git clone --recursive https://anonscm.debian.org/git/debian-science/packages/sagemath.git |
Recursive git clone to also get sage which is included as a git submodule. |
To build the package, run:
debian/rules reset |
Apply patches and force-reset the upstream sage submodule. Note: also removes ~/.sage/local and ~/.local/share/sagemath |
debian/rules build-dep |
Install build dependencies. (Run 'apt-get -f install' afterwards.) |
debian/rules prune |
Run the pruner script. Check that the output matches the one below. |
debian/rules build |
Build sage and run the test suite. |
The output of the pruner tells you in the end which dependencies were not found on the machine. These will be downloaded and built in the build step, before Sage itself is built. Currently (October 2016) the pruner should output something like the following.
fpylll will not come from debian! ipywidgets will not come from debian! jmol will not come from debian! notebook will not come from debian! planarity will not come from debian! sagenb_export will not come from debian! thebe will not come from debian! 153 system packages will be used
See debian/README.Debian for any workarounds you might have to apply, such as patching local system files.
Open tasks
Packages in our development APT repository:
Up-to-date information about the packages in the repo can be found on the status pages. (master branch, develop branch)
Package |
Bug / Link |
Reason for being in the repository |
polybori has been renamed to brial, package is in NEW. |
||
Debian maintainer needs to apply this upstream patch or package cython 0.25. |
||
|
Sage 7.3 uses former version 4.8.3 of GAP. |
|
Sage uses ECL as Common Lisp compiler, Maxima in Debian uses GCL and should be patched to support both. |
||
TBD |
Debian maintainer needs to apply this proposed upstream patch - basically accepted but needs unit tests |
|
pari 2.9~pre1 |
We have to wait for the PARI 2.9 transition (see 841911). |
|
Sage uses CySIgnals with PARI (>=2.8) support (cf d/README.source). |
||
|
Must be re-built against our version of PARI. |
|
|
Must be re-built against our version of PARI |
|
|
The current sagenb package ships a bunch of javascript libraries. It should use at least these Debian packages instead: mathjax, tinymce, jquery, jqueryui, codemirror |
|
jupyter-sphinx-theme Build-Depends on nbsphinx; in NEW queue. |
||
jupyter-sphinx-theme |
ipywidgets Build-Depends on jupyter-sphinx-theme; an ITP has been submitted (838798). |
Other packages:
Package |
Bug / Link |
Assigned |
Comments |
Need to be packaged: |
|||
ipywidgets |
|
|
|
|
|
||
|
Build-Depends on jupyter-notebook |
||
widgetsnbextension |
|
|
|
|
|
||
thebe |
|
|
https://github.com/oreillymedia/thebe, lots of javascript dependencies |
Packages that need a new maintainer and an upload to Debian: |
|||
|
|
There is a request for help, see 719330 |
Uploading patched packages
We've set up a mini-dinstall APT repo to upload our patched Debian packages to, so that we can build sage against these. This is a temporary measure to make everything work more quickly, and these patched packages are unlikely to be added to Debian officially.
To upload, you must be a member of the debian-science group on alioth. Then, you should add this to your ~/.dput.cf:
[deb-sci-sage] method = scp fqdn = alioth.debian.org incoming = /home/groups/debian-science/htdocs/apt/mini-dinstall/incoming/ post_upload_command = ssh alioth.debian.org /home/groups/debian-science/mini-dinstall
mini-dinstall is pretty forgiving and you should be able to overwrite any existing version in this repo or even downgrade versions. However, you must set the distribution in debian/changelog to sid-sage or unstable-sage, otherwise your package will get rejected. Alternatively, do the build without changing debian/changelog, then afterwards edit the .changes file to say Distribution: sid-sage, then debsign it and upload.
Please include the .orig tarball in your upload, which helps our status pages report more accurately. To do this, you can give --changes-option=-sa to dpkg-buildpackage, or if you forget to do this then you can run changestool $XXX.changes includeallsources after the build, then debsign it and upload.
To remove a package:
ssh to alioth.debian.org
Delete the packages from /home/groups/debian-science/htdocs/apt/sid-sage
Run /home/groups/debian-science/mini-dinstall -b --no-db