On Mon, 19 Mar 2012 18:58:22 -0400
"Walter Dnes" <waltd...@waltdnes.org> wrote:

> On Mon, Mar 19, 2012 at 12:35:26AM +0200, Alan McKinnon wrote
> 
> > >   systemd is like Captain Picard of STTNG (Start Trek The Next
> > > Generation) always saying "make it so".  *HOW DO YOU "MAKE IT SO"?
> > > That intelligence has to be somewhere.  So what alternative do you
> > > propose? A bash or ash script is more guaranteed to run than a
> > > binary.  Shoving all that "intelligence" into the service itself,
> > > means that the service has to start up in order to determine
> > > whether it's safe for the service to start up.  What's wrong with
> > > this picture?
> > 
> > The intelligence goes in the init system's config file for that
> > service of course. I know I didn't clearly say so, but that's where
> > it goes.
> 
>   The config file can specify upper/lower limits, variables, settings,
> etc, etc.  But in the end, some executable somewhere is going to have
> to parse the config file, check the actual environment, and decide
> whether or not to launch the service, and with what parameters.
> 
>   Note also that many open source programs are multiplatform.  I.e.
> they run on FreeDOS with DJGPP, multiple flavours of Windows,
> multiple BSDs (including Apple), linux, and multiple commercial unix
> flavours.  Do you really want to throw multiple platform-specific
> IFDEFs into the program code to allow the services to do the
> appropriate platform-specific initialization?  Isn't it be easier to
> move the service setup out of the main service, and let the
> maintainers of the specific platforms figure it out?
> 
>   One last question.  Let's go back in time 20 years, and assume that
> you're the maintainer for a program that runs as a service.  A small
> handfull of end-users come along.  They're running a "hobby OS" that
> fits on a couple floppies.  Said "hobby OS" has been cobbled together
> by a university student.  Would you...
> * download that university student's hobby OS, and install it
> * throw in a bunch of additional IFDEF initialization code in your
> program
> * test and debug the program to make sure it runs under that OS
> 

I'm not sure where you're going with this. We're discussing an init
system and good, simple ways to start services. App maintainers are
going to continue to do whatever they feel they ought to do, some might
write the systemd files, some might not - that is what already
happens. Someone has to write it and what goes in it depends on what
the app code does, not the other way round.

I'm not punting the merits of systemd, I don;t know enough about it. I
started off by saying a nice clean easy way to do init would be
awesome, as I'm sick and tired of having to deal with sysvinit. That's
all, don't read more into it than that.

As for the last question, I really have no idea where you're taking
this. I don't know the answer, I've never been a maintainer in that
position. Being the arrogant shit that I am, I reckon I would probably
tell the user to piss off and I don't support hobby crap. But hey,
that's just what I think I might say while sitting here on my couch.
Any other answer would be equally made up.

-- 
Alan McKinnnon
alan.mckin...@gmail.com


Reply via email to