Let me elaborate the timeline.
* Originally fwupdate contained /usr/bin/fwupdate.
* It was merged into fwupd and fwupdate went into maintenance only mode.
* In Debian we made fwupdate a transition package with nothing in it.
This is when the Replaces got put into place.
* Because it was a transition package, there is a chance that a user already
removed /var/lib/fwupdate and so a request was put in for fwupd to clean that
up.
* Later, a compatibility binary /usr/bin/fwupdate was added into fwupd.
This performs similar actions as the old fwupdate provided /usr/bin/fwupdate.
Hopefully that illustrates the timeline. As fwupdate is a transition package
now,
I don't know that it makes sense to add the Breaks now, please advise.
> -Original Message-
> From: Andreas Beckmann
> Sent: Friday, May 15, 2020 7:28 AM
> To: Debian Bug Tracking System
> Subject: Bug#960688: fwupd: missing Breaks: fwupdate (<< 12-7)
>
>
> [EXTERNAL EMAIL]
>
> Package: fwupd
> Version: 1.3.9-4
> Severity: serious
> User: debian...@lists.debian.org
> Usertags: piuparts replaces-without-breaks
>
> Hi,
>
> during a test with piuparts and DOSE tools I noticed your package causes
> removal of files that also belong to another package.
> This is caused by using Replaces without corresponding Breaks.
>
> The installation sequence to reproduce this problem is
>
> apt-get install fwupdate/stable
> # (1)
> apt-get install fwupd
> apt-get remove fwupd
> # (2)
>
> The list of installed files at points (1) and (2) should be identical,
> but the following files have disappeared:
>
> /usr/bin/fwupdate
> /usr/share/man/man1/fwupdate.1.gz
> /var/lib/fwupdate/
>
> This is a serious bug violating policy 7.6, see
> https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-
> files-and-replacing-packages-replaces
> and also see the footnote that describes this incorrect behavior:
> https://www.debian.org/doc/debian-policy/ch-relationships.html#id13
>
> The fwupd package has the following relationships with fwupdate:
>
> Conflicts: n/a
> Breaks:n/a
> Replaces: fwupdate (<< 12-7)
> Provides: fwupdate
>
> >From the attached log (scroll to the bottom...):
>
> 0m32.0s ERROR: FAIL: After purging files have disappeared:
> /usr/bin/fwupdate owned by: fwupd
> /usr/share/man/man1/fwupdate.1.gz owned by: fwupd
> /var/lib/fwupdate/ owned by: fwupdate
>
> 0m32.0s ERROR: FAIL: After purging files have been modified:
> /var/lib/dpkg/info/fwupdate.list not owned
>
>
> cheers,
>
> Andreas