diff --git a/glusterd.service b/glusterd.service new file mode 100644 index 0000000..4bf3ea1 --- /dev/null +++ b/glusterd.service @@ -0,0 +1,13 @@ +[Unit] +Description=GlusterFS an clustered file-system server +Wants=glusterfsd.service +After=network.target + +[Service] +Type=forking +PIDFile=/run/glusterd.pid +LimitNOFILE=65536 +ExecStart=/usr/sbin/glusterd -p /run/glusterd.pid + +[Install] +WantedBy=multi-user.target diff --git a/glusterfs.spec b/glusterfs.spec index 7bcdf04..8e232a3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -9,22 +9,27 @@ Name: glusterfs Version: 3.2.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Clustered file-system Group: System Environment/Base License: AGPLv3 URL: http://www.gluster.org/ Source0: http://download.gluster.com/pub/gluster/glusterfs/3.2/%{version}/glusterfs-%{version}.tar.gz -Source1: glusterd.init -Source2: glusterd.sysconfig +Source1: glusterd.sysconfig +Source2: glusterfsd.sysconfig Source3: umount.glusterfs Source4: glusterfs-fuse.logrotate Source5: glusterd.logrotate +Source6: glusterfsd.logrotate +%if 0%{?fedora} < 17 # Legacy server -Source11: glusterfsd.init -Source12: glusterfsd.sysconfig -Source15: glusterfsd.logrotate +Source7: glusterd.init +Source8: glusterfsd.init +%else +Source7: glusterd.service +Source8: glusterfsd.service +%endif BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: bison @@ -33,10 +38,24 @@ BuildRequires: gcc BuildRequires: make BuildRequires: ncurses-devel, readline-devel, python-ctypes +%if 0%{?fedora} < 17 Requires(post): /sbin/chkconfig Requires(preun): /sbin/service Requires(preun): /sbin/chkconfig Requires(postun): /sbin/service +%define _daemon_enable() /sbin/chkconfig --add %1 ; +%define _daemon_disable() /sbin/chkconfig --del %1 ; +%define _daemon_restart() /sbin/service %1 condrestart &>/dev/null ; +%define _daemon_stop() /sbin/service %1 stop &>/dev/null ; +%else +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +%define _daemon_enable() /bin/systemctl enable %1.service ; +%define _daemon_disable() /bin/systemctl disable %1.service ; +%define _daemon_restart() /bin/systemctl try-restart %1.service ; +%define _daemon_stop() /bin/systemctl stop %1.service ; +%endif Obsoletes: %{name}-libs <= 2.0.0 Obsoletes: %{name}-common < 3.1.0 @@ -191,8 +210,13 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool find %{buildroot}%{_libdir} -name '*.a' -delete find %{buildroot}%{_libdir} -name '*.la' -delete -# Remove what the `make install` did, %%doc will install later -%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs +# Remove installed docs, we include them ourselves as %%doc +%{__rm} -rf %{buildroot}%{_datadir}/doc/glusterfs/ + +# Rename the samples, so we can include them as %%config +for file in %{buildroot}%{_sysconfdir}/glusterfs/*.sample; do + %{__mv} ${file} `dirname ${file}`/`basename ${file} .sample` +done # Create working directory %{__mkdir_p} %{buildroot}%{_sharedstatedir}/glusterd @@ -206,14 +230,21 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{__rm} -f examples/Makefile* # Install init script and sysconfig file -%{__install} -D -p -m 0755 %{SOURCE1} \ - %{buildroot}%{_sysconfdir}/init.d/glusterd -%{__install} -D -p -m 0644 %{SOURCE2} \ - %{buildroot}%{_sysconfdir}/sysconfig/glusterd +%if 0%{?fedora} < 17 # Legacy init script and sysconfig file -%{__install} -D -p -m 0755 %{SOURCE11} \ +%{__install} -D -p -m 0755 %{SOURCE7} \ + %{buildroot}%{_sysconfdir}/init.d/glusterd +%{__install} -D -p -m 0755 %{SOURCE8} \ %{buildroot}%{_sysconfdir}/init.d/glusterfsd -%{__install} -D -p -m 0644 %{SOURCE12} \ +%else +%{__install} -D -p -m 0644 %{SOURCE7} \ + %{buildroot}%{_unitdir}/glusterd.service +%{__install} -D -p -m 0644 %{SOURCE8} \ + %{buildroot}%{_unitdir}/glusterfsd.service +%endif +%{__install} -D -p -m 0644 %{SOURCE1} \ + %{buildroot}%{_sysconfdir}/sysconfig/glusterd +%{__install} -D -p -m 0644 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd # Install wrapper umount script @@ -227,7 +258,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %{__install} -D -p -m 0644 %{SOURCE5} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterd # Legacy server logrotate entry -%{__install} -D -p -m 0644 %{SOURCE15} \ +%{__install} -D -p -m 0644 %{SOURCE6} \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd # Install vim syntax plugin @@ -275,7 +306,7 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %files server %defattr(-,root,root,-) -%doc examples/{*.vol,README} doc/*.sample +%doc examples/ doc/glusterfs*.vol.sample %config(noreplace) %{_sysconfdir}/logrotate.d/glusterd %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %config(noreplace) %{_sysconfdir}/glusterfs @@ -283,9 +314,14 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %{_sharedstatedir}/glusterd -%{_sysconfdir}/init.d/glusterd +%if 0%{?fedora} < 17 # Legacy init +%{_sysconfdir}/init.d/glusterd %{_sysconfdir}/init.d/glusterfsd +%else +%{_unitdir}/glusterd.service +%{_unitdir}/glusterfsd.service +%endif %files vim %defattr(-,root,root,-) @@ -303,32 +339,28 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %postun -p /sbin/ldconfig %post server -/sbin/chkconfig --add glusterd - # Legacy server -/sbin/chkconfig --add glusterfsd +%_daemon_enable glusterd +%_daemon_enable glusterfsd %preun server if [ $1 -eq 0 ]; then - /sbin/service glusterd stop &>/dev/null || : - /sbin/chkconfig --del glusterd + %_daemon_stop glusterfsd + %_daemon_stop glusterd + %_daemon_disable glusterfsd + %_daemon_disable glusterd fi if [ $1 -ge 1 ]; then - /sbin/service glusterd condrestart &>/dev/null || : -fi - -# Legacy server -if [ $1 -eq 0 ]; then - /sbin/service glusterfsd stop &>/dev/null || : - /sbin/chkconfig --del glusterfsd -fi -if [ $1 -ge 1 ]; then - /sbin/service glusterfsd condrestart &>/dev/null || : + %_daemon_restart glusterd + %_daemon_restart glusterfsd fi %changelog +* Fri Sep 30 2011 Kaleb S. KEITHLEY - 3.2.4-2 +- Convert init.d to systemd for f17 and later + * Fri Sep 30 2011 Kaleb S. KEITHLEY - 3.2.4-1 -- Update to 3.2.4 +- Update to 3.2.4 * Mon Aug 22 2011 Kaleb S. KEITHLEY - 3.2.3-1 - Update to 3.2.3 diff --git a/glusterfsd.service b/glusterfsd.service new file mode 100644 index 0000000..4454ad8 --- /dev/null +++ b/glusterfsd.service @@ -0,0 +1,12 @@ +[Unit] +Description=GlusterFS an clustered file-system server +After=network.target glusterd.service + +[Service] +Type=forking +PIDFile=/run/glusterfsd.pid +LimitNOFILE=65536 +ExecStart=/usr/sbin/glusterfsd -p /run/glusterfsd.pid + +[Install] +WantedBy=multi-user.target