Trying to write down some guiding principles for the hooks. I consider most of this opinion and points to start discussions as I don't believe that much has been written down about the hooks yet.
There should be two types of hooks, system and user. System hooks run as the click package user and are expected to do things that are system wide. User hooks run as the user installing the program and are meant to set up items in the user's individual home directory. (Q: Is the click package user enough for security? Do system hooks need to be root?) Packages themselves should not control or configure hooks, to the package they're a transparent implementation detail of the system itself. There should be no "hooks" directory or configuration entry. Hooks are run after the package has been decompressed and copied into the final directory. Roughly the install would be phased like: <click packaging magic>, <system hooks>, then <user hooks> All hooks should always be run in the appropriate phase of the installation. It is the responsibility of the hook itself to determine if it is useful for the particular package it is executing on. If any hook returns a non-zero status the install is considered to have failed. Hooks will be given the directory that the package is installed in. No hook may modify the directory structure of the package itself, it must only create/modify files elsewhere in the system. Each hook should provide an anti-hook that will clean up the system or user home on package removal. Let's discuss those for now and see where that leads. Then we can get more specific. Thanks, Ted
signature.asc
Description: This is a digitally signed message part
-- Mailing list: https://launchpad.net/~ubuntu-appstore-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~ubuntu-appstore-developers More help : https://help.launchpad.net/ListHelp

