On Nov 23 09:23 Dominique Leuenberger / DimStar wrote (excerpt):
On Wed, 2017-11-22 at 16:52 -0600, Jimmy Berry wrote:
For example, one is running snapshot 17 and the next day snapshot 18 contains a QT update that rebuilt a large number of packages. When attempting to install an application that depends on QT one is greeted with an ugly unresolveable error. It is then necessary to run a full update, likely very large with many unrelated changes, in order to simply install an application as would have been possible yesterday.
... a new library is perfecly allowed to add functions without changing the so-version. A binary built against the newer lib might make use of this new functions. The dependency will, nevertheless, be on libFOO<NUM>, with <NUM> not having changed, yet your application not starting in the end.
I don't see a real problem here.
Assume a user is running snapshot 17 and the next day snapshot 18 contains a QT update and that new application gets re-built with a new function in libFOO<NUM>.
Then installing that new application (and only it) into the outdated snapshot 17 will result that this new application (and only it) fails to start.
No worries because it is obvious for the user that "something is wrong" with his new application (and only it).
I think the crucial point is the "only it".
As far as I understand it the basic idea behind is that changes and resulting issues are kept as local as possible.
When that new application does not work within the outdated snapshot 17 nothing else became wrong. All what had worked in the outdated snapshot 17 still works.
Now the user can decide if and when he will do a full system upgrade to a current snapshot 18 (or 19 or whatever later) to get that new application running.
Regarding invalid bug reports because a user had installed whatever "new application" into his outdated system:
We have to deal with such invalid bug reports since ever because some users did and do install whatever "latest greatest from wherever" into their systems.
Kind Regards Johannes Meixner