Product Management
From openSUSE
Products
A product represents the highest element in the software management hierarchy.
Its main purpose is to define the update repository in order to get the right patches. It is also used during distribution upgrade, if special actions must be taken which are not expressible by rpm packages.
Product dependencies
Ideally, its dependencies clearly define the requirements an installed system must fulfill for this product to be considered installed.
The dependencies should - by looking at installed software elements - answer the question Does this system have the product installed ?
This is not an easy question to answer -- and the reason why openSUSE-10.1 (and the enterprise products) failed to specify proper dependencies. As an example, openSUSE-10.1 had the following product dependency
REQUIRES openSUSE-release = 10.1
So as soon as the package openSUSE-release is installed in version 10.1 the system has openSUSE-10.1 installed.
OpenSUSE-10.2 does somewhat better and has
REQUIRES openSUSE-release = 10.2 pattern:basesystem
but still fails to require a specific version of the basesystem pattern.
Base and add-on products
There are two kinds of products, base and add-on. They only differ in their requirements and features.
A base product should provide the operating system packages, namely kernel, glibc, etc., without requiring any other products.
An add-on product requires a base product and does not provide the operating system packages.
There are no other differences between both types of products.

