Package: python3-paraview Version: 5.7.0-3 Severity: important Tags: patch -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
Hi, The recent upload of paraview release 5.7.0-3 was to fix a Python3 version related FTBFS: > paraview (5.7.0-3) unstable; urgency=medium > > * Hard-code Build-Dep on python3.8-dev. This wasn't being pulled in > correctly > leading to FTBFS. Instead of depending on a hardcoded Python3 version, the correct fix should be to build against every supported Python3 version. This way it won't FTBFS on the next change in the supported Python3 version list. Please find attached a patch proposal. Thanks, _g. - -- System Information: Debian Release: buster/sid Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.3.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEoJObzArDE05WtIyR7+hsbH/+z4MFAl32GE0ACgkQ7+hsbH/+ z4NNMAgArSZaoxbnMR1SfK12zy/VI84L46qYaUCGFKnGqmz/q4Zdoc+pHvmbzDGX Ac9G+AVPvfT02+aTHP7F+xOC/nZ1ltN7sgkgGaz8hNVgGbi/8U4ZvvB6JJ5tZxh0 jqfAMAOgkzrnH/xv5twB9I2K7GvHnwbDYYp2mQ2tZWpfsJQctHcK6HZjjbdQWBhN RF9FoVV2uO5K8M7TFyzZdfgyOknrTtxkS5FdG5RUrGdlErfpTe6SH5GKP5+62GSo SL4J6H8ApYDCxHyg/OqjvCXwdxyhM9L/cJghp4bmGxvbNNSxkB1Qqzl9RBQKKiYV xaOiI7/F+BDcYDZfX0+fP6wFPNMOeg== =UzEf -----END PGP SIGNATURE-----
diff -Nru paraview-5.7.0/debian/changelog paraview-5.7.0/debian/changelog --- paraview-5.7.0/debian/changelog 2019-12-11 10:16:00.000000000 +0100 +++ paraview-5.7.0/debian/changelog 2019-12-13 19:25:32.000000000 +0100 @@ -1,3 +1,10 @@ +paraview (5.7.0-4) UNRELEASED; urgency=medium + + * Build for all supported Python3 versions + * New patches: python3-exact.patch, python3-exec-versions.patch + + -- Gilles Filippini <p...@debian.org> Fri, 13 Dec 2019 19:25:32 +0100 + paraview (5.7.0-3) unstable; urgency=medium * Hard-code Build-Dep on python3.8-dev. This wasn't being pulled in correctly diff -Nru paraview-5.7.0/debian/control paraview-5.7.0/debian/control --- paraview-5.7.0/debian/control 2019-12-11 10:16:00.000000000 +0100 +++ paraview-5.7.0/debian/control 2019-12-13 19:25:32.000000000 +0100 @@ -27,7 +27,7 @@ libavcodec-dev, libswscale-dev, libqt5sql5-sqlite, - python3.8-dev, + python3-all-dev, dh-python, libglu1-mesa-dev, libxt-dev, diff -Nru paraview-5.7.0/debian/patches/python3-exact.patch paraview-5.7.0/debian/patches/python3-exact.patch --- paraview-5.7.0/debian/patches/python3-exact.patch 1970-01-01 01:00:00.000000000 +0100 +++ paraview-5.7.0/debian/patches/python3-exact.patch 2019-12-13 19:25:32.000000000 +0100 @@ -0,0 +1,42 @@ +Description: Makes cmake request the exact python3 version referenced + by variable DEBIAN_PYTHON_PYTHON. This allows building for several + python3 versions. +Index: paraview-5.7.0/VTK/CMake/vtkModule.cmake +=================================================================== +--- paraview-5.7.0.orig/VTK/CMake/vtkModule.cmake ++++ paraview-5.7.0/VTK/CMake/vtkModule.cmake +@@ -3643,6 +3643,9 @@ macro (vtk_module_find_package) + "The `FORWARD_VERSION_REQ` argument must be one of `MAJOR`, `MINOR`, " + "`PATCH`, or `EXACT`.") + endif () ++ if (_vtk_find_package_FORWARD_VERSION_REQ STREQUAL "EXACT") ++ set(_vtk_find_module_exact_option EXACT) ++ endif () + endif () + + if (NOT DEFINED _vtk_find_package_VERSION_VAR) +@@ -3656,7 +3659,7 @@ macro (vtk_module_find_package) + endif () + + find_package("${_vtk_find_package_PACKAGE}" +- ${_vtk_find_package_VERSION} ++ ${_vtk_find_package_VERSION} ${_vtk_find_module_exact_option} + ${_vtk_find_package_config} + COMPONENTS ${_vtk_find_package_COMPONENTS} + OPTIONAL_COMPONENTS ${_vtk_find_package_OPTIONAL_COMPONENTS}) +Index: paraview-5.7.0/VTK/Utilities/Python/CMakeLists.txt +=================================================================== +--- paraview-5.7.0.orig/VTK/Utilities/Python/CMakeLists.txt ++++ paraview-5.7.0/VTK/Utilities/Python/CMakeLists.txt +@@ -43,9 +43,9 @@ elseif (VTK_PYTHON_VERSION STREQUAL "3") + endif () + vtk_module_find_package( + PACKAGE Python3 +- VERSION "${vtk_python_min_version}" ++ VERSION "${DEBIAN_PYTHON_VERSION}" + COMPONENTS Development +- FORWARD_VERSION_REQ MINOR) ++ FORWARD_VERSION_REQ EXACT) + else () + message(FATAL_ERROR + "`VTK_PYTHON_VERSION` must either be 2 or 3.") diff -Nru paraview-5.7.0/debian/patches/python3-exec-versions.patch paraview-5.7.0/debian/patches/python3-exec-versions.patch --- paraview-5.7.0/debian/patches/python3-exec-versions.patch 1970-01-01 01:00:00.000000000 +0100 +++ paraview-5.7.0/debian/patches/python3-exec-versions.patch 2019-12-13 19:25:32.000000000 +0100 @@ -0,0 +1,18 @@ +Description: Name the python related executables after the python3 + version they were built for +Index: paraview-5.7.0/CommandLineExecutables/CMakeLists.txt +=================================================================== +--- paraview-5.7.0.orig/CommandLineExecutables/CMakeLists.txt ++++ paraview-5.7.0/CommandLineExecutables/CMakeLists.txt +@@ -56,9 +56,9 @@ endforeach () + + if (PARAVIEW_ENABLE_PYTHON) + foreach (exe IN ITEMS pvbatch pvpython) +- paraview_add_executable("${exe}" "${exe}.cxx") ++ paraview_add_executable("${exe}${DEBIAN_PYTHON_VERSION}" "${exe}.cxx") + list(APPEND paraview_tools +- "${exe}") ++ "${exe}${DEBIAN_PYTHON_VERSION}") + endforeach () + endif () + diff -Nru paraview-5.7.0/debian/patches/series paraview-5.7.0/debian/patches/series --- paraview-5.7.0/debian/patches/series 2019-12-11 10:16:00.000000000 +0100 +++ paraview-5.7.0/debian/patches/series 2019-12-13 19:25:32.000000000 +0100 @@ -2,3 +2,5 @@ security-format.patch override-fix.patch python3.8.patch +python3-exact.patch +python3-exec-versions.patch diff -Nru paraview-5.7.0/debian/python3-paraview.install paraview-5.7.0/debian/python3-paraview.install --- paraview-5.7.0/debian/python3-paraview.install 2019-12-11 10:16:00.000000000 +0100 +++ paraview-5.7.0/debian/python3-paraview.install 2019-12-13 19:25:32.000000000 +0100 @@ -1,2 +1,3 @@ usr/bin/pvpython usr/lib/*/vtk +usr/lib/python3* diff -Nru paraview-5.7.0/debian/python3-paraview.pyinstall paraview-5.7.0/debian/python3-paraview.pyinstall --- paraview-5.7.0/debian/python3-paraview.pyinstall 2019-12-11 10:16:00.000000000 +0100 +++ paraview-5.7.0/debian/python3-paraview.pyinstall 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -# paraview vtkmodules vtk.py -debian/tmp/usr/lib/*/python3*/site-packages/vtk.py vtk -debian/tmp/usr/lib/*/python3*/site-packages/paraview/*.py paraview -debian/tmp/usr/lib/*/python3*/site-packages/paraview/demos/*.py paraview.demos -debian/tmp/usr/lib/*/python3*/site-packages/paraview/detail/*.py paraview.detail -debian/tmp/usr/lib/*/python3*/site-packages/paraview/benchmark/*.py paraview.benchmark -debian/tmp/usr/lib/*/python3*/site-packages/paraview/modules/*.py paraview.modules -debian/tmp/usr/lib/*/python3*/site-packages/paraview/util/*.py paraview.util -debian/tmp/usr/lib/*/python3*/site-packages/paraview/tpl/*.py paraview.tpl -debian/tmp/usr/lib/*/python3*/site-packages/paraview/tpl/cinema_python/*.py paraview.tpl.cinema_python -debian/tmp/usr/lib/*/python3*/site-packages/paraview/tpl/cinema_python/database/*.py paraview.tpl.cinema_python.database -debian/tmp/usr/lib/*/python3*/site-packages/paraview/tpl/cinema_python/images/*.py paraview.tpl.cinema_python.images -debian/tmp/usr/lib/*/python3*/site-packages/paraview/tpl/cinema_python/adaptors/*.py paraview.tpl.cinema_python.adaptors -debian/tmp/usr/lib/*/python3*/site-packages/paraview/tpl/cinema_python/adaptors/paraview/*.py paraview.tpl.cinema_python.adaptors.paraview -#debian/tmp/usr/lib/*/python3*/site-packages/paraview/vtk/*.py paraview.vtk -debian/tmp/usr/lib/*/python3*/site-packages/paraview/modules/*.py paraview.modules -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/*.py vtkmodules -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/gtk/*.py vtkmodules.gtk -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/tk/*.py vtkmodules.tk -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/qt/*.py vtkmodules.qt -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/wx/*.py vtkmodules.wx -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/test/*.py vtkmodules.test -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/util/*.py vtkmodules.util -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/numpy_interface/*.py vtkmodules.numpy_interface -# modules -debian/tmp/usr/lib/*/python3*/site-packages/paraview/modules/*.so paraview.modules -debian/tmp/usr/lib/*/python3*/site-packages/vtkmodules/*.so vtkmodules diff -Nru paraview-5.7.0/debian/rules paraview-5.7.0/debian/rules --- paraview-5.7.0/debian/rules 2019-12-11 10:16:00.000000000 +0100 +++ paraview-5.7.0/debian/rules 2019-12-13 19:25:32.000000000 +0100 @@ -5,7 +5,10 @@ UPSTREAM_VERSION = $(shell dpkg-parsechangelog | awk '/^Version:/ { sub("-[^-]*$$", "", $$2); print $$2}') %: - dh $@ --buildsystem=cmake --with python3 + dh $@ --buildsystem=cmake --with python3 --parallel + +PY3VERS=$(shell py3versions -vr) +PY3DEF=$(shell py3versions -dv) export LD_LIBRARY_PATH+=:$(CURDIR)/debian/paraview/usr/lib/paraview export QT_SELECT=qt5 @@ -75,8 +78,37 @@ -DPARAVIEW_ENABLE_MOTIONFX=ON \ -DPARAVIEW_PLUGIN_ENABLE_EyeDomeLighting=ON -override_dh_auto_configure: - dh_auto_configure -- $(extra_flags) +override_dh_auto_clean: + dh_auto_clean + rm -fr build.* + +my_configure_python%: pyver=$(patsubst my_configure_python%,%,$@) +my_configure_python%: + dh_auto_configure -Bbuild.python$(pyver) -- $(extra_flags) -DPython3_EXECUTABLE=/usr/bin/python$(pyver) -DDEBIAN_PYTHON_VERSION=$(pyver) + +override_dh_auto_configure: $(foreach pyver,$(PY3VERS), my_configure_python$(pyver)) + +my_build_python%: pyver=$(patsubst my_build_python%,%,$@) +my_build_python%: + dh_auto_build -Bbuild.python$(pyver) + +override_dh_auto_build: $(foreach pyver,$(PY3VERS), my_build_python$(pyver)) + +my_install_python%: pyver=$(patsubst my_install_python%,%,$@) +my_install_python%: + dh_auto_install -Bbuild.python$(pyver) + +override_dh_auto_install: $(foreach pyver,$(PY3VERS), my_install_python$(pyver)) + # Use the defaut python3 version for the tools + cd debian/tmp/usr/bin $(foreach exe,pvbatch pvpython,&& mv $(exe)$(PY3DEF) $(exe)) + # Move out python3 modules from archtriplet subfolder to have correct behavior from dh_python3 + mv debian/tmp/usr/lib/*/python3* debian/tmp/usr/lib/ + +my_test_python%: pyver=$(patsubst my_test_python%,%,$@) +my_test_python%: + dh_auto_test -Bbuild.python$(pyver) + +override_dh_auto_test: $(foreach pyver,$(PY3VERS), my_test_python$(pyver)) override_dh_compress: dh_compress -X.qch
-- debian-science-maintainers mailing list debian-science-maintainers@alioth-lists.debian.net https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers