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
