Setup Package Names and Versions

One of the main differences between setup packages and normal packages is that setup packages actually have two sets of names and versions. The first name/version uniquely identifies the package. The second name/version is used to match the package with a setup dependency. This allows multiple different setup packages to fulfill the same setup dependency. A real world example of this is for a site such as a university to designate a specific configuration for its systems. This configuration could be implemented by a set of setup packages that would replace the set that came with the software.