openSUSE:Standards Rpm Metadata patterns

Jump to: navigation, search

Repomd Pattern Format

The pattern format is almost identical to the usual packages format (as used in primary.xml) except

  • the enclosing XML is <pattern> instead of <package>

An example of such a pattern file can be found in the Build service tutorial.

Patterns support some additional elements:

  • <order>: A number used for the sorting order in UI
  • <extends>: Tell the UI, that this pattern extend another pattern. Subelements are <item pattern=""> .
  • <includes>: The opposite of extends
  • <icon>: The name of the icon to show in the UI
  • <category lang="lang">: A Category name used in the UI
  • <summary lang="lang">: Short Title for this pattern
  • <description lang="lang">: Long description for this subscription
<patterns xmlns:rpm="http://linux.duke.edu/metadata/rpm" 
          xmlns="http://novell.com/package/metadata/suse/pattern">
<pattern>
  <name>base</name>
  <version epoch="0" ver="11" rel="38.5" />
  <arch>x86_64</arch>
  <icon>pattern-basis</icon>
  <order>1010</order>
  <summary lang="en">Base System</summary>
  <summary lang="de">Basissystem</summary>
  <description lang="en">This is the base runtime system.  
It contains only a minimal multiuser booting system. 
For running on real hardware, you need to add additional 
packages and pattern to make this pattern useful on its own.
  </description>
  <description lang="de">Hierbei handelt es sich um das 
grundlegende Laufzeitsystem. Es bietet lediglich ein 
Minimal-Boot-System für mehrere Benutzer. Für die 
Ausführung auf Hardware, die in der Praxis eingesetzt wird,
müssen weitere Pakete und Schemata hinzugefügt werden, 
damit dieses Schema eigenständig genutzt werden kann.
</description>
  <category lang="en">Base Technologies</category>
  <category lang="de">Basistechnologien</category>
  <rpm:conflicts>
    <rpm:entry name="pattern:desktop-base"/>
  </rpm:conflicts>
  <rpm:provides>
    <rpm:entry name="pattern:basesystem"/>
  </rpm:provides>
  <rpm:requires>
    <rpm:entry name="bzip2"/>
    <rpm:entry name="util-linux"/>
    <rpm:entry name="cups-libs"/>
    <rpm:entry name="mutt"/>
<!-- ...more... -->
    <rpm:entry name="pattern:Minimal"/>
  </rpm:requires>
  <rpm:recommends>
    <rpm:entry name="eject"/>
    <rpm:entry name="libzio"/>
    <rpm:entry name="ppp"/>
    <rpm:entry name="kdump"/>
<!-- ...more...-->
    <rpm:entry name="SuSEfirewall2"/>
  </rpm:recommends>
</pattern>
<pattern>
  <name>base-32bit</name>
  <version epoch="0" ver="11" rel="38.5" />
  <arch>x86_64</arch>
  <order>1011</order>
  <summary lang="en">base-32bit</summary>
  <category lang="en">Base Technologies</category>
  <rpm:supplements>
    <rpm:entry name="pattern:32bit"/>
  </rpm:supplements>
  <rpm:recommends>
    <rpm:entry name="yast2-add-on-32bit"/>
    <rpm:entry name="libcom_err2-32bit"/>
    <rpm:entry name="gpm-32bit"/>
<!-- ...more...-->
    <rpm:entry name="mutt-32bit"/>
  </rpm:recommends>
  <extends>
    <item pattern="32bit"/>
    <item pattern="33bit"/>
  </extends>
</pattern>
</patterns>