[packagekit] Debconf and PackageKit Was Re: Packagekit and Ubuntu
James Westby
jw+debian at jameswestby.net
Fri Feb 12 09:02:24 PST 2010
On Thu, 11 Feb 2010 04:10:50 -0800 (PST), Daniel Nicoletti <dantti85-pk at yahoo.com.br> wrote:
> It seems you guys did not like the connection ID idea, but if you use
> the transaction ID as an unique thing (as you know this is a public thing)
> this will be more like a PackageKit frontend than a Debconf general frontend,
> IMHO if the GUI running as user call dconf-dbus which register
> itself on the system bus and return the dbus connection id
> now you have one thing that only the application that will ask
> for a install task will know. Then forward this to PackageKit as
> root (by using setHints() ) which the backend sets an envvar with this value.
> IMHO this is still the safer method and we don't need to change
> PackageKit at all.
setHints() sounds useful.
1. The client-side code starts up a process, or uses itself, on the
system bus which has an org.debian.Debconf interface (either at the
root or we pass the object path around with the DBus name).
2. It then calls setHints() with the unique name of the process on the
system bus.
3. Packagekit passes this on to the apt backend.
4. The apt backend arranges things such that debconf will use a dbus
frontend, set up to talk to this unique name.
5. When debconf needs input it attaches to the system bus and
communicates with the name that it knows is associated with this
transaction. If the name is not then when it does so then it can go
non-interactive.
6. When the client-side process attached to that name gets a request it
prompts the user and returns the results.
That sounds feasible to me, with a couple of requirements:
* setHints() must only be allowed to be called by the owner of the
transaction.
* The client-side process only allows messages from root-owned
processes.
* The documentation for setHints() states "The following parameter
values are understood: [...]" so we should ensure that it doesn't
reject others. It would be simple to add another for our use though.
Colin, Richard, does that sound ok to you?
Thanks,
James
More information about the PackageKit
mailing list