Commit 230c9f56 authored by Vicente Olivert Riera's avatar Vicente Olivert Riera Committed by Thomas Petazzoni
Browse files

sane-backends: add systemd support



The content of the saned.socket and saned@.service files is based on the
instructions of the sane-backends manual.

Signed-off-by: default avatarVicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: default avatar"Maxime Hadjinlian" <maxime.hadjinlian@gmail.com>
Tested-by: default avatar"Maxime Hadjinlian" <maxime.hadjinlian@gmail.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 83cd80d5
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -14,6 +14,13 @@ SANE_BACKENDS_INSTALL_STAGING = YES
SANE_BACKENDS_CONF_OPTS = \
	$(if $(BR2_TOOLCHAIN_HAS_THREADS),--enable-pthread,--disable-pthread)

ifeq ($(BR2_INIT_SYSTEMD),y)
SANE_BACKENDS_CONF_OPTS += --with-systemd
SANE_BACKENDS_DEPENDENCIES += systemd
else
SANE_BACKENDS_CONF_OPTS += --without-systemd
endif

ifeq ($(BR2_PACKAGE_LIBUSB),y)
SANE_BACKENDS_DEPENDENCIES += libusb
SANE_BACKENDS_CONF_OPTS += --enable-libusb_1_0
@@ -51,4 +58,21 @@ endef

SANE_BACKENDS_POST_CONFIGURE_HOOKS += SANE_BACKENDS_DISABLE_DOCS

define SANE_BACKENDS_USERS
	saned -1 saned -1 * /etc/sane.d - - Saned User
endef

define SANE_BACKENDS_INSTALL_INIT_SYSTEMD
	$(INSTALL) -m 0644 -D package/sane-backends/saned.socket \
		$(TARGET_DIR)/usr/lib/systemd/system/saned.socket
	mkdir -p $(TARGET_DIR)/etc/systemd/system/socket.target.wants
	ln -sf ../../../../usr/lib/systemd/system/saned.socket \
		$(TARGET_DIR)/etc/systemd/system/socket.target.wants/saned.socket
	$(INSTALL) -m 0644 -D package/sane-backends/saned@.service \
		$(TARGET_DIR)/usr/lib/systemd/system/saned@.service
	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
	ln -sf ../../../../usr/lib/systemd/system/saned@.service \
		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/saned@.service
endef

$(eval $(autotools-package))
+10 −0
Original line number Diff line number Diff line
[Unit]
Description=saned incoming socket

[Socket]
ListenStream=6566
Accept=yes
MaxConnections=1

[Install]
WantedBy=sockets.target
+18 −0
Original line number Diff line number Diff line
[Unit]
Description=Scanner Service
Requires=saned.socket

[Service]
ExecStart=/usr/sbin/saned
User=saned
Group=saned
StandardInput=null
StandardOutput=syslog
StandardError=syslog
Environment=SANE_CONFIG_DIR=/etc/sane.d
# If you need to debug your configuration uncomment the next line and
# change it as appropriate to set the desired debug options
# Environment=SANE_DEBUG_DLL=255 SANE_DEBUG_BJNP=5

[Install]
Also=saned.socket