Most Linux components depend upon the prior installation of existing libraries or other packages to operate in known system configurations. These other components are dependent components. For example, kdesdk*.rpm needs gcc-c++ to be installed.
When components need incompatible versions of dependent components, a dependency conflict arises (packages or files that should not exist on the same system as the base component, such as an earlier version). For example, if mysql-devel is installed, MySQL-devel does not work.
Descriptions of dependencies and dependency conflicts are called rules.
To install a component manually, without using Sun Update Connection – Enterprise, you must discover and install the complete dependent component list before you can install or run the original component. When you install a component with Sun Update Connection – Enterprise, dependency issues are taken care of automatically. In addition, the rules of the knowledge base are exact and accurate, while the rules included in an Open Source package may not be.
Open Source packaging rules are based on loose standards.
Package developers might write very specific dependency rules, but the rules might be more restrictive than necessary. For example, a specific set of rules might say that you need at least version 1.5 of a software package. You have version 1.3 of the software and upgrade to a version that meets the dependency rules. However,v it could be that earlier versions are not in the rules because the developer did not test those versions.
Other developers might be to general when writing the dependency rules, and you might encounter conflicts even if you follow the rules.For example, a general set of rules may say that you need version 1 to 3 of a software package. Another developer creates v2.9, which causes a conflict with your other installed components
The dependency rules in the knowledge base are exact, neither too specific nor too general.
For example, the standard rules for SuSE’s dia-0.85-34 package (an application for creating diagrams and flowcharts) say that this package needs libxml of any version. Among the certification tests, the dia package was installed on a system with libxml-1.7.3-3. An installation error resulted. Running more tests, the exact Sun Update Connection – Enterprise rule was created: dia-0.85-34 needs libxml from version 1.8.6-18.
The Certification Lab tests every component and finds its exact installation rules, listing, including the following:
All dependent components
All component conflicts
In addition, if a dependent component has its own dependencies, this is also known. There is no limit to the number of levels that Sun Update Connection – Enterprise takes into account.
The knowledge base contains the dependency rules, and Sun Update Connection – Enterprise uses it to automate functional installations. Sun Update Connection – Enterprise also finds potential conflicts, warns you of them, and suggests alternatives before you install a component.