#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
# Copyright (C) 2021-2022  sirpdboy  <herboy2008@gmail.com> https://github.com/sirpdboy/luci-app-cupsd


START=99
USE_PROCD=1

PROG=/usr/sbin/cupsd

get_config() {
	config_get_bool enabled $1 enabled 1
	config_get_bool logger $1 logger 1
	config_get port $1 port 631
}

start_service() {
	config_load cupsd
	config_foreach get_config cupsd
	[ x$enabled == x1 ] || return 1
	sed -i "s/Port.*/Port ${port}/g"  /etc/cups/cupsd.conf
	[ -d /var/cache/cups ] || mkdir -m 0755 -p /var/cache/cups
	[ -d /var/cups ] || mkdir -m 0755 -p /var/cups
	[ -d /var/spool/cups/tmp ] || mkdir -m 0755 -p /var/spool/cups/tmp
	procd_open_instance
	procd_set_param command $PROG -f
	[ "x$logger" == x1 ] && procd_set_param stderr 1
	procd_set_param respawn
	procd_close_instance
}

service_triggers() {
	procd_add_reload_trigger "cupsd"
}
