Skip to content

src/lib/lua/planner: reinstall package if more than version not match

Karel Koci requested to merge package-signature into master

This extends list of fields checked for reinstall to not only Version but also to Architecture, LinkSignature, Depends, Conflicts, Provides.

There are two reasons why we want to have these:

First reason applies on Architecture, Depends, Conflicts and Provides. Those trigger update to get package information in sync with repository. Updater runs planning against repository so this has no effect but in the end if someone forgets to bump package but modifies dependencies for example then we reinstall package anyway.

Second reason to reinstall package applies on LinkSignature and that is field inserted with hash generated from dynamic linker information collected for package. When this hash changes then link dependencies changed and even if version is same we have to reinstall such package as it most probably won't work with updated dependencies.

As a tinny bonus logs now contain info about version or any other field if the differ and that way info about the reason to reinstall given package.

This is tied to https://gitlab.labs.nic.cz/turris/turris-build/-/merge_requests/189

Fixes https://gitlab.labs.nic.cz/turris/turris-build/issues/146

Indirectly potentially fixes https://gitlab.labs.nic.cz/turris/turris-build/issues/154 and https://gitlab.labs.nic.cz/turris/turris-os-packages/issues/417.

Merge request reports