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: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: "Maxime Hadjinlian" <maxime.hadjinlian@gmail.com>
Tested-by: "Maxime Hadjinlian" <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Vicente Olivert Riera 2015-10-13 11:18:13 +01:00 committed by Thomas Petazzoni
parent 83cd80d580
commit 230c9f567f
3 changed files with 52 additions and 0 deletions

View file

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

View file

@ -0,0 +1,10 @@
[Unit]
Description=saned incoming socket
[Socket]
ListenStream=6566
Accept=yes
MaxConnections=1
[Install]
WantedBy=sockets.target

View file

@ -0,0 +1,18 @@
[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