/usr/share/gtk-doc/html/PackageKit/developer-faq.html is in packagekit-docs 0.7.6-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Developer FAQ</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="PackageKit Reference Manual">
<link rel="up" href="faq.html" title="Frequently asked questions">
<link rel="prev" href="faq.html" title="Frequently asked questions">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="faq.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="faq.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">PackageKit Reference Manual</th>
<td> </td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="developer-faq"></a>Developer FAQ</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="sect1"><a href="developer-faq.html#developer-faq-libnotify">Notify warnings...</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="developer-faq.html#developer-faq-status-signals">Backends should send status signals...</a></span></dt>
<dt><span class="sect2"><a href="developer-faq.html#developer-faq-error-code-finished">Finished() after ErrorCode()...</a></span></dt>
<dt><span class="sect2"><a href="developer-faq.html#developer-faq-respect-filter">Not respecting filters...</a></span></dt>
</dl></dd>
</dl></div>
<p>
The following sections explain frequently asked questions from people creating thier own
backend.
This list is not exhaustive, but please ask before adding to it.
</p>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="developer-faq-libnotify"></a>Notify warnings...</h2></div></div></div>
<p>
If you compile with developer warnings, you may get notifications on your
desktop telling you you've done something wrong:
</p>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="developer-faq-status-signals"></a>Backends should send status signals...</h3></div></div></div>
<p>
If your backend does not set status signals you will get the following dialog:
</p>
<div class="mediaobject" align="center">
<a name="pk-faq-status"></a><img src="pk-faq-status.png" align="middle">
</div>
<p>
For every transaction, you need to tell the daemon what the backend is doing.
You need to add to your backend:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><p>
For python: <code class="literal">self.status(STATUS_QUERY)</code>
</p></li>
<li class="listitem"><p>
For compiled C/C++: <code class="literal">pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);</code>
</p></li>
</ul></div>
<p>
You can send as many status calls as you need as the transaction progresses.
The more calls you send, the more the UI will reflect what is being done, for instance,
showing a downloading icon when <code class="literal">PK_STATUS_ENUM_DOWNLOAD</code> is used.
</p>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="developer-faq-error-code-finished"></a>Finished() after ErrorCode()...</h3></div></div></div>
<p>
If your backend does not send <code class="literal">Finished()</code> after <code class="literal">ErrorCode()</code>
then the following dialog will be shown.
</p>
<div class="mediaobject" align="center">
<a name="pk-faq-error-code"></a><img src="pk-faq-error-code.png" align="middle">
</div>
<p>
The daemon recovers automatically, so this warning is not fatal, but the automatic recovery
is not cost free.
Every time the daemon cleans up a transaction like this, an additional 500ms is added to the
transaction duration (to allow slow backends to clean up after themselves) and so the
next transaction is delayed from starting.
</p>
<p>
You need to ensure that <code class="literal">Finished()</code> follows <code class="literal">ErrorCode()</code>
to remove this warning.
</p>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="developer-faq-respect-filter"></a>Not respecting filters...</h3></div></div></div>
<p>
If your backend does not correctly use the PkInfo field in <code class="literal">Package()</code>
or it does not filter packages according to the specified filter, then the following dialog will be shown.
</p>
<div class="mediaobject" align="center">
<a name="pk-faq-filter"></a><img src="pk-faq-filter.png" align="middle">
</div>
<p>
You need to ensure that you respect the filter setting, as frontends will not
do client-side filtering.
</p>
</div>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.18</div>
</body>
</html>
|