Hi, On 05.05.23 18:36, Timo Röhling wrote:
- it is not an error to register a diversion for an alias of an existing diversion, provided the package and target matches, this is a no-op - it is not an error to unregister a diversion for an alias of a path that has been unregistered previously, that is a no-op as well
How do you distinguish between aliased diversions and "real" ones? Because if you allow the registration of duplicate diversions, the following can happen:
- Package A is installed, preinst creates a diversion - Package B is installed, preinst creates the same diversion - Package A is uninstalled, postrm removes the diversion
That's why the package and target need to match -- so by extension package B may not divert a path that package A already diverts.
With dpkg-divert as it is, this works because no aliasing support exists. A diverted dpkg-divert that generates additional diversions would need to catch this case, reject it and restore the previous state, same as an aliasing aware dpkg-divert.
Simon
OpenPGP_signature
Description: OpenPGP digital signature