openSUSE:Standards Rpm Metadata products

Jump to: navigation, search


Repomd Product Format

The product format is similar to the usual packages format (as used in primary.xml) except

  • the enclosing XML is <product> instead of <package>
  • certain package specific data like e.g. dependencies are not needed for products, therefore has additional tags tuning

the installation and registration proces.

<?xml version="1.0" encoding="UTF-8"?>
<products>
  <product>
    <name>SUSE_SLES</name>
    <version ver="11.1" rel="1.152" epoch="0" />
    <arch>i586</arch>
    <vendor>SUSE LINUX Products GmbH, Nuernberg, Germany</vendor>
    <summary>SUSE Linux Enterprise Server 11 SP1</summary>
    <description>SUSE Linux Enterprise offers a comprehensive
        suite of products built on a single code base.
        The platform addresses business needs from
        the smallest thin-client devices to the world’s
        most powerful high-performance computing
        and mainframe servers. SUSE Linux Enterprise
        offers common management tools and technology
        certifications across the platform, and
        each product is enterprise-class.</description>
  </product>
</products>

The name, version, release of a product in this file must match the provides in RPM package containing the product file.

In this example the "Provides" must look like this:

 Provides: product(SUSE_SLES) = 11.1-1.152

The architecture of the package should be "i586" like specified in XML snipped above.

Suggested extensions to add tags by now present in susetags content file only

Warning: The following extensions are proposals and are not implemented

Those are data the YAST product/add-on installation workflow would need to install some product shipped in a repomd format repository. Currently only the susetags content file defines those data.

<?xml version="1.0" encoding="UTF-8"?>
<products>
  <product>
    ...
    <!-- LINGUAS -->
    <linguas>
      <lang>da</lang>
      <lang>de</lang>
    </linguas>

    <!-- PATTERNS -->
    <patterns>
      <pattern name="foo" />
      <pattern name="foo-32bit" />
    </patterns>

    <!-- REGISTERPRODUCT -->
    <registerproduct value="true" />