← Back to team overview

ubuntu-appstore-developers team mailing list archive

Re: [Merge] lp:~sergiusens/session-manager-touch/install_clicks into lp:session-manager-touch

 

On Thu, 2013-08-22 at 22:05 +0000, Loïc Minier wrote:

> I guess there are a number of different use cases:
> a) package is in app store but we want to preinstall it
> b) package is not in app store but we want to preinstall it
> 
> and another subcase:
> 1) package may be removed by end-user
> 2) package may not be removed by end-user
> 
> 
> 
> and what we want to decide is whether we're upgrading/reinstalling
> packages and whether we do this on every boot.


To be clear, we can't do it on boot because versions are per-user and so
are hooks that need to be run by the click system.  Also, at boot the
user's home directory may not be decrypted.

We probably do need something on the user session init to handle the
case of clicks that are on the image (not writable) and the version has
been upgraded.  This way the per-user click hooks can be run.


> Now some conclusions:
> - it seems clear to me that for a), it doesn't matter whether we
> update it or not as updates can be delivered from appstore, so we
> could optionally skip this on boot
> - it seems natural that things that are in appstore and hence can be
> installed after the fact should be uninstallable, so that a) should
> imply 1)
> - it is obvious that in the case of b), we must update it on each boot
> - it seems natural that in the case of b), we should not allow removal
> -- otherwise lets just put it in the appstore


I think that we can't simplify things like this with the per-user
installation.  There's no reason both users on a system would have the
same version of Facebook whether it was pre-installed or not.  It's a
disk space issue, not an automatic update one.  And, as a user, I could
not want to update something.


> So what I'd propose is followings:
> * /usr/share/preinstalled/click and /custom/preinstalled/click contain
> clicks that aren't in the appstore and must be installed or upgraded
> automatically and can't be removed (no flag to allow this for now, but
> should add one)
> * /opt/click.u.c is prepopulated in the rootfs with appstore packages
> that we want to install by default but may remove, but is never
> upgraded (which I think is what happens with writable pathes?)


Hmm, I don't think that we should have paths hard coded anywhere but in
the click package.  So this is, in my opinion a strong vote for putting
any upstart job in the click package directly.


> We should add a flag for packages that can't be removed (both for
> appstore and preinstalled packages).


Wouldn't they be on a read-only partition?  Isn't that "can't be
removed" enough?  :-)

Ted

Attachment: signature.asc
Description: This is a digitally signed message part


Follow ups