Bug#990168: ejabberd: legacy conffiles leftover

2022-01-15 Thread Jonas Smedegaard
Hi Phillipp (and Christoph),

Quoting Philipp Huebner (2022-01-15 12:51:53)
> 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.

I disagree: I think this still violates Debian Policy ยง 10.7.3 and 
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

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

signature.asc
Description: signature


Bug#990168: ejabberd: legacy conffiles leftover

2022-01-15 Thread Philipp Huebner
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
-- 
 .''`.   Philipp Huebner 
: :'  :  pgp fp: 6719 25C5 B8CD E74A 5225  3DF9 E5CA 8C49 25E4 205F
`. `'`
  `-


OpenPGP_signature
Description: OpenPGP digital signature


Bug#990168: ejabberd: legacy conffiles leftover

2021-06-21 Thread Christoph Anton Mitterer
Package: ejabberd
Version: 21.01-2
Severity: normal


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.