Bug#928198: libpcl-dev: upgrading from stretch needs Breaks against vtk6

Andreas Beckmann anbe at debian.org
Mon Apr 29 19:15:59 BST 2019


Package: libpcl-dev
Version: 1.9.1+dfsg1-3
Severity: important
Tags: patch
User: debian-qa at lists.debian.org
Usertags: piuparts

Hi,

during a test with piuparts I noticed your package fails to upgrade from
'stretch'.
It installed fine in 'stretch', then the upgrade to 'buster' fails.
The failure was observed during an install-remove-distupgrade-install
test.

This is caused by pcl switching from vtk6 to vtk7 while buster has both
vtk6 and vtk7 available. apt does not like exchanging a non-obsolete
(i.e. still available and installable) installed package for another
(not co-installable) package, but adding some Breaks usually shifts the
scores in favor of the desired solution. I tested that the attached patch
fixes this upgrade/install issue.
The same set of Breaks as been successfully added to libcamitk-dev to
fix a similar bug (#926430).

>From the attached log (scroll to the bottom...):

  Starting 2 pkgProblemResolver with broken count: 1
  Investigating (0) libvtk6-dev:amd64 < 6.3.0+dfsg2-2+b5 @ii gK Ib >
  Broken libvtk6-dev:amd64 Depends on libvtk6-java:amd64 < 6.3.0+dfsg2-2+b5 @ii gR > (= 6.3.0+dfsg2-2+b5)
    Considering libvtk6-java:amd64 -1 as a solution to libvtk6-dev:amd64 0
    Added libvtk6-java:amd64 to the remove list
    Fixing libvtk6-dev:amd64 via keep of libvtk6-java:amd64
  Investigating (0) libvtk6-java:amd64 < 6.3.0+dfsg2-2+b5 @ii gK Ib >
  Broken libvtk6-java:amd64 Depends on libvtk6-jni:amd64 < 6.3.0+dfsg2-2+b5 @ii gR > (= 6.3.0+dfsg2-2+b5)
    Considering libvtk6-jni:amd64 -1 as a solution to libvtk6-java:amd64 -1
    Removing libvtk6-java:amd64 rather than change libvtk6-jni:amd64
  Investigating (1) libvtk6-dev:amd64 < 6.3.0+dfsg2-2+b5 @ii gK Ib >
  Broken libvtk6-dev:amd64 Depends on libvtk6-java:amd64 < 6.3.0+dfsg2-2+b5 @ii gR > (= 6.3.0+dfsg2-2+b5)
    Considering libvtk6-java:amd64 -1 as a solution to libvtk6-dev:amd64 0
    Added libvtk6-java:amd64 to the remove list
    Fixing libvtk6-dev:amd64 via keep of libvtk6-java:amd64
  Investigating (1) libvtk6-java:amd64 < 6.3.0+dfsg2-2+b5 @ii gK Ib >
  Broken libvtk6-java:amd64 Depends on libvtk6-jni:amd64 < 6.3.0+dfsg2-2+b5 @ii gR > (= 6.3.0+dfsg2-2+b5)
    Considering libvtk6-jni:amd64 -1 as a solution to libvtk6-java:amd64 -1
    Removing libvtk6-java:amd64 rather than change libvtk6-jni:amd64
  Investigating (2) libvtk6-dev:amd64 < 6.3.0+dfsg2-2+b5 @ii gK Ib >
  Broken libvtk6-dev:amd64 Depends on libvtk6-java:amd64 < 6.3.0+dfsg2-2+b5 @ii gR > (= 6.3.0+dfsg2-2+b5)
    Considering libvtk6-java:amd64 -1 as a solution to libvtk6-dev:amd64 0
    Added libvtk6-java:amd64 to the remove list
    Fixing libvtk6-dev:amd64 via keep of libvtk6-java:amd64
  Investigating (2) libvtk6-java:amd64 < 6.3.0+dfsg2-2+b5 @ii gK Ib >
  Broken libvtk6-java:amd64 Depends on libvtk6-jni:amd64 < 6.3.0+dfsg2-2+b5 @ii gR > (= 6.3.0+dfsg2-2+b5)
    Considering libvtk6-jni:amd64 -1 as a solution to libvtk6-java:amd64 0
    Added libvtk6-jni:amd64 to the remove list
    Fixing libvtk6-java:amd64 via keep of libvtk6-jni:amd64
  Investigating (3) libvtk7-java:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-java:amd64 Breaks on libvtk6-java:amd64 < 6.3.0+dfsg2-2+b5 @ii gK >
    Considering libvtk6-java:amd64 0 as a solution to libvtk7-java:amd64 1
    Added libvtk6-java:amd64 to the remove list
    Fixing libvtk7-java:amd64 via remove of libvtk6-java:amd64
  Investigating (3) libvtk7-jni:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-jni:amd64 Breaks on libvtk6-jni:amd64 < 6.3.0+dfsg2-2+b5 @ii gK >
    Considering libvtk6-jni:amd64 0 as a solution to libvtk7-jni:amd64 0
    Holding Back libvtk7-jni:amd64 rather than change libvtk6-jni:amd64
  Investigating (3) libvtk6-dev:amd64 < 6.3.0+dfsg2-2+b5 @ii gK Ib >
  Broken libvtk6-dev:amd64 Depends on libvtk6-java:amd64 < 6.3.0+dfsg2-2+b5 @ii gR > (= 6.3.0+dfsg2-2+b5)
    Considering libvtk6-java:amd64 1 as a solution to libvtk6-dev:amd64 0
    Removing libvtk6-dev:amd64 rather than change libvtk6-java:amd64
  Investigating (4) libvtk7-java:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-java:amd64 Depends on libvtk7-jni:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH > (= 7.1.1+dfsg1-12+b1)
    Considering libvtk7-jni:amd64 0 as a solution to libvtk7-java:amd64 1
    Holding Back libvtk7-java:amd64 rather than change libvtk7-jni:amd64
  Investigating (4) libvtk7-dev:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-dev:amd64 Depends on libvtk7-java:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH > (= 7.1.1+dfsg1-12+b1)
    Considering libvtk7-java:amd64 1 as a solution to libvtk7-dev:amd64 1
    Holding Back libvtk7-dev:amd64 rather than change libvtk7-java:amd64
  Investigating (4) libvtk7-qt-dev:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-qt-dev:amd64 Depends on libvtk7-dev:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH > (= 7.1.1+dfsg1-12+b1)
    Considering libvtk7-dev:amd64 1 as a solution to libvtk7-qt-dev:amd64 0
    Holding Back libvtk7-qt-dev:amd64 rather than change libvtk7-dev:amd64
  Investigating (5) libpcl-dev:amd64 < none -> 1.9.1+dfsg1-3 @un puN Ib >
  Broken libpcl-dev:amd64 Depends on libvtk7-dev:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH >
    Considering libvtk7-dev:amd64 1 as a solution to libpcl-dev:amd64 9999
    Re-Instated libvtk7-jni:amd64
    Re-Instated libvtk7-java:amd64
    Re-Instated libvtk7-dev:amd64
  Broken libpcl-dev:amd64 Depends on libvtk7-qt-dev:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH >
    Considering libvtk7-qt-dev:amd64 0 as a solution to libpcl-dev:amd64 9999
    Re-Instated libvtk7-qt-dev:amd64
  Investigating (5) libvtk7-jni:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-jni:amd64 Breaks on libvtk6-jni:amd64 < 6.3.0+dfsg2-2+b5 @ii gK >
    Considering libvtk6-jni:amd64 0 as a solution to libvtk7-jni:amd64 0
    Holding Back libvtk7-jni:amd64 rather than change libvtk6-jni:amd64
  Investigating (6) libvtk7-java:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-java:amd64 Depends on libvtk7-jni:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH > (= 7.1.1+dfsg1-12+b1)
    Considering libvtk7-jni:amd64 0 as a solution to libvtk7-java:amd64 1
    Holding Back libvtk7-java:amd64 rather than change libvtk7-jni:amd64
  Investigating (6) libvtk7-dev:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-dev:amd64 Depends on libvtk7-java:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH > (= 7.1.1+dfsg1-12+b1)
    Considering libvtk7-java:amd64 1 as a solution to libvtk7-dev:amd64 1
    Holding Back libvtk7-dev:amd64 rather than change libvtk7-java:amd64
  Investigating (6) libvtk7-qt-dev:amd64 < none -> 7.1.1+dfsg1-12+b1 @un uN Ib >
  Broken libvtk7-qt-dev:amd64 Depends on libvtk7-dev:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH > (= 7.1.1+dfsg1-12+b1)
    Considering libvtk7-dev:amd64 1 as a solution to libvtk7-qt-dev:amd64 0
    Holding Back libvtk7-qt-dev:amd64 rather than change libvtk7-dev:amd64
  Investigating (7) libpcl-dev:amd64 < none -> 1.9.1+dfsg1-3 @un puN Ib >
  Broken libpcl-dev:amd64 Depends on libvtk7-dev:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH >
    Considering libvtk7-dev:amd64 1 as a solution to libpcl-dev:amd64 9999
  Broken libpcl-dev:amd64 Depends on libvtk7-qt-dev:amd64 < none | 7.1.1+dfsg1-12+b1 @un uH >
    Considering libvtk7-qt-dev:amd64 0 as a solution to libpcl-dev:amd64 9999
  Done
  Some packages could not be installed. This may mean that you have
  requested an impossible situation or if you are using the unstable
  distribution that some required packages have not yet been created
  or been moved out of Incoming.
  The following information may help to resolve the situation:
  
  The following packages have unmet dependencies:
   libpcl-dev : Depends: libvtk7-dev but it is not going to be installed
                Depends: libvtk7-qt-dev but it is not going to be installed
  E: Unable to correct problems, you have held broken packages.


cheers,

Andreas
-------------- next part --------------
diff -Nru pcl-1.9.1+dfsg1/debian/changelog pcl-1.9.1+dfsg1/debian/changelog
--- pcl-1.9.1+dfsg1/debian/changelog	2018-12-20 22:35:03.000000000 +0100
+++ pcl-1.9.1+dfsg1/debian/changelog	2019-04-29 17:07:19.000000000 +0200
@@ -1,3 +1,11 @@
+pcl (1.9.1+dfsg1-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * libpcl-dev: Add Breaks against several vtk6 packages to force switching
+    from libvtk6-dev to libvtk7-dev.  (Closes: #xxxxxx)
+
+ -- Andreas Beckmann <anbe at debian.org>  Mon, 29 Apr 2019 17:07:19 +0200
+
 pcl (1.9.1+dfsg1-3) unstable; urgency=medium
 
   * Install cmake modules (Closes: #916913)
diff -Nru pcl-1.9.1+dfsg1/debian/control pcl-1.9.1+dfsg1/debian/control
--- pcl-1.9.1+dfsg1/debian/control	2018-12-19 11:26:22.000000000 +0100
+++ pcl-1.9.1+dfsg1/debian/control	2019-04-29 17:06:16.000000000 +0200
@@ -67,6 +67,10 @@
 	 libpcl-visualization1.9 (= ${binary:Version}),
 	 ${misc:Depends}
 Suggests: libpcl-doc
+Breaks: libvtk6-dev,
+        libvtk6-java,
+        libvtk6-jni,
+        libvtk6-qt-dev,
 Description: Point Cloud Library - development files
  The Point Cloud Library (PCL) is a standalone, large scale, open
  project for 2D/3D image and point cloud processing.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libpcl-dev_1.9.1+dfsg1-3.log.gz
Type: application/gzip
Size: 124160 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20190429/88823870/attachment-0001.gz>


More information about the debian-science-maintainers mailing list