1
AptDaemon optionally is capable of providing the PackageKit system D-Bus
2
interface (see http://www.packagekit.org/gtk-doc/api-reference.html). The goal
3
is to provide the complete PackageKit API to run client applications smoothly.
4
There won't be any additions or changes to the original PackageKit API.
7
Unsupported or not fully covered methods:
9
* org.freedesktop.PackageKit:
11
- CanAuthorize (currently always returns interactive)
12
- GetTimeSinceAction - could make use of the apt history
13
- GetDaemonState - for debugging purposes only
14
- SetProxy (should we change the apt config?)
15
- SetRoot (support is already available in aptdaemon for chaning the root)
17
* org.freedesktop.PackageKit.Transaction:
20
- SetHints (cache_age doens't make any sense with APT, interactive and
21
background/idle not yet implemented, locale and frontend_socket working)
24
Issues and shortcomings:
26
- Messages are not used (possible candidates could be UNTRUSTED_PACKAGES,
27
NEWER_PACKAGE_EXISTS, CONFIG_FILES_CHANGED, OTHER_UPDATES_HELD_BACK)
28
- The post update hook (/etc/apt/apt.conf.d/20packagekit) cannot call
29
StateHasChanged since caller and callee are the same process (aptd) and
31
- Repository signals are not used by UpdateCache - it makes sense to also
32
add this to aptdaemon in a different way
33
- Short descriptions of dependencies in the Simulate calls are not available
34
- Translations of package description don't work
35
- Should we add support for PackageKit's PolicyKit Actions? How should
36
CanAuthorize behave? Would be better if CanAuthorize accepts
37
role ids instead of action ids.
38
- RestartSchedule and RepoListChanged signals don't get emitted
43
- Get(Packages|Depends|Requires|Details)
44
- (Download|Install|Remove|Update)Packages
45
- Simulate(Install|Remove|Update)Packages
51
Not yet supported roles:
53
- GetCategories: Curently groups are still used, would be nice to reuse the
54
categories from software-center
55
- GetRepoList: not implemented in the worker
56
- RepoEnable: not implemented in the worker)
57
- RepoSetData: not implemented in the worker)
58
- InstallFiles: not implemented in the worker
59
- SimulateInstallFiles: not implemented in the worker
60
- WhatProvides: not implemented in the worker. We could reuse code from
62
- InstallSignature: not implemented in the worker. Could be mapped to
65
Roles we won't support at all because of missing infrastructure in APT:
67
- AcceptEula: there isn't any equivalent mechanism in Debian/Ubuntu. Most
68
packages mis-use debconf for this.
69
- Rollback: downgrades are not supported by Debian/Ubuntu, perhaps in
70
the future apt-brtfs could be worth looking at.
82
Not yet supported filters:
89
Thanks to Richard Hughsie for his work on PackageKit!