On 06/07/13 04:20, Andrew Gregory wrote: > On 07/06/13 at 01:08am, Allan McRae wrote: >> >> >> Looking at the ini parsing patch yesterday motivated me to get hooks >> implemented. But first we need to completely flesh out the details. >> This is too complex of a change to make up as we go along. >> >> >From the mention of the previous patch, you should be able to figure out >> the format I am pushing... >> >> Look here: >> https://wiki.archlinux.org/index.php/User:Allan/Pacman_Hooks >> >> >> Questions to answer: >> >> 1) Should hooks have a defined suffix. >> PRO: Avoids .pac{save,new} conflicts >> CON: There should be none (adjustments made in /etc) >> > > I would vote for a suffix just as a precaution.
OK. Bikeshedding time! I have added the requirement of a ".hook" suffix. >> >> 2) Complete list of when hooks can be run. Current list: >> >> PreRemove >> PostRemove >> PreInstall >> PostInstall >> Transaction >> >> I guess we should add Pre/Post suffix to Transaction for generality. >> Any more needed? >> >> >> 3) Trigger. In the wiki I have "File" and "Package" to specify >> triggers, allowing wildcards. These can be suffixed with >> Install/Upgrade/Removal. Note that any operation can be triggered by >> using e.g "PackageInstall = *". Does that seem general enough? >> > > There is some redundancy here. Do we need Install/Remove/Upgrade in > both the "when" and the trigger? No we don't... I was over thinking details without seeing the big picture. Removed. >> >> 4) Should File hooks run immediately after the file or at the end of the >> package. At the end of the package fits in with out current install >> scripts ad so would be easier to implement. Can anyone think of a >> situation with directly after the file is preferable? >> > > I think all of the "when"s should mean the same thing whether the > trigger is a file or a package. If we discover we need hooks that run > immediately after a file is modified we should add a separate "when" > for that. OK - I am doubting we will need that given no-one has mentioned the need with only our install scriptlets available. >> >> 5) How should we handle packages installing a new hook? e.g. In Arch, >> texinfo will carry the install-info hook. I think it will still need a >> post_install script to add all the info files installed before texinfo >> was to the info directory, but then the hook install should be >> recognised and act on any packages installed after that. Reasonable? >> > > I think hooks have to be immediately recognized as you describe. > Otherwise, it seems like it would be difficult to ever transition from > using an install script to a hook. > >> >> 6) Any other comments? >> > > Hooks have the potential to replace install scripts altogether; is > that the intent or do you just want to supplement them? They will not replace install scripts altogether, but should replace those that appear multiple times. Allan
