diff mbox

sane-backends: add systemd support

Message ID 1444150432-23644-1-git-send-email-Vincent.Riera@imgtec.com
State Superseded
Headers show

Commit Message

Vicente Olivert Riera Oct. 6, 2015, 4:53 p.m. UTC
The content and the location 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>
---
Notes to the maintainer:
  - This patch is meant to be applied after:
    http://patchwork.ozlabs.org/patch/526815/

 package/sane-backends/sane-backends.mk |   14 ++++++++++++++
 package/sane-backends/saned.socket     |   10 ++++++++++
 package/sane-backends/saned@.service   |   18 ++++++++++++++++++
 3 files changed, 42 insertions(+), 0 deletions(-)
 create mode 100644 package/sane-backends/saned.socket
 create mode 100644 package/sane-backends/saned@.service

Comments

Thomas Petazzoni Oct. 10, 2015, 10:05 a.m. UTC | #1
Maxime,

Can you review/ack the below patch?

Thanks,

Thomas

On Tue, 6 Oct 2015 17:53:52 +0100, Vicente Olivert Riera wrote:
> The content and the location 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>
> ---
> Notes to the maintainer:
>   - This patch is meant to be applied after:
>     http://patchwork.ozlabs.org/patch/526815/
> 
>  package/sane-backends/sane-backends.mk |   14 ++++++++++++++
>  package/sane-backends/saned.socket     |   10 ++++++++++
>  package/sane-backends/saned@.service   |   18 ++++++++++++++++++
>  3 files changed, 42 insertions(+), 0 deletions(-)
>  create mode 100644 package/sane-backends/saned.socket
>  create mode 100644 package/sane-backends/saned@.service
> 
> diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk
> index 0c0b5a9..82b5052 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
> @@ -50,4 +57,11 @@ endef
>  
>  SANE_BACKENDS_POST_CONFIGURE_HOOKS += SANE_BACKENDS_DISABLE_DOCS
>  
> +define SANE_BACKENDS_INSTALL_INIT_SYSTEMD
> +	$(INSTALL) -m 0644 -D package/sane-backends/saned.socket \
> +		$(TARGET_DIR)/etc/systemd/system/saned.socket
> +	$(INSTALL) -m 0644 -D package/sane-backends/saned@.service \
> +		$(TARGET_DIR)/etc/systemd/system/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 0000000..1aa19e7
> --- /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 0000000..1905dbf
> --- /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
Maxime Hadjinlian Oct. 10, 2015, 3:17 p.m. UTC | #2
Hi Vicente, all

On Sat, Oct 10, 2015 at 12:05 PM, Thomas Petazzoni <
thomas.petazzoni@free-electrons.com> wrote:

> Maxime,
>
> Can you review/ack the below patch?
>
> Thanks,
>
> Thomas
>
> On Tue, 6 Oct 2015 17:53:52 +0100, Vicente Olivert Riera wrote:
> > The content and the location 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>
> > ---
> > Notes to the maintainer:
> >   - This patch is meant to be applied after:
> >     http://patchwork.ozlabs.org/patch/526815/
> >
> >  package/sane-backends/sane-backends.mk |   14 ++++++++++++++
> >  package/sane-backends/saned.socket     |   10 ++++++++++
> >  package/sane-backends/saned@.service   |   18 ++++++++++++++++++
> >  3 files changed, 42 insertions(+), 0 deletions(-)
> >  create mode 100644 package/sane-backends/saned.socket
> >  create mode 100644 package/sane-backends/saned@.service
> >
> > diff --git a/package/sane-backends/sane-backends.mk
> b/package/sane-backends/sane-backends.mk
> > index 0c0b5a9..82b5052 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
> > @@ -50,4 +57,11 @@ endef
> >
> >  SANE_BACKENDS_POST_CONFIGURE_HOOKS += SANE_BACKENDS_DISABLE_DOCS
> >
> > +define SANE_BACKENDS_INSTALL_INIT_SYSTEMD
> > +     $(INSTALL) -m 0644 -D package/sane-backends/saned.socket \
> > +             $(TARGET_DIR)/etc/systemd/system/saned.socket
> > +     $(INSTALL) -m 0644 -D package/sane-backends/saned@.service \
> > +             $(TARGET_DIR)/etc/systemd/system/saned@.service
> > +endef
>
Regarding the installation of the services, I would prefer them to be
installed in /usr/lib/systemd/system like the rest of our scripts, and
create the link in /etc/systemd/system/, this way, if you want to
enable/disable the target on the device, it'll only create/delete a
symbolic link.
I'll try to create a helper for that, we have this kind of code copy/pasted
way too many times.

> > +
> >  $(eval $(autotools-package))
> > diff --git a/package/sane-backends/saned.socket
> b/package/sane-backends/saned.socket
> > new file mode 100644
> > index 0000000..1aa19e7
> > --- /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 0000000..1905dbf
> > --- /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
>
You are using a user and a group, but I don't see it created anywhere in
the mk file, is it missing or am I missing something ?

> > +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
>
>
>
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
>
diff mbox

Patch

diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk
index 0c0b5a9..82b5052 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
@@ -50,4 +57,11 @@  endef
 
 SANE_BACKENDS_POST_CONFIGURE_HOOKS += SANE_BACKENDS_DISABLE_DOCS
 
+define SANE_BACKENDS_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -m 0644 -D package/sane-backends/saned.socket \
+		$(TARGET_DIR)/etc/systemd/system/saned.socket
+	$(INSTALL) -m 0644 -D package/sane-backends/saned@.service \
+		$(TARGET_DIR)/etc/systemd/system/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 0000000..1aa19e7
--- /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 0000000..1905dbf
--- /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