#990168 ejabberd: legacy conffiles leftover

Package:
ejabberd
Source:
ejabberd
Description:
extensible realtime platform (XMPP server + MQTT broker + SIP service)
Submitter:
Christoph Anton Mitterer
Date:
2022-01-15 12:39:03 UTC
Severity:
normal
Tags:
#990168#5
Date:
2021-06-21 23:30:16 UTC
From:
To:
Hi.

Apparently the package used to contain the conffiles:
/etc/default/ejabberd
but no longer does so.

Please properly clean them up using dpkg-maintscript-helper(1).
(AFAIU, the version that needs to be specified for that is NOT
the version where the conffile was dropped, but rather "the
latest version of the package whose upgrade should trigger
the operation"

Quoting the manpage:
           For example, for a conffile removed in version 2.0-1 of a package,
           prior-version should be set to 2.0-1~. This will cause the conffile
           to be removed even if the user rebuilt the previous version 1.0-1
           as 1.0-1local1. Or a package switching a path from a symlink
           (shipped in version 1.0-1) to a directory (shipped in version
           2.0-1), but only performing the actual switch in the maintainer
           scripts in version 3.0-1, should set prior-version to 3.0-1~.


Cheers,
Chris.

#990168#12
Date:
2022-01-15 11:51:53 UTC
From:
To:
Hi,

what you have reported here is a leftover of #895371 which only happens
on installations << 18.04-1, which is << oldstable a.k.a. Stretch and older.

I'm reluctant to address this since it does no harm and does not affect
any fresh installation on Debian >= 10.

What I'd need to fix this is a way to unregister /etc/default/ejabberd
as a conffile but leave the file in place.

Using dpkg-maintscript-helper or deb-conffiles would remove the actual
file, which is unacceptable.
Backup+Restore of that file around either of those tools seems to me
like not worth the hassle.

You could simply remove the line from
/var/lib/dpkg/info/ejabberd.conffiles,
but I'm pretty sure I am not allowed to do that from a maintainer script.

I'm CCing Jonas, who reported #895371, for maybe he has a good idea how
to clean this up.

Regards

#990168#17
Date:
2022-01-15 12:33:57 UTC
From:
To:
Hi Phillipp (and Christoph),

Quoting Philipp Huebner (2022-01-15 12:51:53)
therefore **does** harm, just only on long-time maintained systems.

I think that a crude way to "solve" this issue might be to add a preinst
script that checked if the file was registered as a conffile and then
fail the install with an error message instructing the user to purge
their too old incompatible installation and then install again from
scratch.

Slightly less crude (but still pretty crude) might be the above + adding
a NEWS entry warning that migration from old releases is unsupported and
requires purge before fresh install.

Ideal would obviously be if there was a way to explicitly tell dpkg to
stop treating a file as a conffile.

I recommend to ask about this at debian-devel@l.d.o.


 - Jonas