packagekit/docs/html/pk-faq.html

213 lines
8.7 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>PackageKit</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="style.css" type="text/css" media="screen"/>
</head>
<body>
<table align="center" class="title">
<tr>
<td><center><img src="img/packagekit.png" alt="[img]"/></center></td>
<td width="95%" valign="middle"><p class="title">Frequently asked questions</p></td>
<td><center><img src="img/packagekit.png" alt="[img]"/></center></td>
</tr>
</table>
<p>Back to the <a href="index.html">main page</a></p>
<h1>Frequently asked questions</h1>
<h3>How complete are the backends?</h3>
<h4>Methods</h4>
<pre>
| conary | yum | apt | box | alpm | smart | pisi | zypp |
---------------------------------------------------------------------------
resolve | X | X | | X | | X | X | X |
refresh-cache | X | X | X | X | | X | X | |
\--force | | | | | | | | |
get-updates | X | X | | X | | X | X | |
update-system | X | X | | X | | X | X | |
search-name | X | X | X | X | X | X | X | |
search-details | | X | X | X | | X | X | |
search-file | | X | | X | | | X | |
search-group | | X | | | | | X | |
install-package | X | X | | X | X | X | X | X |
install-file | | X | | X | | X | X | |
remove-package | X | X | | X | X | X | X | |
update-package | X | X | | X | | X | X | |
get-depends | | X | | X | | X | X | |
\--recursive | | | | | | | | |
get-requires | X | X | | X | | | X | |
\--recursive | | | | | | | | |
get-description | X | X | X | X | | X | X | |
get-files | X | X | | X | | X | X | |
get-update-detail | | X | | | | | | |
get-repo-list | | X | | X | X | X | X | X |
repo-enable | | X | | X | | X | | X |
repo-set-data | | X | | X | | | X | |
cancel-transaction| X | X | | | | | X | |
</pre>
<h4>Filters</h4>
<pre>
| conary | yum | apt | box | alpm | smart | pisi | zypp |
---------------------------------------------------------------------------
installed | X | X | X | X | X | X | X | |
development | | X | X | X | | | | |
gui | | X | X | X | | | X | |
free | | | | | | | | |
</pre>
<h3>Why doesn't PackageKit work with SELinux?</h3>
<p>
<code>packagekitd</code> is not recognized by SELinux yet.
Until the policy is fixed to handle system activation, you'll have
to run in permissive mode, rather than enforcing.
</p>
<h3>What if the backend package manager doesn't support percentage updates?</h3>
<p>
You don't have to have a backend that supports percentage updates.
If you don't know the progress, just emit NoPercentageUpdates and then the UI
should just do the right thing and spin backwards and forwards.
</p>
<h3>Why are the remaining times sometimes not present or wildly wrong?</h3>
<p>
The remaining time to completion of the transaction is calculated using an
average time of the time between percentage updates points, extrapolated to 100%.
This means that backends that give accurate and frequent percentage-changed
signals will get accurate times.
</p>
<p>
If a backend updates the percentage using very course updates
(e.g. 20%, 40%, 60%, 80%, 100%) then the remaining time algorithm will not
perform well.
Similarly, if the duration of 0% to 50% takes 2 minutes and 50% to 100% takes
10 minutes then at first the time will be reported under the true time to
completion.
It is up to the backends to map the transaction progress to fine-granularity
accurate percentage updates, at least as best as possible.
</p>
<h3>With all the differences between backends, how will PackageKit support all the different options?</h3>
<p>
Backends don't have to support all options of all methods.
Just set an error and return false if not implemented.
</p>
<h3>But error codes are different on each backend?</h3>
<p>
Error codes have to be standardized so they can be localized.
The error detail field can just be the untranslatable output.
If you are creating a backend and you need another error enum, mention it
and we can add it to the supported list.
</p>
<h3>How will PackageKit handle installation an application that needs user interaction?</h3>
<p>
Upgrading, installing or removing packages <b>has to be 100% silent</b>.
</p>
<p>
The user cannot be prompted for questions "set applet setuid?" as these will
not be handled in PackageKit.
The backend should do the right thing, as these messages mean very little to
the average user and cannot be translated.
</p>
<h3>Does PackageKit replace up2date?</h3>
<p>
PackageKit does not replace up2date.
PackageKit is a way for users to interact with the packaging system, not for an
administrator to install software on remote machines.
</p>
<h3>Is PackageKit a system daemon, always running and using resources?</h3>
<p>
PackageKit is not yet another system daemon.
It quits when not doing anything, and only starts when something wants
information or a task completed.
</p>
<h3>How does PackageKit handle dependencies?</h3>
<p>
PackageKit <b>does not do</b> dependency resolution.
This problem has already been solved by the backend systems and we don't really
want to re-invent the wheel.
</p>
<p>
PackageKit does not have the fine-grained API to do everything.
For instance, synaptic should still use libapt as can do much more than can be
provided by PackageKit.
</p>
<h3>Does PackageKit replace the Red Carpet service?</h3>
<p>
PackageKit is not a replacement to red carpet.
Red carpet was really great and years ahead of it's time, but tried to do
everything package related on the system, and moved onto the enterprise
centralized management model.
Although cool, this latter point made things too political in my opinion.
</p>
<h3>How fast is PackageKit?</h3>
<p>
PackageKit is really fast.
It takes about 1 second to search for installed and available packages
with "power" in the description - no blocking of the UI happens at all as it's
all asynchronous.
All the applications start instantly with no root password needed at startup.
</p>
<h3>How does PackageKit work with multiple users?</h3>
<p>
PackageKit is designed from the ground up to work with fast user switching and
logging in and out of sessions during upgrades.
You can start a system upgrade, log out, log in as another user, and be notified
when the upgrade is complete, all without risking your rpmdb.
</p>
<h3>Can users still use their normal package managers and backends, such as Yum, APT or Conary?</h3>
<p>
PackageKit does not stop you using the low level tools yourself.
You can use rpm and yum or dpkg and apt when PK is inactive (99.999% of the time)
when you really need some command line love.
No more fighting over <code>yum</code>, <code>yum-updatesd</code>,
<code>pup</code> and <code>pirut</code>.
</p>
<h3>What is Hughsie's law?</h3>
<p>
A joke that started on IRC late one night in '07.
Put formally it is: <i>Authentication or license prompts can only be done before the
transaction has started, and messages or notices about the transaction
can only be shown after the transaction has completed.</i>
</p>
<h3>How do I translate gnome-packagekit?</h3>
<p>
Please see the <a href="http://l10n.gnome.org/teams">GNOME Translation Team</a>
web pages for how to contribute to GNOME localisation.
</p>
<h3>Is there an organization or corporation sponsoring development of PackageKit?</h3>
<p>
PackageKit is not sponsored by anyone.
Whilst interning at Red Hat I spent a few days on the API and some UI designs,
but all the coding is done in my free time.
</p>
<p>Back to the <a href="index.html">main page</a></p>
<p class="footer">
Copyright <a href="mailto:richard@hughsie.com">Richard Hughes 2007</a><br/>
<a href="http://validator.w3.org/check/referer">Optimized</a>
for <a href="http://www.w3.org/">standards</a>.
</p>
</body>
</html>