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

Reply via email to