← Back to team overview

ubuntu-appstore-developers team mailing list archive

Re: Summary of my understandings

 

On Thu, Jul 11, 2013 at 12:13:46PM -0500, Ted Gould wrote:
> On Thu, 2013-07-11 at 18:07 +0100, Colin Watson wrote:
> > On Thu, Jul 11, 2013 at 12:01:08PM -0500, Ted Gould wrote:
> > > Will there be a way to look up the directory for a particular package
> > > then?  How should I find where it is installed?
> > 
> > Depends what you need to do.  The right thing will normally be to look
> > up the directory on a per-user basis, so for a given user you can ask
> > "where is my installation of <package>?".  Would a command printing that
> > meet your needs?
> 
> Yes, do you expect the version directory to change as well?

Specifically the per-user path is currently something like:

  /opt/click.ubuntu.com/.click/users/cjwatson/com.ubuntu.apps.camera
    -> /opt/click.ubuntu.com/com.ubuntu.apps.camera/2.9.1daily13.06.13

So only ever one version there.

> Since the application ID would have both pieces of information it
> seems like passing both would make sense, and then return an error if
> that isn't the correct version.

I guess, but it seems like kind of an odd interface.  What exactly are
you trying to do?

> It seems like there might be a read-only version and then an upgraded
> version as well, where even the base directory would change.

My (vapourware) thoughts on this are that we'd set up the per-user
symlinks for any apps in the system partition each time we create a new
user, so that we could stick with a single base directory for each user
containing symlinks to their set of installed apps.  Given a symlink
farm, it seems that just one of them should be able to do the job - I'd
rather not end up with a farm of symlinks to symlink farms. :-)

> Long term (not v1) I think it'd make sense to have it be a library call
> or something simple to document so that we don't have to start another
> process.  I'm getting a little concerned about delaying application
> startup.

After 13.10 I expect to rewrite click in C.  Until then I'd rather keep
the flexibility of having its core code in Python if at all possible.
If it turns out to actually be a blocker then I can probably manage
something before then, but let's see if it's a problem first.

-- 
Colin Watson                                       [cjwatson@xxxxxxxxxx]


Follow ups

References