Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.rc > #264872

Bug#943924: reducing matplotlib2 build-depends.

From peter green <plugwash@p10link.net>
Newsgroups linux.debian.bugs.rc
Subject Bug#943924: reducing matplotlib2 build-depends.
Date 2019-11-12 15:20 +0100
Message-ID <z1Fbr-6NV-1@gated-at.bofh.it> (permalink)
References <yXr73-PZ-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

matplotlib2 seems to be an important node in the python2 removal/reduction problem (and the qt4 removal problem). I have noticed there are a substantial number of python module packages that it build-depends on but does not depend on.

python-backports.functools-lru-cache
python-cairocffi
python-colorspacious
python-cycler
python-functools32
python-gi
python-ipywidgets
python-kiwisolver
python-mock
python-nose
python-numpy
python-numpy-dbg
python-numpydoc
python-pandas
python-pil
python-pkg-resources
python-pyqt5
python-pytest
python-qt4
python-scipy
python-setuptools
python-six
python-sphinx
python-sphinx-gallery
python-subprocess32
python-tk
python-tk-dbg
python-tornado
python-wxgtk3.0
python-xlwt

There is also the slightly-strange case of kiwisolver where there is no binary dependency on python-kiwisolver but there is one on python-kiwisolver-dbg.

Some of these dependencies are starting to cause problems. For example

ipywidgets needs to drop it's python2 packages because jupyter-notebook has already done so, but it can't because of the build-dependency from matplotlib2

the qt developers want to get rid of qt4, but can't because of the build-dependency from matplotlib2.

the pandas maintainers have packaged a new python3 only version, which leaves matplotlib2 build-depending on a cruft package.

I am guessing that many of these are to get testsuite coverage for optional features and are not strictly needed for the build, while testing stuff is nice I don't think it's vital for software that is on it's way out. I tried removing all of the aforementioned packages except python-setuptools and python-kiwisolver from the build-depends (and I uninstalled all python 2 packages from the chroot where I was doing my test builds before I installed the remaining build-depends).

I had to add the following packages back in to get a succesful build.

python-numpy
python-numpy-dbg
python-sphinx (needed for documentation build)
python-backports.functools-lru-cache (needed for documentation build)
python-cycler (needed for documentation build)
python-numpydoc (needed for documentation build)
python-sphinx-gallery (needed for documentation build)
python-colorspacious (needed for documentation build)
python-mock (needed for documentation build)

I also had to add a build-dependency on python-ipkernel which is needed by the documentation build and was previously pulled in indirectly.

That left the following list of changes to build-dependencies.

-               python-cairocffi [!ia64],
-               python-functools32,
-               python-gi,
-               python-ipywidgets,
+               python-ipykernel,
-               python-nose,
-               python-pandas [!hppa !m68k !powerpcspe !sparc64 !sh4 !x32],
-               python-pil,
-               python-pkg-resources,
-               python-pytest,
-               python-qt4,
-               python-pyqt5 [!hurd-i386],
-               python-scipy,
-               python-six (>= 1.4),
-               python-subprocess32,
-               python-tk (>= 2.5.2-1.1),
-               python-tk-dbg (>= 2.5.2-1.1),
-               python-tornado,
-               python-wxgtk3.0,
-               python-xlwt,

Unfortunately the matplotlib2 build is not reproducible, so while I was able to determine there were no significant changes to file lists (there were some id changes to id's in the documenation) I was not able to reasonably check for changes to file content.

What do others with more experience think? Should these build-dependencies be removed?

While working on this I also ran into an issue with the clean target not cleaning up properly which I fixed as it was getting in the way of my testing.

debdiff is attached.

Back to linux.debian.bugs.rc | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

Bug#943924: reducing matplotlib2 build-depends. peter green <plugwash@p10link.net> - 2019-11-12 15:20 +0100
  Bug#942538: reducing matplotlib2 build-depends. Sandro Tosi <morph@debian.org> - 2019-11-13 03:20 +0100
    Bug#942538: [Python-modules-team] Bug#936745: reducing matplotlib2 build-depends. Dmitry Shachnev <mitya57@debian.org> - 2019-11-22 09:50 +0100
      Bug#942538: [Python-modules-team] Bug#936745: reducing matplotlib2 build-depends. Sandro Tosi <morph@debian.org> - 2019-11-25 01:00 +0100
    Bug#942538: [Python-modules-team] Bug#936745: reducing matplotlib2 build-depends. Sandro Tosi <morph@debian.org> - 2019-11-13 05:10 +0100
    Bug#942538: reducing matplotlib2 build-depends. Dmitry Shachnev <mitya57@debian.org> - 2019-11-13 13:10 +0100

csiph-web