Nicolas Williams wrote: > > Methinks we could programmatically create SMF services for IPS pkgs to > ping by leveraging the existing SVR4 packaging in the various > consolidations. > > - CASes would install into, say, /var/pkg/.../cas/ > - pkgs delivering plug-ins would install the inputs to CASes into, say, > /var/pkg/.../<plug-in-framekwork-pkg>/<plug-in-pkg>/<path> > - pkgs delivering plug-in framekworks would track what actions have > been run for install/removal in, say, > /var/pkg/.../<plug-in-framekwork-pkg>/state/ > - the SMF manifests and start methods would be generic > > We know the CASes will run on the booted image, and we know what > environment they should run with. I've not prototyped this, but it > seems simple enough.
> Post/preinstall/remove scripts would still have to be manually > converted. .... yes, it does seem simple. Ironically, it would be exactly as simple, to take all this "has XYZ run yet? no? Ok, run it now" SMF hooks, and just SUPPORT PREINSTALL/POSTINSTALL SCRIPTS DIRECTLY, with the exact same hooks you are talking about. Thus doing away with most of the alleged "problems" of running scripts in non-straightforward "contexts" (aka zones that arent booted, blah blah blah...), and simultaneously solving one of the biggest compatibility problems with supporting legacy SVR4 packages. I really like class action scripts. I'm converting a lot of my packages to use them, in favor of a lot of individual-package duplicated scripts. But there will ALWAYS BE ONE-OFF SCRIPTING, that is unique to a particular package here and there. As a matter of fact, I just hit that, this last week. While I cleaned up an existing package, to use more nice clean consolidated class action stuff instead of postinstall stuff... I still I needed to make my postinstall script do a bunch of "if [COND] then continue; else [Go do this separate fiddly setup stuff]". afterwards. _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
