diff mbox series

[v3,1/7] package/cups-filters: fix cups-browsed service

Message ID 20200624204347.797088-2-angelo@amarulasolutions.com
State Accepted
Headers show
Series Cups revamp | expand

Commit Message

Angelo Compagnucci June 24, 2020, 8:43 p.m. UTC
cups-browsed service is compiled and installed by the package,
but the corresponding services file were not installed for
systemv and systemd.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/cups-filters/S82cups-browsed | 48 ++++++++++++++++++++++++++++
 package/cups-filters/cups-filters.mk | 13 +++++++-
 2 files changed, 60 insertions(+), 1 deletion(-)
 create mode 100644 package/cups-filters/S82cups-browsed

Comments

Thomas Petazzoni June 29, 2020, 9:10 p.m. UTC | #1
Hello,

On Wed, 24 Jun 2020 22:43:41 +0200
Angelo Compagnucci <angelo@amarulasolutions.com> wrote:

> cups-browsed service is compiled and installed by the package,
> but the corresponding services file were not installed for
> systemv and systemd.
> 
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>

I've applied, after tweaking a bit the commit title and commit log, as
well as after replacing --with-rcdir=no by --without-rcdir, as we use
the --without-XYZ in Buildroot in general.

Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/cups-filters/S82cups-browsed b/package/cups-filters/S82cups-browsed
new file mode 100644
index 0000000000..08909c7f98
--- /dev/null
+++ b/package/cups-filters/S82cups-browsed
@@ -0,0 +1,48 @@ 
+#!/bin/sh
+
+DAEMON="cups-browsed"
+PIDFILE="/var/run/$DAEMON.pid"
+
+start() {
+	printf 'Starting %s: ' "$DAEMON"
+	# shellcheck disable=SC2086 # we need the word splitting
+	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \
+		-- -c /etc/cups/cups-browsed.conf
+	status=$?
+	if [ "$status" -eq 0 ]; then
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return "$status"
+}
+
+stop() {
+	printf 'Stopping %s: ' "$DAEMON"
+	start-stop-daemon -K -q -p "$PIDFILE"
+	status=$?
+	if [ "$status" -eq 0 ]; then
+		rm -f "$PIDFILE"
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return "$status"
+}
+
+restart() {
+	stop
+	sleep 1
+	start
+}
+
+case "$1" in
+	start|stop|restart)
+		"$1";;
+	reload)
+		# Restart, since there is no true "reload" feature.
+		restart;;
+	*)
+		echo "Usage: $0 {start|stop|restart|reload}"
+		exit 1
+esac
diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk
index 1f17018bc5..0a2622b87b 100644
--- a/package/cups-filters/cups-filters.mk
+++ b/package/cups-filters/cups-filters.mk
@@ -19,7 +19,8 @@  CUPS_FILTERS_CONF_OPTS = \
 	--with-cups-config=$(STAGING_DIR)/usr/bin/cups-config \
 	--with-sysroot=$(STAGING_DIR) \
 	--with-pdftops=pdftops \
-	--with-jpeg
+	--with-jpeg \
+	--with-rcdir=no
 
 ifeq ($(BR2_PACKAGE_LIBPNG),y)
 CUPS_FILTERS_CONF_OPTS += --with-png
@@ -71,4 +72,14 @@  else
 CUPS_FILTERS_CONF_OPTS += --disable-poppler
 endif
 
+define CUPS_FILTERS_INSTALL_INIT_SYSV
+	$(INSTALL) -D -m 0755 package/cups-filters/S82cups-browsed \
+		$(TARGET_DIR)/etc/init.d/S82cups-browsed
+endef
+
+define CUPS_FILTERS_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 0755 $(@D)/utils/cups-browsed.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/cups-browsed.service
+endef
+
 $(eval $(autotools-package))