Product Management/Code11/package

From openSUSE


RPM based products

On code11, products are represented as packages. However, libzypp consumers still requires a dedicated 'product' object.

As a result, the product has two representations

  1. On the media/repository: the 'content' file (resp. product.xml file)
  2. On the system: A specific package

Both need to reference each other

  • The content file does it through
    • a 'REFERENCES' tag specifying the name and version of the package
  • The package through
    • Provides: 'product()'
    • Provides: 'product(<product-name>) = <product-version>-<product-release>'
    • /etc/products.d/<product-name>.prod
      • (The name of the .prod file does not matter but must be unambiguous)

It was agreed upon that the *-release package represents the product. For practical purposes, the -release file and the product share the same version and release.

The following image illustrates the relations between product definition, the content file and the *-release package.

Image:content-product-release.png