I'm maintaining a Debian package for which we don't currently support upgrades. This means that upgrading this package will result in a broken installation due to configuration files not being properly tagged.
How can I prevent users from upgrading my package once it is hosted in a debian repo?
I tried with the following solutions:
1. preinst script check
I checked for currently installed versions of the project in the preinst script and exited with an error if found one. This breaks the installation though, since preinst script runs after the uninstallation of the previous version of the package.
2. Conflicts directive in the control file
I added the entry:
Conflicts: project (<< [version]), project (>> [version])
In the debian control file of the project but this doesn't seem to prevent upgrades given that dpkg removes the previous version of the package therefore satisfiying the Conflicts.
3. Package name containing the version
I know this would work for sure but we'd like to avoid this kind of solution.
Please note: we want to solve this from the distribution side, not client-side (i.e. package pinning etc.)

prermof the old package fail; that might stop the upgrade, perhaps you need to combine it with aConflicts-line incontrol.prermof the old package, given that it’s already installed?prermthat fails if its first argument isupgrade, and that would prevent future upgrades.