This talk is about the package management stack in openSUSE and
its differences to Fedora. Package management is done through a
single library, libzypp, which itself uses the libsolv library
for dependency solving. Tools like zypper, YaST, or PackageKit
use libzypp to do the work, so the user always gets consistent
results.
As weak dependencies like "Recommends" or "Enhances" are becoming
a hot topic for Fedora as well, the talk will show how they are an
essential part of package management in openSUSE. They are used for
various purposes, like automatic installation of plugins, support
for package splits, language dependent packages, and hardware
dependent packages.
Another topic of interest is libzypp's vendor/arch locking mechanism.
Its purpose is to make sure installed packages do not switch to a
different vendor or architecture during an update, thereby losing
needed functionality. Libzypp also supports a "distribution
update" mode which turns off the update restrictions and tries to
emulate a fresh installation.
The talk will conclude by having a look at some other differences
to Fedora, like the way multilib is implemented in openSUSE or
package metadata is updated via a zsync delta algorithm.