diff mbox

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

Message ID 4f7fdea3-3d05-030b-7cb1-e7781459ba81@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Masayoshi Mizuma July 13, 2018, 2:51 p.m. UTC
Hi Qi,

On 07/13/2018 08:57 AM, Qi, Fuli wrote:
>> -----Original Message-----
>> From: Verma, Vishal L [mailto:vishal.l.verma@intel.com]
>> Sent: Friday, July 13, 2018 11:47 AM
>> To: linux-nvdimm@lists.01.org; Qi, Fuli/斉 福利 <qi.fuli@jp.fujitsu.com>
>> 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 <qi.fuli@jp.fujitsu.com>
>>> ---
>>>  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?


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 0000000..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
>
diff mbox

Patch

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)