#!/bin/sh # PROVIDE: wsdd # REQUIRE: DAEMON samba_server # BEFORE: login # KEYWORD: shutdown # Add the following line in /etc/rc.conf to enable wsdd: # # wsdd_enable="YES" # wsdd_flags="" # wsdd_domain="" # wsdd_group="" # # Do not specify -d DOMAIN or -w WORKGROUP in wsdd_flags. Instead, set # wsdd_domain="DOMAIN" or wsdd_group="WORKGROUP", otherwise it will be # overridden by automatically detected workgroup. # . /etc/rc.subr name=wsdd rcvar=wsdd_enable load_rc_config ${name} : ${wsdd_suppflags=""} : ${wsdd_domain=""} : ${wsdd_group=""} : ${wsdd_smb_config_file="/usr/local/etc/smb4.conf"} if [ -z "${wsdd_group}" ]; then # automatic detection of workgroup wsdd_group=$(/usr/local/bin/testparm -s --parameter-name workgroup 2>/dev/null) # try to manually extract workgroup from samba configuration if testparm failed if [ -z "$wsdd_group" ] && [ -r $wsdd_smb_config_file ]; then wsdd_group="$(grep -i '^[[:space:]]*workgroup[[:space:]]*=' $wsdd_smb_config_file | cut -f2 -d= | tr -d '[:blank:]')" fi fi wsdd_opts="" if [ -n "${wsdd_suppflags}" ]; then wsdd_opts="${wsdd_suppflags}" fi if [ -n "$wsdd_domain" ]; then wsdd_opts="${wsdd_opts} -d ${wsdd_domain}" elif [ -n "$wsdd_group" ]; then wsdd_opts="${wsdd_opts} -w ${wsdd_group}" fi command="/usr/sbin/daemon" procname="/usr/local/bin/python3.7" pidfile="/var/run/${name}.pid" command_args="-u daemon -S -p $pidfile /usr/local/bin/wsdd $wsdd_opts" load_rc_config $name run_rc_command "$1"