Libzypp/Metadata/repomd/patches
İçindekiler
Repomd Patch Format
For a correct and complete example files, look at the attachment below
If you haven't done so already, please read the rationale concerning patches first.
The rest of this page is INCOMPLETE !!!
Header information
The patch xml representation starts with a normal header and <patch :
<?xml version="1.0" encoding="UTF-8"?> <patch xmlns="http://novell.com/package/metadata/suse/patch" xmlns:patch="http://novell.com/package/metadata/suse/patch" xmlns:yum="http://linux.duke.edu/metadata/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm" xmlns:suse="http://novell.com/package/metadata/suse/common" patchid="foo-12321" timestamp="2342342" engine="1.0">
- patchid is the internal (as far as maintenance is concerned) name
- timestamp is the build date of the patch
Name, version, etc.
It then continues with normal repomd stuff for name, version, etc.
<yum:name>foo</yum:name> <summary lang="en">install if you have lots of foo</summary> <description lang="en">fixes Bug #231312</description> <yum:version epoch="0" ver="1" rel="2"/> <arch>i586</arch>
So we're looking at patch foo-1.2.i586 here.
Dependencies
A patch can have a full set of dependencies as explained here.
Most important for patches are two conditions
- Is this patch needed at all (The why) ?
- Which packages are needed (The what) ?
The why question is answered by a freshen dependency:
<suse:freshen><suse:entry kind="package" name="blah"/></suse:freshen>
This means: If package blah is installed, consider this patch.
(If package blah is not installed, this patch is not further considered).
The what is answered by normal requires dependency:
<rpm:requires><rpm:entry kind="package" name="blah" ver="5" rel="6" flags="GE"/></rpm:requires>
Both (freshens and requires) dependencies together express:
= If package blah is installed, it should be blah =>= 5.6
It is important to note that the freshen is completely independant from the requires.
All depedencies carry a kind attribute to denote if the dependency targets a patch or a package.
Category
There are currently three categories defined security, recommended, optional.
<category>security</category>
Last edit in Trac '03/19/06 20:59:21' by 'kkaempf'
Last edit in Trac '03/19/06 20:59:21' by 'kkaempf'
Last edit in Trac '03/19/06 20:59:21' by 'kkaempf'
Last edit in Trac '03/19/06 20:59:21' by 'kkaempf'