please explain this systemd service files question
Alexander Bokovoy
ab at samba.org
Wed Oct 17 08:45:05 UTC 2018
On ke, 17 loka 2018, L.P.H. van Belle via samba-technical wrote:
> Hai,
>
> After days of searching why on a debian install samba and winbind fails, i did find this.
> in this folder : SOURCE/packaging/systemd/
> i notice the systemd service files with the following.
>
> for examplel this file : smb.service.in contains.
> [Unit]
> Description=Samba SMB Daemon
> Documentation=man:smbd(8) man:samba(7) man:smb.conf(5)
> Wants=network-online.target
> After=network.target network-online.target nmb.service winbind.service
>
> [Service]
> Type=notify
> NotifyAccess=all
> PIDFile=@PIDDIR@/smbd.pid
> LimitNOFILE=16384
> EnvironmentFile=- at SYSCONFDIR@/sysconfig/samba
> ExecStart=@SBINDIR@/smbd --foreground --no-process-group $SMBDOPTIONS
> ExecReload=/bin/kill -HUP $MAINPID
> LimitCORE=infinity
> @systemd_smb_extra@
>
> [Install]
> WantedBy=multi-user.target
>
>
>
> Now my question what is @systemd_smb_extra@ and why is it there.
>
> Due to that, the service files on debian are modifies and this part is added:
>
>
> ExecStartPre=/bin/systemctl try-stop winbind.service
> ExecStartPost=/bin/systemctl try-start winbind.service
> Restart=on-failure
> RestartSec=30s
>
> resulting at the install :
>
> Process: 2065 ExecStartPre=/bin/systemctl try-stop smbd.service (code=exited, status=1/FAILURE)
> because it does not understand try-stop ( or try-start )
>
> The commands there : systemctl try-stop and systemctl try-start
> does not exist, so can someone explain this for me?
Look at packaging/wscript:
gr.add_option('--systemd-smb-extra',
metavar="Option=Value",
help=("Extra directives added to the smb service file."
+" Can be given multiple times."),
action="append", dest="systemd_smb_extra", default=[])
They default to empty list.
The need to turn them to templates came from
commit 080d590de1ff9f8ebc55aeffaea8d41991466549
Author: Aurelien Aptel <aaptel at suse.com>
Date: Thu Dec 14 16:47:49 2017 +0100
packaging: add configure option to preprocess and install systemd files
Turn the systemd service files under packaging into template (.in) files
with @VAR@ substitutions and add configure options to install and tweak
them.
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Garming Sam <garming at catalyst.net.nz>
I cannot find any references to 'try-stop/try-start' in systemd
upstream code so looks like try-start/try-stop were Debian-specific.
--
/ Alexander Bokovoy
More information about the samba-technical
mailing list