[packagekit] A PackageKit browser plugin

Richard Hughes hughsient at gmail.com
Mon Jul 28 06:50:25 PDT 2008


On Mon, 2008-07-28 at 09:18 -0400, Owen Taylor wrote:
> On Sun, 2008-07-27 at 09:00 +0100, Richard Hughes wrote:
> > On Thu, 2008-07-24 at 14:39 -0400, Owen Taylor wrote:
> > > What do people think...
> > 
> > I think it looks great. Some comments tho:
> > 
> > * You are using gpk-install-package-name -- you probably don't want to
> > call the binary name, you want to call the InstallPackageName DBUS
> > method -- see http://www.packagekit.org/pk-faq.html#session-methods for
> > more info.
> 
> OK, I'll look at switching it over.

Cool, yell if you get stuck.

> I actually would like something a little different ... since it isn't
> 100% clear that clicking somewhere on a web page is going to install a
> package on your system directly (possibly taking quite some time to
> download, possibly keeping you from suspending, etc.) I'd really prefer
> to always show a confirmation dialog like the one you get when there
> are additional dependencies to install. It would be nice if that was
> an option through the D-BUS interface.

Right at the moment the DBUS interface honours the "don't show me this
again" checkbox that you might have already clicked.

> I could obviously pop up a dialog myself but:
> 
>  A) Wouldn't have the download size
>  B) Would suck if there was then also going to be the additional
>     dependencies dialog
>  C) Some hopes of making the plugin GTK+ independent

Right.

> > * You are using the libpackagekit Resolve() -- which is fine, but you're
> > using the status boolean to check for installed. It's perfectly valid
> > for PackageKit to emit installed foo-0.1.2, available foo-0.1.3 if there
> > is a package update available. Maybe one to check for.
> 
> I'm not sure I understand this comment ...  do you mean the 
> 
> enum PackageStatus { IN_PROGRESS, INSTALLED, AVAILABLE, UNAVAILABLE, INSTALLING };
> 
> Enumeration? Actually despite this enum, the code does handle INSTALLED
> and also available for upgrade, since it has separate "availablePackage"
> and "availableVersion" fields, but it probably would be clearer with
> a UPGRADABLE status.

Ahh right.

> What I don't do at the moment is show a user interface for that case..
> it just look like the INSTALLLED case. I'm not completely sure that
> handling it is necessary... basically if the user hits that dialog
> more than infrequently, then the right user interface is
> "Fix automatic updates on your system!". But certainly you could imagine
> cases where it might be hit for newly released packages. My main
> reason for avoiding it was that having multiple links made the UI
> code considerably trickier :-)

Understood.

> I'll take a look at a "_Run 1.2.1 now_. _Upgrade to version 1.2.3_" 
> user interface.

That would rock.

> > * The destop file checking code is already present in gpk-client-run.c
> > -- maybe we can share some code there.
> > 
> > > does this make sense as part of the PackageKit project?
> > 
> > Yes, but the licence could be tricky. All of stuff in PackageKit has to
> > be (L)GPLv2+ -- I can't confess to being a licence expert, so I don't
> > know how MPL 1.1/GPL 2.0/LGPL 2.1 would affect things.
> 
> If you read the details of the license it's actually MPL 1.1/GPL 2.0 or
> greater/LGPL 2.1 or greater. So stripping down to any GPL or LGPL
> variety is feasible. I was just keeping things simple by sticking to the
> tri-license license of the Mozilla stub code.

Right.

> In fact the Mozilla stub code could be eliminated with moderate work if
> there was a desire to change the license to something oddball or move
> the codebase from C++ to C. 

I would love it to move to C, but I didn't ask as I figured this was too
much work. I can do C++, but I much prefer C for this low level stuff.

Richard.





More information about the PackageKit mailing list