Marc Haber wrote... > My idea would be to have two distinct systemd units, ser2net and > ser2net-oldconfig, with appropriate ConditionPathExists directives.
From my experience, that is a bad idea. While being easier right now, this results in having to maintain two flavours for ... possibly forever. In my opinion it is better to do a huge but one-time effort than having to deal with repeated little work for a long time. Also, I found the latter in similar situations fairly annoying every time I had to think about it, but perhaps that's just me. So I advise to provide an upgrade path for all users even if this means work for you as the package maintainer. Still in my experience it's better if the maintainer spends time on a sound automated solution than leaving figuring out the gory details to the users. For me, this is also an implication of the Social Contract ("guided by the needs of our users"). To ease the job: Upstream should implement a function every decent daemon ought to have: Dump the configuration as it was parsed, then exit. This is very helpful when debugging some weird configuration issues, escpecially typos in file names. Also, unless there's already some "dry-run" option, this allows using validate: in an Ansible playbook so configuration errors can be detected *before* a daemon is restarted. And in that particular case of configuration file format change, it allows users to verify they've upgraded their configuration to the new format sucessfully. As a bonus, that dump could be a valid configuration file. Aaaand ... there is the converter tool that should exist anyway. As a last resort: The old format is extremely simple, the new one is not that complicated. It seems feasible to do the conversion with a few lines of awk, so it could be done in preinst. Also, that method could even preserve any comments. All this is more work than some alert boxes or a paragraph in README.Debian. But I think it's worth it. Christoph, ser2net user since 2004
signature.asc
Description: PGP signature