[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFH: Breaks (<< $version) for moving conffiles vs. dpkg updating package version too early?



Hi,

I've re-built a version of libirt, which has:

> Package: libvirt-daemon-system
> Replaces: libvirt-bin (<< 1.2.7-4~)
> Conflicts: libvirt-bin (<< 1.2.6-1~)
...
> Package: libvirt-bin
> Depends: libvirt-daemon-system (>= ${binary:Version}),

The old "libvirt-bin" package (0.9.12-5) contained
"/etc/default/libvirt-guests", which got moved to
"libvirt-daemon-system" for 1.2.7, thus the "Replaces".

During the package upgrade "dpkg" complains about the file still being
owned by "libvirt-bin" and prevents "libvirt-daemon-system" from taking
over the file

> Entpacken von libvirt-daemon-system (aus .../libvirt-daemon-system_1.2.7-11_amd64.deb) ...
> dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/libvirt-daemon-system_1.2.7-11_amd64.deb (--unpack):
>  Versuch, »/etc/default/libvirt-guests« zu überschreiben, welches auch in Paket libvirt-bin 1.2.7-11 ist

Reading /var/log/dpkg.log I see:
> 2016-03-07 15:39:04 upgrade libvirt-bin:amd64 0.9.12-5 1.2.7-11
> 2016-03-07 15:39:04 status half-configured libvirt-bin:amd64 0.9.12-5
> 2016-03-07 15:39:04 status unpacked libvirt-bin:amd64 0.9.12-5
> 2016-03-07 15:39:04 status half-installed libvirt-bin:amd64 0.9.12-5
> 2016-03-07 15:39:04 status half-installed libvirt-bin:amd64 0.9.12-5
> 2016-03-07 15:39:04 status half-installed libvirt-bin:amd64 0.9.12-5
> 2016-03-07 15:39:04 status unpacked libvirt-bin:amd64 1.2.7-11
> 2016-03-07 15:39:04 status unpacked libvirt-bin:amd64 1.2.7-11
> 2016-03-07 15:39:04 install libvirt-clients:amd64 <keine> 1.2.7-11
> 2016-03-07 15:39:04 status half-installed libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:04 status half-installed libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:04 status unpacked libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:04 status unpacked libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:10 install libvirt-daemon:amd64 <keine> 1.2.7-11
> 2016-03-07 15:39:10 status half-installed libvirt-daemon:amd64 1.2.7-11
> 2016-03-07 15:39:10 status half-installed libvirt-daemon:amd64 1.2.7-11
> 2016-03-07 15:39:10 status unpacked libvirt-daemon:amd64 1.2.7-11
> 2016-03-07 15:39:10 status unpacked libvirt-daemon:amd64 1.2.7-11
> 2016-03-07 15:39:10 install libvirt-daemon-system:amd64 <keine> 1.2.7-11
> 2016-03-07 15:39:10 status half-installed libvirt-daemon-system:amd64 1.2.7-11
> 2016-03-07 15:39:10 status not-installed libvirt-daemon-system:amd64 <keine>
> 2016-03-07 15:39:10 upgrade libvirt0:amd64 0.9.12-5 1.2.7-11
> 2016-03-07 15:39:10 status half-configured libvirt0:amd64 0.9.12-5
> 2016-03-07 15:39:10 status unpacked libvirt0:amd64 0.9.12-5
> 2016-03-07 15:39:10 status half-installed libvirt0:amd64 0.9.12-5
> 2016-03-07 15:39:10 status half-installed libvirt0:amd64 0.9.12-5
> 2016-03-07 15:39:10 status unpacked libvirt0:amd64 1.2.7-11
> 2016-03-07 15:39:10 status unpacked libvirt0:amd64 1.2.7-11
> 2016-03-07 15:39:11 configure libvirt0:amd64 1.2.7-11 <keine>
> 2016-03-07 15:39:11 status unpacked libvirt0:amd64 1.2.7-11
> 2016-03-07 15:39:11 status half-configured libvirt0:amd64 1.2.7-11
> 2016-03-07 15:39:11 status installed libvirt0:amd64 1.2.7-11
> 2016-03-07 15:39:13 configure libvirt-clients:amd64 1.2.7-11 <keine>
> 2016-03-07 15:39:13 status unpacked libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:13 status unpacked libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:13 status unpacked libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:13 status half-configured libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:13 status installed libvirt-clients:amd64 1.2.7-11
> 2016-03-07 15:39:13 configure libvirt-daemon:amd64 1.2.7-11 <keine>
> 2016-03-07 15:39:13 status unpacked libvirt-daemon:amd64 1.2.7-11
> 2016-03-07 15:39:13 status half-configured libvirt-daemon:amd64 1.2.7-11
> 2016-03-07 15:39:13 status installed libvirt-daemon:amd64 1.2.7-11
> 2016-03-07 15:40:12 install libvirt-daemon-system:amd64 <keine> 1.2.7-11
> 2016-03-07 15:40:12 status half-installed libvirt-daemon-system:amd64 1.2.7-11
> 2016-03-07 15:40:12 status not-installed libvirt-daemon-system:amd64 <keine>

Looking into "/var/lib/dpkg/status" I see:
> Package: libvirt-bin
> Status: install ok unpacked
> Version: 1.2.7-11
> Config-Version: 0.9.12-5


To me it looks like dpkg already uses the *new* version "1.2.7-11" of
"libvirt-bin" after unpacking, which prevent the "Replaces << 1.2.7-4"
of "libvirt-daemon-system" from being allowed.

Is this a know bug (of dpkg) or did I misunderstand anything?

dpkg    1.16.16

Thanks in advance.
Philipp

PS: To my understanding the "Conflicts" should be changed to "Breaks",
but that's another issue.


Reply to: