Bug#913247: Please provide a C implementation of /lib/init/init-d-script
Ian Jackson
ijackson at chiark.greenend.org.uk
Thu Nov 22 14:26:10 GMT 2018
Mert Dirik writes ("Re: Bug#913247: Please provide a C implementation of /lib/init/init-d-script"):
> On 11/22/18, Ian Jackson <ijackson at chiark.greenend.org.uk> wrote:
> > I don't know what `systemd redirection' is. Why does it not work ?
> > Can it be fixed ?
>
> To sum it up, when /lib/lsb/init-functions is sourced from a script in
> /etc/init.d, /lib/lsb/init-functions.d/40-systemd is also sourced and
> the script is executed using a corresponding "systemctl ...." command
> so that systemd can track the daemon. Relevant bug report is #826214.
Thanks.
This doesn't seem so difficult to fix. (CCing that bug.)
> The problem here is, 40-systemd uses the value of "$0" to figure out
> whether the caller was a script inside /etc/init.d/ and using
I just experimented:
mariner:d> pwd
/u/iwj/junk/d
mariner:d> egrep . init-d-script daemon
init-d-script:#!/bin/sh
init-d-script:echo "in init-d-script \$0=$0 \$*=$*"
daemon:#!/usr/bin/env /u/iwj/junk/d/init-d-script
daemon:some thing or other
mariner:d> ./daemon start
in init-d-script $0=/u/iwj/junk/d/init-d-script $*=./daemon start
mariner:d>
So I think this would be fixed if /lib/init/init-d-script detected
this situation and set $0 to the original script name (which it gets
in $1). That is probably desirable anyway.
Ian.
--
Ian Jackson <ijackson at chiark.greenend.org.uk> These opinions are my own.
If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.
More information about the Debian-init-diversity
mailing list