On Thu, 8 Jan 2026 13:56:44 +0100 Vincent Lefevre <[email protected]> wrote:
Package: init-system-helpers Version: 1.69 Severity: grave Justification: causes non-serious data lossPackage tracker-extract has been renamed to localsearch. So when upgrading, localsearch is installed and tracker-extract removed. But when I do "dpkg --purge tracker-extract" to completely get rid of tracker-extract, this removes the /etc/systemd/user/gnome-session.target.wants/localsearch-3.service
From what I understand, the problem is this: The tracker-extract package originally shipped a file /usr/lib/systemd/user/tracker-extract-3.service which was then renamed to/usr/lib/systemd/user/localsearch.service when upstream renamed the project.
Later, the tracker-extract binary package was renamed to localsearch and during the upgrade the tracker-extract package was removed (but not purged), i.e. the maintainer scripts of tracker-extract remained installed and they contained code to remove
/etc/systemd/user/gnome-session.target.wants/localsearch-3.service More specifically tracker-extract.postrm contains deb-systemd-helper --user purge 'localsearch-3.service' which is triggered on "purge"The problem is, that both the tracker-extract and localsearch package reference the same service file.
To avoid that situation, the tracker-extract package should have been renamed at the same time the service file was renamed. So I'd argue this is a bug in the tracker-extract/localsearch package in how they handled the transition.
But I guess it's too late for that now. I see two possible solutions:a/ we introduce some kind of refcounting/package ownership in dh_installsystemduser/init-system-helpers for packages which install the same service file. And only if the refcount drops to zero the symlink is removed (only a rough idea, would need some further thought)
Sounds non-trivial to me and more importantly, we can't retroactively fix tracker-search/localsearch
b/ the localsearch package neuters the tracker-extract postrm maintainer scripts
A small variation of b/: The localsearch package explicitly purges the tracker-search state before installing its own symlinks.
OpenPGP_signature.asc
Description: OpenPGP digital signature

