package/cups-filters: improve cups-browsed init integration

cups-browsed service is compiled and installed by the package,
but the corresponding services file were not installed for
systemv and systemd.

Specifying --without-rcdir allows to not install the init script
provided with cups-filters, and we provide our own,
Buildroot-compatible init script.

For systemd, we install the upstream-provided service file.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Angelo Compagnucci 2020-06-24 22:43:41 +02:00 committed by Thomas Petazzoni
parent 25129ad3c2
commit 2fe54a4536
2 changed files with 60 additions and 1 deletions

View file

@ -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

View file

@ -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 \
--without-rcdir
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))