Re: [ndctl PATCH v11 3/5] ndctl, monitor: add the unit file of systemd for ndctl-monitor service

2018-07-13 Thread Masayoshi Mizuma
Hi Qi,

On 07/13/2018 08:57 AM, Qi, Fuli wrote:
>> -Original Message-
>> From: Verma, Vishal L [mailto:vishal.l.ve...@intel.com]
>> Sent: Friday, July 13, 2018 11:47 AM
>> To: linux-nvdimm@lists.01.org; Qi, Fuli/斉 福利 
>> Subject: Re: [ndctl PATCH v11 3/5] ndctl, monitor: add the unit file of 
>> systemd for
>> ndctl-monitor service
>>
>>
>> On Wed, 2018-07-11 at 12:00 +0900, QI Fuli wrote:
>>> This patch adds the systemd unit file for ndctl-monitor service.
>>> The systemd unit directory can be configured by setting environment
>>> variable "--with-systemd-unit-dir[=DIR]".
>>>
>>> A monitor daemon can be started as a system service:
>>># systemctl start ndctl-monitor.service
>>>
>>> Signed-off-by: QI Fuli 
>>> ---
>>>  autogen.sh  |  3 ++-
>>>  configure.ac| 22 ++
>>>  ndctl/Makefile.am   |  4 
>>>  ndctl/ndctl-monitor.service |  7 +++
>>>  4 files changed, 35 insertions(+), 1 deletion(-)  create mode 100644
>>> ndctl/ndctl-monitor.service
>>
>> We install the service unit file when doing a 'make install', but I think 
>> this also
>> needs an update to the RPM spec file so that RPM knows about this too.
>>
> 
> Yes, I think both the configuration file and the service unit file are need 
> to update the
> RPM spec file. I knew that hard code the path of the files is not right, and 
> I tried to
> add %{_monitor_configdir}/monitor.conf and 
> %{_systemd_unitdir}/ndctl-monitor.service in ndctl.spec.in,
> but I got failed. Would you please tell me how to update the RPM spec file?

How about the following?

diff --git a/ndctl.spec.in b/ndctl.spec.in
index e2c879c..07b85a3 100644
--- a/ndctl.spec.in
+++ b/ndctl.spec.in
@@ -116,6 +116,8 @@ make check
 %{_bindir}/ndctl
 %{_mandir}/man1/ndctl*
 %{bashcompdir}/
+%{_sysconfdir}/ndctl/monitor.conf
+%{_unitdir}/ndctl-monitor.service
 
 %files -n daxctl
 %defattr(-,root,root)

Thanks,
Masa

> 
> Thank you very much.
> QI
> 
>>>
>>> diff --git a/autogen.sh b/autogen.sh
>>> index 2a52688..21b0e25 100755
>>> --- a/autogen.sh
>>> +++ b/autogen.sh
>>> @@ -17,7 +17,8 @@ libdir() {
>>>
>>>  args="--prefix=/usr \
>>>  --sysconfdir=/etc \
>>> ---libdir=$(libdir /usr/lib)"
>>> +--libdir=$(libdir /usr/lib) \
>>> +--with-systemd-unit-dir"
>>>
>>>  echo
>>>  echo "
>>> "
>>> diff --git a/configure.ac b/configure.ac index cf44260..a5ba9a1 100644
>>> --- a/configure.ac
>>> +++ b/configure.ac
>>> @@ -143,6 +143,27 @@ AC_CHECK_FUNCS([ \
>>> secure_getenv\
>>>  ])
>>>
>>> +PKG_PROG_PKG_CONFIG
>>> +AC_ARG_WITH([systemd-unit-dir],
>>> +   AS_HELP_STRING([--with-systemd-unit-dir[=DIR]],
>>> +   [Directory for systemd service files]),
>>> +   [],
>>> +   [with_systemd_unit_dir=yes])
>>> +
>>> +if test "x$with_systemd_unit_dir" = "xyes"; then
>>> +   def_systemd_unit_dir=$($PKG_CONFIG --
>>> variable=systemdsystemunitdir systemd)
>>> +   if test "x$def_systemd_unit_dir" = "x"; then
>>> +   AC_MSG_ERROR([systemd support requested but pkg-
>>> config unable to query systemd package])
>>> +   with_systemd_unit_dir=no
>>> +   else
>>> +   with_systemd_unit_dir="$def_systemd_unit_dir"
>>> +   fi
>>> +fi
>>> +
>>> +AS_IF([test "x$with_systemd_unit_dir" != "xno"],
>>> +   [AC_SUBST([systemd_unitdir], [$with_systemd_unit_dir])])
>>> +AM_CONDITIONAL([ENABLE_SYSTEMD_UNIT_DIR], [test
>>> "x$with_systemd_unit_dir" != "xno"])
>>> +
>>>  my_CFLAGS="\
>>>  -Wall \
>>>  -Wchar-subscripts \
>>> @@ -184,6 +205,7 @@ AC_MSG_RESULT([
>>>  sysconfdir: ${sysconfdir}
>>>  libdir: ${libdir}
>>>  includedir: ${includedir}
>>> +   systemd-unit-dir:   ${systemd_unitdir}
>>>
>>>  compiler:   ${CC}
>>>  cflags: ${CFLAGS}
>>> diff --git a/ndctl/Makefile.am b/ndctl/Makefile.am index
>>> ae3d894..9d008d5 100644
>>> --- a/ndctl/Makefile.am
>>> +++ b/ndctl/Makefile.am
>>> @@ -47,3 +47,7 @@ monitor_config_file = monitor.conf
>>> monitor_configdir = /etc/ndctl/  monitor_config_DATA =
>>> $(monitor_config_file)  EXTRA_DIST += $(monitor_config_file)
>>> +
>>> +if ENABLE_SYSTEMD_UNIT_DIR
>>> +systemd_unit_DATA = ndctl-monitor.service endif
>>> diff --git a/ndctl/ndctl-monitor.service b/ndctl/ndctl-
>>> monitor.service new file mode 100644 index 000..44f9326
>>> --- /dev/null
>>> +++ b/ndctl/ndctl-monitor.service
>>> @@ -0,0 +1,7 @@
>>> +[Unit]
>>> +Description=Ndctl Monitor Daemon
>>> +
>>> +[Service]
>>> +Type=forking
>>> +ExecStart=/usr/bin/ndctl monitor --daemon ExecStop=/bin/kill
>>> +${MAINPID}
> ___
> Linux-nvdimm mailing list
> Linux-nvdimm@lists.01.org
> https://lists.01.org/mailman/listinfo/linux-nvdimm
> 
___
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm


RE: [ndctl PATCH v11 3/5] ndctl, monitor: add the unit file of systemd for ndctl-monitor service

2018-07-13 Thread Qi, Fuli
> -Original Message-
> From: Verma, Vishal L [mailto:vishal.l.ve...@intel.com]
> Sent: Friday, July 13, 2018 11:47 AM
> To: linux-nvdimm@lists.01.org; Qi, Fuli/斉 福利 
> Subject: Re: [ndctl PATCH v11 3/5] ndctl, monitor: add the unit file of 
> systemd for
> ndctl-monitor service
> 
> 
> On Wed, 2018-07-11 at 12:00 +0900, QI Fuli wrote:
> > This patch adds the systemd unit file for ndctl-monitor service.
> > The systemd unit directory can be configured by setting environment
> > variable "--with-systemd-unit-dir[=DIR]".
> >
> > A monitor daemon can be started as a system service:
> ># systemctl start ndctl-monitor.service
> >
> > Signed-off-by: QI Fuli 
> > ---
> >  autogen.sh  |  3 ++-
> >  configure.ac| 22 ++
> >  ndctl/Makefile.am   |  4 
> >  ndctl/ndctl-monitor.service |  7 +++
> >  4 files changed, 35 insertions(+), 1 deletion(-)  create mode 100644
> > ndctl/ndctl-monitor.service
> 
> We install the service unit file when doing a 'make install', but I think 
> this also
> needs an update to the RPM spec file so that RPM knows about this too.
> 

Yes, I think both the configuration file and the service unit file are need to 
update the
RPM spec file. I knew that hard code the path of the files is not right, and I 
tried to
add %{_monitor_configdir}/monitor.conf and 
%{_systemd_unitdir}/ndctl-monitor.service in ndctl.spec.in,
but I got failed. Would you please tell me how to update the RPM spec file?

Thank you very much.
QI

> >
> > diff --git a/autogen.sh b/autogen.sh
> > index 2a52688..21b0e25 100755
> > --- a/autogen.sh
> > +++ b/autogen.sh
> > @@ -17,7 +17,8 @@ libdir() {
> >
> >  args="--prefix=/usr \
> >  --sysconfdir=/etc \
> > ---libdir=$(libdir /usr/lib)"
> > +--libdir=$(libdir /usr/lib) \
> > +--with-systemd-unit-dir"
> >
> >  echo
> >  echo "
> > "
> > diff --git a/configure.ac b/configure.ac index cf44260..a5ba9a1 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -143,6 +143,27 @@ AC_CHECK_FUNCS([ \
> > secure_getenv\
> >  ])
> >
> > +PKG_PROG_PKG_CONFIG
> > +AC_ARG_WITH([systemd-unit-dir],
> > +   AS_HELP_STRING([--with-systemd-unit-dir[=DIR]],
> > +   [Directory for systemd service files]),
> > +   [],
> > +   [with_systemd_unit_dir=yes])
> > +
> > +if test "x$with_systemd_unit_dir" = "xyes"; then
> > +   def_systemd_unit_dir=$($PKG_CONFIG --
> > variable=systemdsystemunitdir systemd)
> > +   if test "x$def_systemd_unit_dir" = "x"; then
> > +   AC_MSG_ERROR([systemd support requested but pkg-
> > config unable to query systemd package])
> > +   with_systemd_unit_dir=no
> > +   else
> > +   with_systemd_unit_dir="$def_systemd_unit_dir"
> > +   fi
> > +fi
> > +
> > +AS_IF([test "x$with_systemd_unit_dir" != "xno"],
> > +   [AC_SUBST([systemd_unitdir], [$with_systemd_unit_dir])])
> > +AM_CONDITIONAL([ENABLE_SYSTEMD_UNIT_DIR], [test
> > "x$with_systemd_unit_dir" != "xno"])
> > +
> >  my_CFLAGS="\
> >  -Wall \
> >  -Wchar-subscripts \
> > @@ -184,6 +205,7 @@ AC_MSG_RESULT([
> >  sysconfdir: ${sysconfdir}
> >  libdir: ${libdir}
> >  includedir: ${includedir}
> > +   systemd-unit-dir:   ${systemd_unitdir}
> >
> >  compiler:   ${CC}
> >  cflags: ${CFLAGS}
> > diff --git a/ndctl/Makefile.am b/ndctl/Makefile.am index
> > ae3d894..9d008d5 100644
> > --- a/ndctl/Makefile.am
> > +++ b/ndctl/Makefile.am
> > @@ -47,3 +47,7 @@ monitor_config_file = monitor.conf
> > monitor_configdir = /etc/ndctl/  monitor_config_DATA =
> > $(monitor_config_file)  EXTRA_DIST += $(monitor_config_file)
> > +
> > +if ENABLE_SYSTEMD_UNIT_DIR
> > +systemd_unit_DATA = ndctl-monitor.service endif
> > diff --git a/ndctl/ndctl-monitor.service b/ndctl/ndctl-
> > monitor.service new file mode 100644 index 000..44f9326
> > --- /dev/null
> > +++ b/ndctl/ndctl-monitor.service
> > @@ -0,0 +1,7 @@
> > +[Unit]
> > +Description=Ndctl Monitor Daemon
> > +
> > +[Service]
> > +Type=forking
> > +ExecStart=/usr/bin/ndctl monitor --daemon ExecStop=/bin/kill
> > +${MAINPID}
___
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm


Re: [ndctl PATCH v11 3/5] ndctl, monitor: add the unit file of systemd for ndctl-monitor service

2018-07-12 Thread Verma, Vishal L


On Wed, 2018-07-11 at 12:00 +0900, QI Fuli wrote:
> This patch adds the systemd unit file for ndctl-monitor service.
> The systemd unit directory can be configured by setting environment
> variable "--with-systemd-unit-dir[=DIR]".
> 
> A monitor daemon can be started as a system service:
># systemctl start ndctl-monitor.service
> 
> Signed-off-by: QI Fuli 
> ---
>  autogen.sh  |  3 ++-
>  configure.ac| 22 ++
>  ndctl/Makefile.am   |  4 
>  ndctl/ndctl-monitor.service |  7 +++
>  4 files changed, 35 insertions(+), 1 deletion(-)
>  create mode 100644 ndctl/ndctl-monitor.service

We install the service unit file when doing a 'make install', but I
think this also needs an update to the RPM spec file so that RPM knows
about this too.

> 
> diff --git a/autogen.sh b/autogen.sh
> index 2a52688..21b0e25 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -17,7 +17,8 @@ libdir() {
>  
>  args="--prefix=/usr \
>  --sysconfdir=/etc \
> ---libdir=$(libdir /usr/lib)"
> +--libdir=$(libdir /usr/lib) \
> +--with-systemd-unit-dir"
>  
>  echo
>  echo "
> "
> diff --git a/configure.ac b/configure.ac
> index cf44260..a5ba9a1 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -143,6 +143,27 @@ AC_CHECK_FUNCS([ \
>   secure_getenv\
>  ])
>  
> +PKG_PROG_PKG_CONFIG
> +AC_ARG_WITH([systemd-unit-dir],
> + AS_HELP_STRING([--with-systemd-unit-dir[=DIR]],
> + [Directory for systemd service files]),
> + [],
> + [with_systemd_unit_dir=yes])
> +
> +if test "x$with_systemd_unit_dir" = "xyes"; then
> + def_systemd_unit_dir=$($PKG_CONFIG --
> variable=systemdsystemunitdir systemd)
> + if test "x$def_systemd_unit_dir" = "x"; then
> + AC_MSG_ERROR([systemd support requested but pkg-
> config unable to query systemd package])
> + with_systemd_unit_dir=no
> + else
> + with_systemd_unit_dir="$def_systemd_unit_dir"
> + fi
> +fi
> +
> +AS_IF([test "x$with_systemd_unit_dir" != "xno"],
> + [AC_SUBST([systemd_unitdir], [$with_systemd_unit_dir])])
> +AM_CONDITIONAL([ENABLE_SYSTEMD_UNIT_DIR], [test
> "x$with_systemd_unit_dir" != "xno"])
> +
>  my_CFLAGS="\
>  -Wall \
>  -Wchar-subscripts \
> @@ -184,6 +205,7 @@ AC_MSG_RESULT([
>  sysconfdir: ${sysconfdir}
>  libdir: ${libdir}
>  includedir: ${includedir}
> + systemd-unit-dir:   ${systemd_unitdir}
>  
>  compiler:   ${CC}
>  cflags: ${CFLAGS}
> diff --git a/ndctl/Makefile.am b/ndctl/Makefile.am
> index ae3d894..9d008d5 100644
> --- a/ndctl/Makefile.am
> +++ b/ndctl/Makefile.am
> @@ -47,3 +47,7 @@ monitor_config_file = monitor.conf
>  monitor_configdir = /etc/ndctl/
>  monitor_config_DATA = $(monitor_config_file)
>  EXTRA_DIST += $(monitor_config_file)
> +
> +if ENABLE_SYSTEMD_UNIT_DIR
> +systemd_unit_DATA = ndctl-monitor.service
> +endif
> diff --git a/ndctl/ndctl-monitor.service b/ndctl/ndctl-
> monitor.service
> new file mode 100644
> index 000..44f9326
> --- /dev/null
> +++ b/ndctl/ndctl-monitor.service
> @@ -0,0 +1,7 @@
> +[Unit]
> +Description=Ndctl Monitor Daemon
> +
> +[Service]
> +Type=forking
> +ExecStart=/usr/bin/ndctl monitor --daemon
> +ExecStop=/bin/kill ${MAINPID}
___
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm


[ndctl PATCH v11 3/5] ndctl, monitor: add the unit file of systemd for ndctl-monitor service

2018-07-10 Thread QI Fuli
This patch adds the systemd unit file for ndctl-monitor service.
The systemd unit directory can be configured by setting environment
variable "--with-systemd-unit-dir[=DIR]".

A monitor daemon can be started as a system service:
   # systemctl start ndctl-monitor.service

Signed-off-by: QI Fuli 
---
 autogen.sh  |  3 ++-
 configure.ac| 22 ++
 ndctl/Makefile.am   |  4 
 ndctl/ndctl-monitor.service |  7 +++
 4 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 ndctl/ndctl-monitor.service

diff --git a/autogen.sh b/autogen.sh
index 2a52688..21b0e25 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -17,7 +17,8 @@ libdir() {
 
 args="--prefix=/usr \
 --sysconfdir=/etc \
---libdir=$(libdir /usr/lib)"
+--libdir=$(libdir /usr/lib) \
+--with-systemd-unit-dir"
 
 echo
 echo ""
diff --git a/configure.ac b/configure.ac
index cf44260..a5ba9a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -143,6 +143,27 @@ AC_CHECK_FUNCS([ \
secure_getenv\
 ])
 
+PKG_PROG_PKG_CONFIG
+AC_ARG_WITH([systemd-unit-dir],
+   AS_HELP_STRING([--with-systemd-unit-dir[=DIR]],
+   [Directory for systemd service files]),
+   [],
+   [with_systemd_unit_dir=yes])
+
+if test "x$with_systemd_unit_dir" = "xyes"; then
+   def_systemd_unit_dir=$($PKG_CONFIG --variable=systemdsystemunitdir 
systemd)
+   if test "x$def_systemd_unit_dir" = "x"; then
+   AC_MSG_ERROR([systemd support requested but pkg-config unable 
to query systemd package])
+   with_systemd_unit_dir=no
+   else
+   with_systemd_unit_dir="$def_systemd_unit_dir"
+   fi
+fi
+
+AS_IF([test "x$with_systemd_unit_dir" != "xno"],
+   [AC_SUBST([systemd_unitdir], [$with_systemd_unit_dir])])
+AM_CONDITIONAL([ENABLE_SYSTEMD_UNIT_DIR], [test "x$with_systemd_unit_dir" != 
"xno"])
+
 my_CFLAGS="\
 -Wall \
 -Wchar-subscripts \
@@ -184,6 +205,7 @@ AC_MSG_RESULT([
 sysconfdir: ${sysconfdir}
 libdir: ${libdir}
 includedir: ${includedir}
+   systemd-unit-dir:   ${systemd_unitdir}
 
 compiler:   ${CC}
 cflags: ${CFLAGS}
diff --git a/ndctl/Makefile.am b/ndctl/Makefile.am
index ae3d894..9d008d5 100644
--- a/ndctl/Makefile.am
+++ b/ndctl/Makefile.am
@@ -47,3 +47,7 @@ monitor_config_file = monitor.conf
 monitor_configdir = /etc/ndctl/
 monitor_config_DATA = $(monitor_config_file)
 EXTRA_DIST += $(monitor_config_file)
+
+if ENABLE_SYSTEMD_UNIT_DIR
+systemd_unit_DATA = ndctl-monitor.service
+endif
diff --git a/ndctl/ndctl-monitor.service b/ndctl/ndctl-monitor.service
new file mode 100644
index 000..44f9326
--- /dev/null
+++ b/ndctl/ndctl-monitor.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Ndctl Monitor Daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/ndctl monitor --daemon
+ExecStop=/bin/kill ${MAINPID}
-- 
2.18.0


___
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm