  Modern software systems, like GNU/Linux distributions or Eclipse-based
development environment, are often deployed by selecting components out of
large component repositories. Maintaining such software systems by performing
component upgrades is a complex task, and the users need to have an expressive
preferences language at their disposal to specify the kind of upgrades they are
interested in. Recent research has shown that it is possible to develop solvers
that handle preferences expressed as a combination of a few basic criteria used
in the MISC competition, ranging from the number of new components to the
freshness of the final configuration. In this work we introduce a set of new
criteria that allow the users to specify their preferences for solutions with
components aligned to the same upstream sources, provide an efficient encoding
and report on the experimental results that prove that optimising these
alignment criteria is a tractable problem in practice.
