[Splashy-devel] Bug#619093: splashy and systemd: error when trying to install together

Michael Biebl biebl at debian.org
Mon Mar 21 10:30:06 UTC 2011


Am 21.03.2011 10:56, schrieb Michael Biebl:
> Am 21.03.2011 08:07, schrieb Ralf Treinen:
> 
>> Here is a list of files that are known to be shared by both packages
>> (according to the Contents file for sid/amd64, which may be
>> slightly out of sync):
>>
>>   /etc/lsb-base-logging.sh
> 
> The two packages don't share any kind of functionality in
> /etc/lsb-base-logging.sh, so an alternatives approach or a simple Replaces won't
> work.
> 
> splashy uses it to overwrite the logging calls, systemd to redirect the complete
> script to systemd, i.e. a call to
> /etc/init.d/<foo> <action>
> translates into
> systemctl <action> <foo.service>
> 
> One might argue, that /etc/lsb-base-logging.sh is not the best place for that,
> and I wouldn't disagree. Unfortunately there is afaik currently no better place
> to hook into the lsb init functions library.
> 
> So I guess it's best if we move the systemd bits directly into lsb-base itself
> and use a Conflicts against splashy until this is done.
> 
> Chris, would you be ok with shipping the functionality of the systemd lsb init
> hook [1] in lsb-base (/lib/lsb/init-functions) itself?
> 
> 
> [1]
> http://git.err.no/cgi-bin/gitweb.cgi?p=systemd;a=blob;f=debian/lsb-base-logging.sh;h=2998bdbb37df219e73e149b4b45ee400a9870a30;hb=refs/heads/debian

I think this also affects #591791, so I CCed Steve and the debian-policy bug.

Our original idea for upstart and sysv compatibility was, that packages shipping
native upstart jobs would ship a symlink from
/etc/init.d/foo → /lib/init/upstart-job, which translates it to initctl/upstart
calls.

This approach works, if you can rely on upstart being installed, which on
Debian, especially on kfreebsd is not the case, so this idea never really took of.

So, in #591791 Steve proposed that packages should continue to ship sysv init
script, regardless if they have a native upstart job or not, and I basically
agree with that.
What I don't like about the proposal in #591791 is, that each sysv init script
should check itself, if it is run under upstart and exit.

This means we duplicate a lot of code and add upstart specific interna to every
init script shipping a native upstart job.

I'd much prefer if we could use the /lib/lsb/init-functions lib to do the same
kind of redirecting for upstart. That is, all a package needs to do if it ships
a native upstart job (or systemd service), is to include .
/lib/lsb/init-functions in its sysv init script.
/lib/lsb/init-functions would then do the correct thing, when it is run under
systemd or upstart.

Steve, do you think this would be an approach that works for upstart (and Ubuntu)?

Michael





-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 900 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/splashy-devel/attachments/20110321/dfc1ee8c/attachment-0001.pgp>


More information about the Splashy-devel mailing list