[packages/lizardfs] Ssytemd .servcie files for master, chunkserver.
matkor
matkor at pld-linux.org
Wed Jun 29 12:49:12 CEST 2016
commit db568ec4d8bb1339096335d129044990571f3132
Author: Mateusz Korniak <matkor at pld-linux.org>
Date: Wed Jun 29 12:49:00 2016 +0200
Ssytemd .servcie files for master, chunkserver.
lizardfs-chunkserver.service | 14 ++++++++++
lizardfs-master.service | 15 +++++++++++
lizardfs.spec | 64 +++++++++++++++++++++++++++++++++++++++-----
3 files changed, 86 insertions(+), 7 deletions(-)
---
diff --git a/lizardfs.spec b/lizardfs.spec
index 7d530b6..1e5653f 100644
--- a/lizardfs.spec
+++ b/lizardfs.spec
@@ -1,19 +1,24 @@
# TODO:
-# - Add daemon startup scripts
-# https://github.com/moosefs/moosefs/blob/master/systemd/moosefs-master.service.in
# - Verify if CGI server works, dependencies
# - Fix x32 asm code inside crcutil-1.0
# - Consider using external libcrcutil package
+# - systemd service files to metalogger, cgiserver packages
+
+%bcond_without systemd_service
Summary: Open Source Distributed File System
Summary(pl.UTF-8): Rozporoszony system plików Open Source
Name: lizardfs
Version: 3.9.4
-Release: 0.4
+Release: 0.6
License: GPL v3
Group: Applications
Source0: https://github.com/lizardfs/lizardfs/archive/v.%{version}.tar.gz
# Source0-md5: 71766d18a5066506e54d952ab6056bd3
+%if %{with systemd_service}
+Source1: %{name}-master.service
+Source2: %{name}-chunkserver.service
+%endif
Patch0: %{name}-cmake_fix.patch
URL: https://github.com/lizardfs/lizardfs
BuildRequires: /usr/bin/a2x
@@ -25,6 +30,13 @@ BuildRequires: libfuse-devel
BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.202
BuildRequires: zlib-devel
+
+%if %{with systemd_service}
+BuildRequires: rpmbuild(macros) >= 1.647
+Requires(post,preun,postun): systemd-units >= 38
+Requires: systemd-units >= 0.38
+%endif
+
ExclusiveArch: %{ix86} %{x8664}
# Requires:
@@ -56,6 +68,19 @@ Requires: %{name} = %{version}-%{release}
%description master
Master/shadow metadata server
+
+%if %{with systemd_service}
+%post master
+%systemd_post %{name}-master.service
+
+%preun master
+%systemd_preun %{name}-master.service
+
+%postun master
+%systemd_reload
+%endif
+
+
%package chunkserver
Summary: Chunk server
Group: Applications
@@ -64,6 +89,18 @@ Requires: %{name} = %{version}-%{release}
%description chunkserver
Chunk server
+%if %{with systemd_service}
+%post chunkserver
+%systemd_post %{name}-chunkserver.service
+
+%preun chunkserver
+%systemd_preun %{name}-chunkserver.service
+
+%postun chunkserver
+%systemd_reload
+%endif
+
+
%package metalogger
Summary: Metalogger
Group: Applications
@@ -110,13 +147,16 @@ install -d $RPM_BUILD_ROOT/var/lib/%{name}/master
install -d $RPM_BUILD_ROOT/var/lib/%{name}/chunkserver
mv $RPM_BUILD_ROOT/var/lib/mfs/metadata.mfs.empty $RPM_BUILD_ROOT/var/lib/%{name}/master/metadata.mfs
+%if %{with systemd_service}
+install -d $RPM_BUILD_ROOT%{systemdunitdir}
+install %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-master.service
+install %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}-chunkserver.service
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
-%pre
-# NOTE: Using same user/group (mfs) as for MooseFS from mfs.spec
-%groupadd -g 282 mfs
-%useradd -u 282 -d /var/lib/%{name} -g mfs -c "MooseFS/LizardFS Daemon" mfs
+
%postun
if [ "$1" = "0" ]; then
@@ -181,6 +221,13 @@ fi
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/metadata.mfs.empty
%dir %attr(750,mfs,mfs) /var/lib/%{name}/master
%config(noreplace) %verify(not md5 mtime size) /var/lib/%{name}/master/metadata.mfs
+%if %{with systemd_service}
+%{systemdunitdir}/%{name}-master.service
+%endif
+
+
+
+
%files chunkserver
%defattr(644,root,root,755)
@@ -188,6 +235,9 @@ fi
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfschunkserver.cfg.dist
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mfs/mfshdd.cfg.dist
%dir %attr(750,mfs,mfs) /var/lib/%{name}/chunkserver
+%if %{with systemd_service}
+%{systemdunitdir}/%{name}-chunkserver.service
+%endif
%files metalogger
%defattr(644,root,root,755)
diff --git a/lizardfs-chunkserver.service b/lizardfs-chunkserver.service
new file mode 100644
index 0000000..bba3129
--- /dev/null
+++ b/lizardfs-chunkserver.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=LizardFS chunkserver daemon
+Documentation=man:mfschunkserver
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/mfschunkserver start
+ExecStop=/usr/sbin/mfschunkserver stop
+ExecReload=/usr/sbin/mfschunkserver reload
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/lizardfs-master.service b/lizardfs-master.service
new file mode 100644
index 0000000..619ecdb
--- /dev/null
+++ b/lizardfs-master.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=LizardFS master server daemon
+Documentation=man:mfsmaster
+After=network.target
+
+[Service]
+Type=forking
+TimeoutSec=0
+ExecStart=/usr/sbin/mfsmaster start
+ExecStop=/usr/sbin/mfsmaster stop
+ExecReload=/usr/sbin/mfsmaster reload
+Restart=no
+
+[Install]
+WantedBy=multi-user.target
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/lizardfs.git/commitdiff/db568ec4d8bb1339096335d129044990571f3132
More information about the pld-cvs-commit
mailing list