Add an optional spec enhancement to allow backend to encode the package origin in the package-id

This allow local package-id in the format 'hal;0.1;i386;installed:fedora'
This commit is contained in:
Richard Hughes 2010-12-09 11:16:35 +00:00
parent adbf3a705f
commit 07e6cd5ba1
2 changed files with 31 additions and 5 deletions

View File

@ -22,8 +22,7 @@
be present. be present.
For instance, <literal>gnome-keyring-manager;2.18.0;;</literal> is For instance, <literal>gnome-keyring-manager;2.18.0;;</literal> is
valid but <literal>gnome-keyring-manager;2.18.0</literal> is not. valid but <literal>gnome-keyring-manager;2.18.0</literal> is not.
The data field can be used for the repository name or any other purpose. The data field is used for the repository name.
It is designed to make the life of a backend writer a little bit easier.
</para> </para>
<para> <para>
The data field for an installed package must be The data field for an installed package must be

View File

@ -1063,7 +1063,8 @@
<doc:para> <doc:para>
<doc:tt>Package</doc:tt> enumerated types should be <doc:tt>Package</doc:tt> enumerated types should be
<doc:tt>available</doc:tt> or <doc:tt>installed</doc:tt>. <doc:tt>available</doc:tt> or <doc:tt>installed</doc:tt>.
</doc:para> </doc:description> </doc:para>
</doc:description>
</doc:doc> </doc:doc>
<arg type="s" name="filter" direction="in"> <arg type="s" name="filter" direction="in">
<doc:doc> <doc:doc>
@ -1115,7 +1116,8 @@
<doc:para> <doc:para>
<doc:tt>Package</doc:tt> enumerated types should be <doc:tt>Package</doc:tt> enumerated types should be
<doc:tt>available</doc:tt> or <doc:tt>installed</doc:tt>. <doc:tt>available</doc:tt> or <doc:tt>installed</doc:tt>.
</doc:para> </doc:description> </doc:para>
</doc:description>
</doc:doc> </doc:doc>
<arg type="s" name="filter" direction="in"> <arg type="s" name="filter" direction="in">
<doc:doc> <doc:doc>
@ -1870,7 +1872,32 @@
<doc:doc> <doc:doc>
<doc:summary> <doc:summary>
<doc:para> <doc:para>
A valid package ID string with as much data as known This identifier is of the form <doc:tt>name;version;arch;data</doc:tt>
in a single string and is meant to represent a single package
unique across all local and remote data stores.
</doc:para>
<doc:para>
For a remote, not-installed package the data field should
be set as the repository identifier or repository name.
</doc:para>
<doc:para>
The data field for an installed package must be prefixed
with <doc:tt>installed</doc:tt> as this is used to identify
which packages are installable or installed in the client
tools.
</doc:para>
<doc:para>
As a special extension, if the package manager is able to
track which repository a package was originally installed
from, then the data field can be set to
<doc:tt>installed:REPO-NAME</doc:tt> which allows the
frontend client to advise the user of the package origin.
</doc:para>
<doc:para>
The data field for a non-installed local package must be
<doc:tt>local</doc:tt> as this signifies a repository name is
not available and that package resides locally on the
client system rather than in any specific repository.
</doc:para> </doc:para>
</doc:summary> </doc:summary>
</doc:doc> </doc:doc>