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.