Source: opencascade Version: 7.5.0+dfsg1-1 Severity: serious User: debian...@lists.debian.org Usertags: piuparts
Hi, during a test with piuparts I noticed your package fails to upgrade from 'stable'. It installed fine in 'stable', then the upgrade to 'sid' fails because it tries to overwrite other packages files without declaring a Breaks+Replaces relation. See policy 7.6 at https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-files-and-replacing-packages-replaces This test intentionally skipped 'testing' to find file overwrite problems before packages migrate from 'unstable' to 'testing'. >From the attached log (scroll to the bottom...): Preparing to unpack .../0-libocct-foundation-7.5_7.5.0+dfsg1-1_amd64.deb ... Unpacking libocct-foundation-7.5:amd64 (7.5.0+dfsg1-1) ... dpkg: error processing archive /tmp/apt-dpkg-install-ytPrh7/0-libocct-foundation-7.5_7.5.0+dfsg1-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libTKMath.so.7', which is also in package libocct-foundation-7.3:amd64 7.3.0+dfsg1-5 Preparing to unpack .../1-libocct-modeling-data-7.5_7.5.0+dfsg1-1_amd64.deb ... Unpacking libocct-modeling-data-7.5:amd64 (7.5.0+dfsg1-1) ... dpkg: error processing archive /tmp/apt-dpkg-install-ytPrh7/1-libocct-modeling-data-7.5_7.5.0+dfsg1-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libTKBRep.so.7', which is also in package libocct-modeling-data-7.3:amd64 7.3.0+dfsg1-5 Preparing to unpack .../2-libocct-modeling-algorithms-7.5_7.5.0+dfsg1-1_amd64.deb ... Unpacking libocct-modeling-algorithms-7.5:amd64 (7.5.0+dfsg1-1) ... dpkg: error processing archive /tmp/apt-dpkg-install-ytPrh7/2-libocct-modeling-algorithms-7.5_7.5.0+dfsg1-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libTKBO.so.7', which is also in package libocct-modeling-algorithms-7.3:amd64 7.3.0+dfsg1-5 Preparing to unpack .../3-libocct-visualization-7.5_7.5.0+dfsg1-1_amd64.deb ... Unpacking libocct-visualization-7.5:amd64 (7.5.0+dfsg1-1) ... dpkg: error processing archive /tmp/apt-dpkg-install-ytPrh7/3-libocct-visualization-7.5_7.5.0+dfsg1-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libTKMeshVS.so.7', which is also in package libocct-visualization-7.3:amd64 7.3.0+dfsg1-5 Preparing to unpack .../4-libocct-ocaf-7.5_7.5.0+dfsg1-1_amd64.deb ... Unpacking libocct-ocaf-7.5:amd64 (7.5.0+dfsg1-1) ... dpkg: error processing archive /tmp/apt-dpkg-install-ytPrh7/4-libocct-ocaf-7.5_7.5.0+dfsg1-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libTKBin.so.7', which is also in package libocct-ocaf-7.3:amd64 7.3.0+dfsg1-5 Preparing to unpack .../5-libocct-data-exchange-7.5_7.5.0+dfsg1-1_amd64.deb ... Unpacking libocct-data-exchange-7.5:amd64 (7.5.0+dfsg1-1) ... dpkg: error processing archive /tmp/apt-dpkg-install-ytPrh7/5-libocct-data-exchange-7.5_7.5.0+dfsg1-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libTKBinXCAF.so.7', which is also in package libocct-data-exchange-7.3:amd64 7.3.0+dfsg1-5 Errors were encountered while processing: /tmp/apt-dpkg-install-ytPrh7/0-libocct-foundation-7.5_7.5.0+dfsg1-1_amd64.deb /tmp/apt-dpkg-install-ytPrh7/1-libocct-modeling-data-7.5_7.5.0+dfsg1-1_amd64.deb /tmp/apt-dpkg-install-ytPrh7/2-libocct-modeling-algorithms-7.5_7.5.0+dfsg1-1_amd64.deb /tmp/apt-dpkg-install-ytPrh7/3-libocct-visualization-7.5_7.5.0+dfsg1-1_amd64.deb /tmp/apt-dpkg-install-ytPrh7/4-libocct-ocaf-7.5_7.5.0+dfsg1-1_amd64.deb /tmp/apt-dpkg-install-ytPrh7/5-libocct-data-exchange-7.5_7.5.0+dfsg1-1_amd64.deb >From looking the the file list of libocct-data-exchange-7.5 I observed that there are multiple shared libraries (and nothing else), but all have the same SOVERSION (7). So why is the package naming following MAJOR.MINOR instead of SOVERSION? The latter would ease maintenance by avoiding lots of Breaks+Replaces in the future. This is probably the same for all the packages shipping opencascade shared libraries. cheers, Andreas PS: If the libraries from 7.3 and 7.5 are not exchangeable (i.e. not API and ABI compatible), they should not have the same SOVERSION.
libocct-data-exchange-7.3=7.3.0+dfsg1-5_libocct-data-exchange-7.5=7.5.0+dfsg1-1.log.gz
Description: application/gzip