From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Fiona Klute via buildroot <buildroot@buildroot.org>
Cc: Bernd Kuhls <bernd@kuhls.net>, Fiona Klute <fiona.klute@gmx.de>
Subject: Re: [Buildroot] [PATCH v2 0/6] Update init script style
Date: Sun, 14 Jul 2024 22:36:45 +0200 [thread overview]
Message-ID: <20240714223645.39adf8c6@windsurf> (raw)
In-Reply-To: <20240712124956.3925574-1-fiona.klute@gmx.de>
Hello Fiona,
On Fri, 12 Jul 2024 14:49:50 +0200
Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
> Fiona Klute (WIWA) (6):
> docs/manual: describe relying on default options
> package/busybox: tidy up S01syslogd init script
> docs/manual: include S01syslogd from source
> package/openssh: tidy up init script
> package/dnsmasq: tidy up init script
> package/network-manager: rewrite init script
Thanks a lot for this, all are applied.
Now, when reviewing this and discussing with Arnout, we thought it
would be nice to have a little bit more documentation. Indeed, while
looking at the different init scripts in this series, we can identify 3
different cases:
- The S01syslogd case, where the daemon doesn't create a PID file, so
we use --make-pidfile + --background so that start-stop-daemon
creates the PID file and is in charge of daemonizing the daemon
We use a loop with start-stop-daemon to check if the service has
stopped
- The S80dnsmasq case, where the daemon creates its PID file, so we
don't pass --make-pidfile + --background.
But dnsmasq doesn't remove its PID file on stop, so we also use a
start-stop-daemon loop to check if the service has stopped
- The S50sshd or S45NetworkManager cases, where the daemon creates its
PID file, so we don't pass --make-pidfile + --background (same as
S80dnsmasq)
However, those daemons remove their PID file on stop, so we cannot
use a start-stop-daemon loop, but instead loop until the PID file
goes away
So essentially, the manual should have guidelines like this:
- If your service doesn't create its own PID file: invoke the daemon in
foreground mode, and use start-stop-daemon --make-pidfile --background
snippet of code
- If your service creates its own PID file: pass the --pidfile option
to both start-stop-daemon *and the daemon itself so they agree on
where the PID file is
snippet of code
- If your service removes its PID file on shutdown, use a loop testing
that the PID file has disappeared on stop, see S50sshd or
S45NetworkManager for example:
snippet of code
- If your service doesn't remove its PID file on shutdown, use a loop
of start-stop-daemon, see S01syslogd for example:
snippet of code
That would be *tremendously* useful to have in the documentation.
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2024-07-14 20:37 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-12 12:49 [Buildroot] [PATCH v2 0/6] Update init script style Fiona Klute via buildroot
2024-07-12 12:49 ` [Buildroot] [PATCH v2 1/6] docs/manual: describe relying on default options Fiona Klute via buildroot
2024-07-14 20:28 ` Thomas Petazzoni via buildroot
2024-07-12 12:49 ` [Buildroot] [PATCH v2 2/6] package/busybox: tidy up S01syslogd init script Fiona Klute via buildroot
2024-07-14 20:29 ` Thomas Petazzoni via buildroot
2024-07-12 12:49 ` [Buildroot] [PATCH v2 3/6] docs/manual: include S01syslogd from source Fiona Klute via buildroot
2024-07-14 20:29 ` Thomas Petazzoni via buildroot
2024-07-12 12:49 ` [Buildroot] [PATCH v2 4/6] package/openssh: tidy up init script Fiona Klute via buildroot
2024-07-14 20:29 ` Thomas Petazzoni via buildroot
2024-07-12 12:49 ` [Buildroot] [PATCH v2 5/6] package/dnsmasq: " Fiona Klute via buildroot
2024-07-14 20:30 ` Thomas Petazzoni via buildroot
2024-07-12 12:49 ` [Buildroot] [PATCH v2 6/6] package/network-manager: rewrite " Fiona Klute via buildroot
2024-07-14 20:30 ` Thomas Petazzoni via buildroot
2024-07-14 20:36 ` Thomas Petazzoni via buildroot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240714223645.39adf8c6@windsurf \
--to=buildroot@buildroot.org \
--cc=bernd@kuhls.net \
--cc=fiona.klute@gmx.de \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.