summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVicente Olivert Riera <Vincent.Riera@imgtec.com>2015-10-13 11:18:13 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-10-28 01:58:28 +0100
commit230c9f567f5bee1f636d610be4d16e668737d279 (patch)
tree421d49dfc9e7e468bde2bf9b3ed6ab54743707b6
parent83cd80d580651ec6e7bd68ddcc161ba2f4272102 (diff)
downloadbuildroot-230c9f567f5bee1f636d610be4d16e668737d279.tar.gz
buildroot-230c9f567f5bee1f636d610be4d16e668737d279.zip
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>
-rw-r--r--package/sane-backends/sane-backends.mk24
-rw-r--r--package/sane-backends/saned.socket10
-rw-r--r--package/sane-backends/saned@.service18
3 files changed, 52 insertions, 0 deletions
diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk
index e980929345..37e5136c11 100644
--- a/package/sane-backends/sane-backends.mk
+++ b/package/sane-backends/sane-backends.mk
@@ -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))
diff --git a/package/sane-backends/saned.socket b/package/sane-backends/saned.socket
new file mode 100644
index 0000000000..1aa19e703c
--- /dev/null
+++ b/package/sane-backends/saned.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=saned incoming socket
+
+[Socket]
+ListenStream=6566
+Accept=yes
+MaxConnections=1
+
+[Install]
+WantedBy=sockets.target
diff --git a/package/sane-backends/saned@.service b/package/sane-backends/saned@.service
new file mode 100644
index 0000000000..1905dbf5e2
--- /dev/null
+++ b/package/sane-backends/saned@.service
@@ -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
OpenPOWER on IntegriCloud