Dan Price wrote:
> We already have user actions (which create users)-- and user actions are
> run before other actions in the package.

OK.

As an exercise, I went through all of the checkinstall, preinstall, 
preremove, and postremove scripts in our product and summarized what 
they do.  It looks like most of them can be addressed through 
semi-reasonable restrictions.  My comments on how to address them are in 
[[]]s.  (Note that this is a very shallow assessment; I may well 
misunderstand what a script is truly doing.)  It doesn't look too bad, 
though there are a few [[???]]s.

checkinstall:  dynamically determine base directory (to match install of 
framework component)  [[ don't allow alternate install locations ]]

preremove:  delete links (created by install scripts?) [[ deliver links 
in package ]]

checkinstall:  check architecture, determine whether to install init 
scripts or manifest [[ assume infrastructure checks architecture, assume 
SMF ]]

preremove:  shut down services [[ assume there is a canned action ]]

postremove:  undo Gnome integration [[???]]

preremove:  adjust "latest" symlinks [[???]]

preinstall:  add group [[ assume canned action ]]

preremove:  unshare directory [[???]]

preremove:  shut down service [[ assume canned action ]]

preremove:  delete data directory [[???]]

preinstall:  move files from another package [[???]]

checkinstall:  determine path to a perl module (why?  Looks like to 
preserve it.) [[ probably unnecessary ]]

postremove:  remove /etc/services entries [[ assume canned action ]]

preinstall:  add user [[ assume canned action ]]

preremove:  stop service, remove inetd.conf entries [[ assume canned 
action ]]

checkinstall:  check for missing or incompatible shared library [[ 
assume infrastructure provides powerful dependency capabilities ]]

preinstall:  remove files no longer in package, tweak Cacao config 
[[???, ???]]

preremove:  tweak Cacao config [[???]]

preremove:  stop service [[ assume canned action ]]

postremove:  rm /etc/init.d, /etc/rc*.d scripts [[ deliver in package ]]

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to