While users of Debian Linux have long enjoyed the simple life of hassle-free upgrading, users of RPM-based distributions have had to deal with dependency nightmares, thanks to the RPM program's inability to recommend packages to resolve dependency issues.
A dependency issue occurs when one program relies on another program or library to operate properly. For instance, installing Postfix may require cyrus-sasl to provide the SASL libraries that Postfix requires for SMTP AUTH. Debian users would simply use the following to resolve the problem:
apt-get install cyrus-sasl
But an RPM user would be stuck trying to figure out what package provided the cyrus-sasl libraries.
For Linux Mandrake users, however, the days of hunting dependencies are long over, thanks to MandrakeSoft's urpmi tool. This tool is the RPM equivalent of apt-get and allows for simple installation and matching of dependencies. Mandrake users in the same situation would simply use the following:
$ urpmi cyrus-sasl
If it pulls in other packages due to dependencies, urpmi will sort them out, find them, and install them in order.
Upgrading from one version of Mandrake to another is just as simple. Configure urpmi to use a new RPM repository with the new packages and execute the following:
$ urpmi --auto-select
The tool will hunt down everything required, sort out the dependencies for you, and upgrade your distribution.