/lib/svc/method/pkg-update

??  --emk

Jordan Brown wrote:
Bart Smaalders wrote:
  
That would be cool, but unfortunately it's not a realistic answer - 
there are just too many similar plug-in infrastructures to require 
that they all be fixed before they can be used.
      
So it's better for each application to hack together it's own
mechanisms?
    

Not everybody has write access to the cron sources, nor does everybody 
have the time or interest to hack them.  My old group was 98% Java 
programmers.  If they want to have a cron job as part of their 
application, their only practical choice is to hack together their own 
mechanism, at least until somebody else fixes cron.  (But remember cron 
is far from unique here; after you fix cron there will still be 
uncountable similar applications.)

  
If you want to modify system files as a result of installing or
de-installing a package, I think the right way to do this is via
the mechanism I described.
    

Absolutely.  The people who own those system files should get right on 
fixing their components to be packaging-friendly.  What should the rest 
of the world do in the meantime?

  
It sounds like the answer is to have the application squirrel away 
some unpackaged files that will clean up and self-destruct on the next 
reboot, or when invoked by this service-based mechanism.
      
Gack.  Please don't do this.
    

So what are developers who do not have the time, experience, or access 
required to fix cron to do to ensure that their cron jobs are removed 
when the application is uninstalled?

  
If you have an application that has IPS packaged plugins, then it can
discover the missing or new plugins on next startup.
    

Yes.  Here we're talking about an application that's plugging into 
*other* applications' plugin mechanisms.

Though even for mechanisms controlled by the developer it's not always 
trivial to rebuild the mechanisms to be packaging-friendly.  Consider, 
for instance, that the IPS team felt it necessary to build custom 
mechanisms to support Solaris kernel configuration files.  You could 
have fixed the Solaris kernel so that it would dynamically assemble the 
contents of those files, but that was too hard so you implemented 
special mechanisms to solve that point problem.  Most of the world 
doesn't have that luxury.

  
If you're adding entries to crontab, etc, let's get those things
fixed as part of S11 development.  We don't need to re-invent
scripting via proxy scripts.
    

Cron.
Sendmail.
Apache.
Termcap.
/etc/mailcap.
/etc/mime.types.
Solaris WBEM Services.
/etc/iu.ap.
/etc/dacf.conf.
/etc/format.dat.
/etc/system.
gconf.
logadm.
PAM.
Syslogd.
/etc/services.
RBAC.

That's all I could think of offhand and with a brief scan of /etc, but 
I'm sure if I hunted around a bit I could find any number more - I 
didn't even touch X, for instance.

Plugin support by adding a new entry to a file is a long-established 
tradition.  Yes, there are better ways and applications should move to 
those better ways, but the people who need to plug in are often not the 
people who are in a position to fix the architecture, and there are too 
many such plug-in frameworks to just assert that they'll all get fixed 
before anybody needs them.

A developer who is considering moving an application to IPS and who 
encounters such a situation has three realistic options today:

1)  Hack up a replacement for scripting.
2)  Leave trash all over the system on uninstall.
3)  Stop considering moving to IPS.

Which of those would you prefer?
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
  
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to