Software Management/Dependencies/Language/Internals

From openSUSE

Internals of language dependant packages

Languages are internally represented as locale resolvables which name a specific locale.

Every requested locale is kept as an installed locale resolvable.
Every available locale is kept as an uninstalled locale resolvable.

The parent dependency is stored as a supplements dependency.
The locale dependency is stored as a freshens dependency.

(See here for an explanation of dependencies.)

Supplements and freshens dependencies are part of an internal trigger list. Any state changes (from installed to uninstalled of vice versa) of resolvables in the trigger list start a re-evaluation of the dependencies.