]> git.pld-linux.org Git - packages/cronie.git/blobdiff - cronie.spec
- use newer systemd macros
[packages/cronie.git] / cronie.spec
index da383f46b4d29d3c4b09d016d44cb4ed2cfa64ae..1bc36549eaa6c67e6e09f5a51f43e2af3b5f3455 100644 (file)
@@ -1,9 +1,8 @@
 # TODO
 # - update paths in manuals (create .in files and send upstream)
 # - make /etc/pam.d independant of sysconfdir (configure-able option and send upstream)
-# - https://fedorahosted.org/cronie/changeset/272c4a5c417bfa6e04148fc35a4fe4c6956b17e1
-#   should we follow it too? our pam contains cron.{allow,deny} listfile rules,
-#   cronie itself checks these files so safe to drop?
+# - syslog output (-s) writes two bytes of garbage to syslog instead of actual data:
+#   Mar  3 09:30:01 ravenous CROND[2528]: 4ΓΏ
 #
 # Conditional build:
 %bcond_without inotify         # without inotify support
 
 Summary:       Cron daemon for executing programs at set times
 Name:          cronie
-Version:       1.4.2
-Release:       1
+Version:       1.4.8
+Release:       8
 License:       MIT and BSD and GPL v2
 Group:         Daemons
 Source0:       https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
-# Source0-md5: 9c7cef09ff9c92a90a314a1e947fae5c
+# Source0-md5: 9b1d2ce6db8d1883e06635f437170657
 Source1:       %{name}.init
 Source2:       cron.logrotate
 Source3:       cron.sysconfig
 Source4:       %{name}.crontab
 Source5:       %{name}.pam
+Source6:       %{name}.upstart
+Source7:       crond.service
 Patch0:                inotify-nosys.patch
 Patch1:                %{name}-nosyscrontab.patch
+Patch2:                sendmail-path.patch
 URL:           https://fedorahosted.org/cronie/
 %{?with_audit:BuildRequires:   audit-libs-devel}
 BuildRequires: autoconf
@@ -37,28 +39,26 @@ BuildRequires:      automake
 %{?with_selinux:BuildRequires: libselinux-devel}
 BuildRequires: pam-devel
 BuildRequires: rpm >= 4.4.9-56
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.626
 Requires(post):        fileutils
 Requires(post,preun):  /sbin/chkconfig
-Requires(post,preun):  rc-scripts
 Requires(postun):      /usr/sbin/groupdel
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires:      /bin/run-parts
-Requires:      /sbin/chkconfig
 Requires:      psmisc >= 20.1
-Requires:      rc-scripts
+Requires:      rc-scripts >= 0.4.3.0
 %{?with_inotify:Requires:      uname(release) >= 2.6.13}
 Provides:      crondaemon
 Provides:      crontabs = 1.7
 Provides:      group(crontab)
 %if "%{pld_release}" == "th"
-Provides:      vixie-cron = 4:4.4
+Provides:      vixie-cron = 4.3-1
 %endif
 Obsoletes:     crondaemon
 Obsoletes:     crontabs
 %if "%{pld_release}" == "th"
-Obsoletes:     vixie-cron <= 4:4.3
+Obsoletes:     vixie-cron < 4.3-1
 %endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -79,10 +79,33 @@ Anacron becames part of cronie. Anacron is used only for running
 regular jobs. The default settings execute regular jobs by anacron,
 however this could be overloaded in settings.
 
+%package upstart
+Summary:       Upstart job description for Cronie
+Summary(pl.UTF-8):     Opis zadania Upstart dla Cronie
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+Requires:      upstart >= 0.6
+
+%description upstart
+Upstart job description for Cronie.
+
+%description upstart -l pl.UTF-8
+Opis zadania Upstart dla Cronie.
+
+%package systemd
+Summary:       systemd units for cronie
+Group:         Base
+Requires:      %{name} = %{version}-%{release}
+Requires:      systemd-units >= 37-0.10
+
+%description systemd
+systemd units for cronie.
+
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 %{__aclocal}
@@ -97,14 +120,16 @@ however this could be overloaded in settings.
        --with%{!?with_selinux:out}-selinux \
        --with%{!?with_audit:out}-audit \
        --with%{!?with_inotify:out}-inotify \
+       --enable-pie \
+       --enable-relro \
        --enable-anacron
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}\
-       $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
+install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},/lib/systemd/system}\
+       $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig,init} \
        $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
 
 %{__make} install \
@@ -117,6 +142,9 @@ cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
 cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
+cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/init/crond.conf
+cp -a %{SOURCE7} $RPM_BUILD_ROOT%{systemdunitdir}/cronie.service
+ln -s cronie.service $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
 
 touch $RPM_BUILD_ROOT/var/log/cron
 
@@ -139,10 +167,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %post
 if [ ! -f /var/log/cron ]; then
-       umask 027
-       touch /var/log/cron
-       chgrp crontab /var/log/cron
-       chmod 660 /var/log/cron
+       install -m 660 -g crontab /dev/null /var/log/cron
 fi
 /sbin/chkconfig --add crond
 %service crond restart "Cron Daemon"
@@ -158,20 +183,32 @@ if [ "$1" = "0" ]; then
        %groupremove crontab
 fi
 
-%triggerpostun -- hc-cron
-# reinstall crond init.d links, which could be different
-/sbin/chkconfig --del crond
-/sbin/chkconfig --add crond
-
-%triggerun -- vixie-cron
+%triggerun -- hc-cron,fcron,vixie-cron
 # Prevent preun from crond from working
 chmod a-x /etc/rc.d/init.d/crond
 
-%triggerpostun -- vixie-cron
+%triggerpostun -- hc-cron,fcron,vixie-cron
 # Restore what triggerun removed
 chmod 754 /etc/rc.d/init.d/crond
+# reinstall crond init.d links, which could be different
+/sbin/chkconfig --del crond
 /sbin/chkconfig --add crond
 
+%post upstart
+%upstart_post crond
+
+%postun upstart
+%upstart_postun crond
+
+%post systemd
+%systemd_post cronie.service
+
+%preun systemd
+%systemd_preun cronie.service
+
+%postun systemd
+%systemd_reload
+
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS ChangeLog README
@@ -202,3 +239,14 @@ chmod 754 /etc/rc.d/init.d/crond
 %{_mandir}/man8/anacron.8*
 
 %attr(1730,root,crontab) /var/spool/anacron
+
+%if "%{pld_release}" != "ti"
+%files upstart
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/init/crond.conf
+%endif
+
+%files systemd
+%defattr(644,root,root,755)
+%{systemdunitdir}/crond.service
+%{systemdunitdir}/cronie.service
This page took 0.09536 seconds and 4 git commands to generate.