git: 42b2996954c7 - main - dns/knot-resolver: fixing rc scripts krescachegc and kresd
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 08 Aug 2024 14:36:23 UTC
The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/ports/commit/?id=42b2996954c75b2fdcce7e306dc47a3bbaf551c2 commit 42b2996954c75b2fdcce7e306dc47a3bbaf551c2 Author: Leo Vandewoestijne <freebsd@dns.company> AuthorDate: 2024-08-07 15:37:28 +0000 Commit: Fernando Apesteguía <fernape@FreeBSD.org> CommitDate: 2024-08-08 14:36:09 +0000 dns/knot-resolver: fixing rc scripts krescachegc and kresd * kresd.i lacked activation of defined status_cmd="${name}_status" * dns/knot-resolver/files/krescachegc.in needed full clean-up: * daemon didn't start due to missing '-c <resolver_cache>' * missing 'start', 'stop' and 'status' functionality added PR: 277540 Reported by: trashcan@ellael.org --- dns/knot-resolver/Makefile | 3 +- dns/knot-resolver/distinfo | 6 ++-- dns/knot-resolver/files/krescachegc.in | 52 ++++++++++++++++++++++++++++++---- dns/knot-resolver/files/kresd.in | 52 ++++++++++++++++++---------------- dns/knot-resolver/pkg-plist | 2 +- 5 files changed, 79 insertions(+), 36 deletions(-) diff --git a/dns/knot-resolver/Makefile b/dns/knot-resolver/Makefile index 9bb5b7bf6fb0..9de847ea9946 100644 --- a/dns/knot-resolver/Makefile +++ b/dns/knot-resolver/Makefile @@ -1,6 +1,5 @@ PORTNAME= knot-resolver -DISTVERSION= 5.7.2 -PORTREVISION= 1 +DISTVERSION= 5.7.3 CATEGORIES= dns MASTER_SITES= https://secure.nic.cz/files/knot-resolver/ \ https://dns.company/downloads/knot-resolver/ diff --git a/dns/knot-resolver/distinfo b/dns/knot-resolver/distinfo index b06f3c43b9c4..837708ed2a7d 100644 --- a/dns/knot-resolver/distinfo +++ b/dns/knot-resolver/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1713104201 -SHA256 (knot-resolver-5.7.2.tar.xz) = 5f6a227390fcd4c2d0a8028a652b55a9d863ec7be01298fe038df1d273fb9a0f -SIZE (knot-resolver-5.7.2.tar.xz) = 1928336 +TIMESTAMP = 1722850725 +SHA256 (knot-resolver-5.7.3.tar.xz) = efc6e45ffc5efd98921ea5cd3fece166a1a5ce9eaa12d41b46268964353dbedb +SIZE (knot-resolver-5.7.3.tar.xz) = 1930732 diff --git a/dns/knot-resolver/files/krescachegc.in b/dns/knot-resolver/files/krescachegc.in index 40334bea0bdc..8b04fc0686e4 100644 --- a/dns/knot-resolver/files/krescachegc.in +++ b/dns/knot-resolver/files/krescachegc.in @@ -18,16 +18,58 @@ name=krescachegc rcvar=krescachegc_enable load_rc_config ${name} +load_rc_config_var kresd rundir +load_rc_config_var kresd user -# set defaults -krescachegc_enable=${krescachegc_enable:-"NO"} +: ${krescachegc_enable:="NO"} : ${krescachegc_svcj_options:="net_basic"} -krescachegc_millis=${krescachegc_millis:-"1000"} +: ${krescachegc_millis:="1000"} +: ${kresd_rundir:="/var/run/kresd"} +: ${kresd_user:="%%USERS%%"} -pidfile="%%RUNDIR%%/${name}.pid" procname="%%PREFIX%%/sbin/kres-cache-gc" +start_cmd="${name}_start" +stop_cmd="${name}_stop" +status_cmd="${name}_status" + command=/usr/sbin/daemon -command_args="-c -f -S -r -P ${pidfile} -T ${name} -u %%USERS%% -- ${procname} -d ${krescachegc_millis}" +command_args="-c -f -r -S -u ${kresd_user} -T ${name} -- ${procname} -c ${kresd_rundir} -d ${krescachegc_millis}" + +krescachegc_start() { + /bin/pgrep -f ${procname} > /dev/null && status="$?" || status="$?" + if [ "${status}" -eq 0 ]; then + echo "${name} already seems to be running." + else + echo "starting ${name}..." && \ + ${command} ${command_args} + echo -e "\e[1A\e[K${name} started." + fi + } + +krescachegc_status() { + /bin/pgrep -f ${procname} > /dev/null && status="$?" || status="$?" + if [ "${status}" -eq 0 ]; then + echo "${name} is running:" + echo + /bin/ps -p $(/bin/pgrep -f ${procname}) + else + echo "${name} is not running" + fi + return ${status} + } + +krescachegc_stop() { + /bin/pgrep -f ${procname} > /dev/null && status="$?" || status="$?" + if [ "${status}" -eq 0 ]; then + echo "stopping ${name}..." && \ + /bin/pkill -TERM -f ${procname} + echo -e "\e[1A\e[K${name} stopped." + + else + echo "${name} is not running" + fi + return ${status} + } run_rc_command "$1" diff --git a/dns/knot-resolver/files/kresd.in b/dns/knot-resolver/files/kresd.in index 0ddd5d332466..c322d5e85470 100644 --- a/dns/knot-resolver/files/kresd.in +++ b/dns/knot-resolver/files/kresd.in @@ -20,57 +20,59 @@ rcvar=kresd_enable load_rc_config ${name} -# set defaults -kresd_enable=${kresd_enable:-"NO"} +: ${kresd_enable:="NO"} : ${kresd_svcj_options:="net_basic"} -kresd_config=${kresd_config:-"%%ETCDIR%%/${name}.conf"} -kresd_user="%%USERS%%" -kresd_group="%%GROUPS%%" -kresd_rundir="/var/run/${name}" +: ${kresd_config:="%%ETCDIR%%/${name}.conf"} +: ${kresd_user:="%%USERS%%"} +: ${kresd_group:="%%GROUPS%%"} +: ${kresd_rundir:="%%RUNDIR%%"} -pidfile="${kresd_rundir}/${name}.pid" procname="%%PREFIX%%/sbin/${name}" required_files="${kresd_config}" start_cmd="${name}_start" +status_cmd="${name}_status" stop_cmd="${name}_stop" command="/usr/sbin/daemon" -command_args="-c -f -S -r -P ${pidfile} -T ${name} -- ${procname} -c ${kresd_config} -n -q ${kresd_rundir}" +command_args="-c -f -r -S -T ${name} -- ${procname} -c ${kresd_config} -n -q ${kresd_rundir}" kresd_start() { if [ ! -d /var/run/${name} ]; then install -d -o ${kresd_user} -g ${kresd_group} -m 700 ${kresd_rundir} fi - if [ ! -f "${pidfile}" ]; then + /bin/pgrep -f ${procname} > /dev/null && status="$?" || status="$?" + if [ "${status}" -eq 0 ]; then + echo "${name} already seems to be running." + else echo "starting ${name}..." && \ ${command} ${command_args} echo -e "\e[1A\e[K${name} started." + fi + } + +kresd_status() { + /bin/pgrep -f ${procname} > /dev/null && status="$?" || status="$?" + if [ "${status}" -eq 0 ]; then + echo "${name} is running:" + echo + /bin/ps -p $(/bin/pgrep -f ${procname}) else - echo "${name} already seems to be running." + echo "${name} is not running" fi + return ${status} } kresd_stop() { - if [ -f "${pidfile}" ]; then + /bin/pgrep -f ${procname} > /dev/null && status="$?" || status="$?" + if [ "${status}" -eq 0 ]; then echo "stopping ${name}..." && \ - for pid in `ps waux | grep ${procname} | grep daemon | awk '{print $2}'`; do \ - kill -TERM $pid - done + /bin/pkill -TERM -f ${procname} echo -e "\e[1A\e[K${name} stopped." else - echo "${name} seems to be not running." + echo "${name} is not running" fi + return ${status} } -kresd_status() { - if [ -e "${pidfile}" ]; then - echo "${name} is running on pid $(cat $pidfile)." - return 1 - else - echo "${name} is not running." - return 0 - fi -} - run_rc_command "$1" diff --git a/dns/knot-resolver/pkg-plist b/dns/knot-resolver/pkg-plist index 769c84a35f19..7ee88fee52b1 100644 --- a/dns/knot-resolver/pkg-plist +++ b/dns/knot-resolver/pkg-plist @@ -96,4 +96,4 @@ sbin/kres-cache-gc sbin/kresc sbin/kresd @dir(%%USERS%%,%%GROUPS%%,0755) %%ETCDIR%% -@dir(%%USERS%%,%%GROUPS%%,0660) %%RUNDIR%% +@dir(%%USERS%%,%%GROUPS%%,0700) %%RUNDIR%%