Bug#910480: ghc: missing Breaks+Replaces+Provides for newly bundled libraries

Andreas Beckmann anbe at debian.org
Sun Oct 7 01:43:47 BST 2018


Package: ghc
Version: 8.4.3+dfsg1-2
Severity: serious
User: debian-qa at lists.debian.org
Usertags: piuparts
Control: block 910008 with -1
Control: block 910202 with -1

Hi,

during a test with piuparts I noticed your package failed to install
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

See the blocked bugs for the full logs, here are only excerpts:

---
  Preparing to unpack .../libghc-mtl-dev_2.2.2-2_amd64.deb ...
  Unpacking libghc-mtl-dev (2.2.2-2) over (2.2.2-1) ...
  Preparing to unpack .../gcc_4%3a8.2.0-1_amd64.deb ...
  Unpacking gcc (4:8.2.0-1) over (4:8.1.0-1) ...
  Preparing to unpack .../cpp_4%3a8.2.0-1_amd64.deb ...
  Unpacking cpp (4:8.2.0-1) over (4:8.1.0-1) ...
  Preparing to unpack .../ghc_8.4.3+dfsg1-2_amd64.deb ...
  Unpacking ghc (8.4.3+dfsg1-2) over (8.2.2-4) ...
  dpkg: error processing archive /var/cache/apt/archives/ghc_8.4.3+dfsg1-2_amd64.deb (--unpack):
   trying to overwrite '/var/lib/ghc/package.conf.d/mtl-2.2.2.conf', which is also in package libghc-mtl-dev 2.2.2-2
  update-alternatives: using /usr/bin/runghc to provide /usr/bin/runhaskell (runhaskell) in auto mode
  update-alternatives: using /usr/bin/ghc to provide /usr/bin/haskell-compiler (haskell-compiler) in auto mode
  There are problems in package mtl-2.2.2:
    dependency "base-4.11.1.0" doesn't exist
    dependency "transformers-0.5.5.0" doesn't exist
  
  The following packages are broken, either because they have a problem
  listed above, or because they depend on a broken package.
  mtl-2.2.2
  Preparing to unpack .../libgnutls30_3.5.19-1+b1_amd64.deb ...
  Unpacking libgnutls30:amd64 (3.5.19-1+b1) over (3.5.19-1) ...
  Errors were encountered while processing:
   /var/cache/apt/archives/ghc_8.4.3+dfsg1-2_amd64.deb
---
  Selecting previously unselected package libghc-parsec3-dev.
  (Reading database ... 
(Reading database ... 10244 files and directories currently installed.)
  Preparing to unpack .../libghc-parsec3-dev_3.1.13.0-3_amd64.deb ...
  Unpacking libghc-parsec3-dev (3.1.13.0-3) ...
  dpkg: error processing archive /var/cache/apt/archives/libghc-parsec3-dev_3.1.13.0-3_amd64.deb (--unpack):
   trying to overwrite '/var/lib/ghc/package.conf.d/parsec-3.1.13.0.conf', which is also in package ghc 8.4.3+dfsg1-2
  Errors were encountered while processing:
   /var/cache/apt/archives/libghc-parsec3-dev_3.1.13.0-3_amd64.deb
---


I think these bugs actually belong to ghc which started bundling more
libraries with the recent upload to unstable. 


I would suggest to add the following:

Breaks:
 libghc-mtl-dev (<< 2.2.2+),
 libghc-parsec3-dev (<< 3.1.13.0+),
Replaces:
 libghc-mtl-dev (<< 2.2.2+),
 libghc-parsec3-dev (<< 3.1.13.0+),
Provides:
 libghc-mtl-dev,
 libghc-parsec3-dev,

There may be more packages affected, but testing them is probably
blocked by libghc-mtl-dev

I used "${current_upstream_version}+" as version bound, since e.g.
"1.2.3+" sorts before new upstream versions like
  1.2.3+dfsg, 1.2.3.1
in addition to
  1.2.4, 1.5.3


cheers,

Andreas



More information about the Pkg-haskell-maintainers mailing list