[collectl] spec cleanup

Dan Horák sharkcz at fedoraproject.org
Thu Feb 9 15:02:13 UTC 2012


commit b9488b32629e6d3f1aab21e12ca888582d32ad72
Author: Dan Horák <dan at danny.cz>
Date:   Thu Feb 9 16:02:11 2012 +0100

    spec cleanup
    
    - switch from initscript to systemd

 collectl.initd     |  103 ----------------------------------------------------
 collectl.logrotate |    5 ---
 collectl.service   |   12 ++++++
 collectl.spec      |   59 +++++++++++++++---------------
 4 files changed, 42 insertions(+), 137 deletions(-)
---
diff --git a/collectl.service b/collectl.service
new file mode 100644
index 0000000..38af5a2
--- /dev/null
+++ b/collectl.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Performance data collection for a number of subsystems
+After=syslog.target network.target
+
+[Service]
+PIDFile=/var/run/collectl.pid
+EnvironmentFile=/etc/sysconfig/collectl
+ExecStart=/usr/bin/collectl $OPTS /etc/collectl.conf
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/collectl.spec b/collectl.spec
index 3dd8bf0..3663399 100644
--- a/collectl.spec
+++ b/collectl.spec
@@ -1,22 +1,20 @@
 Summary: A utility to collect various Linux performance data
 Name: collectl
 Version: 3.6.0
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: GPLv2+ or Artistic
 Group: Applications/System
 Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.src.tar.gz
-Source1: %{name}.initd
+Source1: %{name}.service
 Source2: %{name}.sysconfig
 # update for Perl 5.14
 Patch0: %{name}-3.5.1-switch.patch
 URL: http://collectl.sourceforge.net
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildArch: noarch
 Requires: perl(Sys::Syslog), perl(Time::HiRes), perl(Compress::Zlib)
-Requires(post): chkconfig
-Requires(postun): initscripts
-Requires(preun): chkconfig
-Requires(preun): initscripts
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
 
 %description
 A utility to collect Linux performance data
@@ -41,15 +39,9 @@ done
 # nothing to do
 
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
 %install
-rm -rf $RPM_BUILD_ROOT
-
 # create required directories
-mkdir -p        $RPM_BUILD_ROOT%{_initrddir} \
+mkdir -p        $RPM_BUILD_ROOT%{_unitdir} \
                 $RPM_BUILD_ROOT%{_sysconfdir} \
                 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig \
                 $RPM_BUILD_ROOT%{_bindir} \
@@ -66,38 +58,47 @@ install -p -m 755  col2tlviz.pl      $RPM_BUILD_ROOT%{_datadir}/%{name}/utils
 install -p -m 755  client.pl         $RPM_BUILD_ROOT%{_datadir}/%{name}/utils
 install -p -m 644  man1/collectl*.1  $RPM_BUILD_ROOT%{_mandir}/man1
 install -p -m 644  collectl.conf     $RPM_BUILD_ROOT%{_sysconfdir}
-install -p -m 755  %{SOURCE1}        $RPM_BUILD_ROOT%{_initrddir}/%{name}
+install -p -m 644  %{SOURCE1}        $RPM_BUILD_ROOT%{_unitdir}
 install -p -m 644  %{SOURCE2}        $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
 
 
 %post
-/sbin/chkconfig --add %{name}
-
-%postun
-if [ "$1" -ge "1" ] ; then
-    /sbin/service %{name} condrestart >/dev/null 2>&1 || :
+if [ $1 -eq 1 ] ; then 
+    # Initial installation 
+    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
 fi
 
 %preun
-if [ $1 = 0 ] ; then
-    /sbin/service %{name} stop >/dev/null 2>&1
-    /sbin/chkconfig --del %{name}
+if [ $1 -eq 0 ] ; then
+    # Package removal, not upgrade
+    /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || :
+    /bin/systemctl stop %{name}.service > /dev/null 2>&1 || :
+fi
+
+%postun
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
 fi
 
 
 %files
-%defattr(-,root,root,-)
 %doc ARTISTIC COPYING GPL RELEASE-collectl html
 %config(noreplace) %{_sysconfdir}/%{name}.conf
-%{_initrddir}/%{name}
+%{_unitdir}/%{name}.service
 %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
-%{_bindir}/*
-%{_datadir}/%{name}
-%{_mandir}/man1/*
-%{_localstatedir}/log/%{name}
+%{_bindir}/%{name}
+%{_datadir}/%{name}/
+%{_mandir}/man1/%{name}.1*
+%{_localstatedir}/log/%{name}/
 
 
 %changelog
+* Thu Feb 09 2012 Dan Horák <dan[at]danny.cz> - 3.6.0-3
+- spec cleanup
+- switch from initscript to systemd
+
 * Thu Jan 12 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.6.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 


More information about the scm-commits mailing list