[Python-modules-team] Bug#962971: python3-ruamel.yaml.clib: overwrites files from python3-ruamel.yaml without Replaces

Simon McVittie smcv at debian.org
Tue Jun 16 17:50:46 BST 2020


Package: python3-ruamel.yaml.clib
Version: 0.2.0-1
Severity: serious
Justification: Policy 7.6.1

Steps to reproduce:
* Have python3-ruamel.yaml from testing
* Upgrade

Expected result: successful upgrade

Actual result:

> Preparing to unpack .../25-python3-ruamel.yaml.clib_0.2.0-1_amd64.deb ...
> Unpacking python3-ruamel.yaml.clib (0.2.0-1) ...
> dpkg: error processing archive /tmp/apt-dpkg-install-w9QDSF/25-python3-ruamel.yaml.clib_0.2.0-1_amd64.deb (--unpack):
>  trying to overwrite '/usr/lib/python3/dist-packages/_ruamel_yaml.cpython-38-x86_64-linux-gnu.so', which is also in package python3-ruamel.yaml 0.15.89-3+b2
> dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
> Preparing to unpack .../26-python3-ruamel.yaml_0.16.10-2_all.deb ...
> Unpacking python3-ruamel.yaml (0.16.10-2) over (0.15.89-3+b2) ...
> Errors were encountered while processing:
>  /tmp/apt-dpkg-install-w9QDSF/25-python3-ruamel.yaml.clib_0.2.0-1_amd64.deb

Workaround: retry the upgrade until apt decides to upgrade
python3-ruamel.yaml before installing python3-ruamel.yaml.clib.

This looks like the "Split, new A always requires new B" case from
<https://wiki.debian.org/PackageTransition>. The solution is usually
to have:

    Package: python3-ruamel.yaml
    Depends: python3-ruamel.yaml.clib (>= some version)

    Package: python3-ruamel.yaml.clib
    Breaks: python3-ruamel.yaml (<< 0.16.10)
    Replaces: python3-ruamel.yaml (<< 0.16.10)

so that they have to be upgraded together, with python3-ruamel.yaml
temporarily broken during the upgrade transaction.

Thanks,
    smcv



More information about the Python-modules-team mailing list