Thanks Andreas,
I've patched and pushed to salsa the -5 version of the package which
correct this bug, adding the missing breaks entry.
Regards,
Philou.
On 2020-11-09 14:49, Andreas Beckmann wrote:
Package: kconfig-frontends
Version: 4.11.0.1+dfsg-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 kconfig-frontends-nox
# (1)
apt-get install kconfig-frontends
apt-get remove kconfig-frontends
# (2)
The list of installed files at points (1) and (2) should be identical,
but the following files have disappeared:
/usr/bin/kconfig
/usr/bin/kconfig-conf
/usr/bin/kconfig-diff
/usr/bin/kconfig-gettext
/usr/bin/kconfig-mconf
/usr/bin/kconfig-merge
/usr/bin/kconfig-nconf
/usr/bin/kconfig-tweak
/usr/include/kconfig/expr.h
/usr/include/kconfig/list.h
/usr/include/kconfig/lkc.h
/usr/include/kconfig/lkc_proto.h
/usr/lib/x86_64-linux-gnu/libkconfig-parser-4.11.0.so
/usr/lib/x86_64-linux-gnu/libkconfig-parser.la
/usr/lib/x86_64-linux-gnu/libkconfig-parser.so ->
libkconfig-parser-4.11.0.so
/usr/lib/x86_64-linux-gnu/pkgconfig/kconfig-parser.pc
/usr/share/doc/kconfig-frontends/kconfig-language.txt.gz
/usr/share/doc/kconfig-frontends/kconfig.txt.gz
/usr/share/man/man1/kconfig-conf.1.gz
/usr/share/man/man1/kconfig-diff.1.gz
/usr/share/man/man1/kconfig-gettext.1.gz
/usr/share/man/man1/kconfig-mconf.1.gz
/usr/share/man/man1/kconfig-merge.1.gz
/usr/share/man/man1/kconfig-nconf.1.gz
/usr/share/man/man1/kconfig-tweak.1.gz
/usr/share/man/man1/kconfig.1.gz
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 kconfig-frontends package has the following relationships with
kconfig-frontends-nox:
Conflicts: n/a
Breaks: n/a
Replaces: kconfig-frontends-nox
Provides: kconfig-frontends-nox
From the attached log (scroll to the bottom...):
0m41.3s ERROR: FAIL: After purging files have disappeared:
/usr/bin/kconfig owned by: kconfig-frontends
/usr/bin/kconfig-conf owned by: kconfig-frontends
/usr/bin/kconfig-diff owned by: kconfig-frontends
/usr/bin/kconfig-gettext owned by: kconfig-frontends
/usr/bin/kconfig-mconf owned by: kconfig-frontends
/usr/bin/kconfig-merge owned by: kconfig-frontends
/usr/bin/kconfig-nconf owned by: kconfig-frontends
/usr/bin/kconfig-tweak owned by: kconfig-frontends
/usr/include/kconfig/expr.h owned by: kconfig-frontends
/usr/include/kconfig/list.h owned by: kconfig-frontends
/usr/include/kconfig/lkc.h owned by: kconfig-frontends
/usr/include/kconfig/lkc_proto.h owned by: kconfig-frontends
/usr/lib/x86_64-linux-gnu/libkconfig-parser-4.11.0.so owned by:
kconfig-frontends
/usr/lib/x86_64-linux-gnu/libkconfig-parser.la owned by:
kconfig-frontends
/usr/lib/x86_64-linux-gnu/libkconfig-parser.so ->
libkconfig-parser-4.11.0.so owned by: kconfig-frontends
/usr/lib/x86_64-linux-gnu/pkgconfig/kconfig-parser.pc owned by:
kconfig-frontends
/usr/share/doc/kconfig-frontends/kconfig-language.txt.gz owned
by: kconfig-frontends
/usr/share/doc/kconfig-frontends/kconfig.txt.gz owned by:
kconfig-frontends
/usr/share/man/man1/kconfig-conf.1.gz owned by: kconfig-frontends
/usr/share/man/man1/kconfig-diff.1.gz owned by: kconfig-frontends
/usr/share/man/man1/kconfig-gettext.1.gz owned by:
kconfig-frontends
/usr/share/man/man1/kconfig-mconf.1.gz owned by:
kconfig-frontends
/usr/share/man/man1/kconfig-merge.1.gz owned by:
kconfig-frontends
/usr/share/man/man1/kconfig-nconf.1.gz owned by:
kconfig-frontends
/usr/share/man/man1/kconfig-tweak.1.gz owned by:
kconfig-frontends
/usr/share/man/man1/kconfig.1.gz owned by: kconfig-frontends
0m41.3s ERROR: FAIL: After purging files have been modified:
/var/lib/dpkg/info/kconfig-frontends-nox.list not owned
cheers,
Andreas