[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re-Proposal - preserve freedom of choice of init systems



On 10/17/2014 11:26 AM, Ian Jackson wrote:
> Daniel Kahn Gillmor writes ("Re: Re-Proposal - preserve freedom of choice of init systems"):
>> The implication here appears to be troubling for any upstream who wants
>> to rely on specific features of a given initsystem.
> 
> Yes, indeed.
> 
>> The implication of this proposed GR seems to be that those tools would
>> be unfit for inclusion within debian unless someone erects all the
>> additional scaffolding that runit provides (process supervision,
>> pipelined logfiles with autorotation and log msgs just sent to stderr,
>> restart on abnormal termination, no need for daemonization, clean
>> process initialization, etc), but does so outside of runit.
> 
> But runit is exactly the scaffolding needed to do that, and already
> exists!  runit can coexist peacefully with sysvinit, systemd, upstart,
> or whatever.  There is no problem depending on runit because runit
> doesn't demand being pid 1, so it is nonexclusive.

nevertheless, runit behaves differently when it is pid 1 than when it is
used in a subordinate role to another initsystem.  If i'm upstream and
i'm building mechanisms that integrate with runit *as it behaves as pid
1*, the implication seems to be that my work would not be welcome in debian.

>> This isn't surprising or specific to init systems, of course -- it's how
>> free software works.
> 
> The problem with init systems is that you can have only one.
> 
> If people want to make Debian derivatives that work only with a
> particular init system, that's completely fine.  The reverse - trying
> to put back support for sysvinit, if it gets taken out of Debian,
> would be very very difficult.

i don't think that anyone has tried to remove support for sysvinit for
debian -- i certainly hope the sysvinit maintainers are unlikely to
leave the project or orphan the package.  There may be packages that
don't work as well or integrate as well in a sysvinit-based debian
installation as they do for other choices of pid 1.   But that is also
true if runit is my pid 1 -- some packages won't integrate as well with
my system if i choose this config.  That doesn't mean those packages are
RC-buggy, it means i need to submit servicedirs for them and hopefully
find ways for developers to adopt them.  Or to provide system service
packages that are distinct from packages containing the tools entirely
[0], so that anyone who wants to support service initialization on an
arbitrary initsystem can do so independently.

That said, i don't think that "putting back support for sysvinit" for
any given package that is unable to currently maintain it would actually
be as difficult as you make it out to be.

> As the upstream for our ecosystem, we
> in Debian have a special responsibility to retain the flexibility our
> downstreams might want.

Yes, we do.  But we also have a responsibility to package and distribute
modern, upstream-maintained versions of useful free software even if
those versions have dependencies that some people might not find
preferable.  We also shouldn't restrain packagers from uploading
software just because they don't have service initialization mechanisms
for every pid 1 that can possibly be used in a debian system.

I like both postgresql and runit, and am really happy that both these
things are in debian.  But postgresql isn't RC-buggy just because the
system service doesn't start automatically when i choose to use runit as
pid 1.

Regards,

	--dkg

[0] https://www.debian-administration.org/users/dkg/weblog/53

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: