# Conditional build:
%bcond_without inotify # without inotify support
%if "%{pld_release}" == "ac"
-%bcond_with selinux # without SELinux support
-%bcond_with audit # without audit support
+%bcond_with selinux # with SELinux support
+%bcond_with audit # with audit support
%else
%bcond_without selinux # without SELinux support
%bcond_without audit # without audit support
%endif
Summary: Cron daemon for executing programs at set times
+Summary(pl.UTF-8): Demon cron do uruchamiania programów o zadanym czasie
Name: cronie
-Version: 1.4.8
-Release: 16
+Version: 1.5.7
+Release: 1
License: MIT and BSD and GPL v2
Group: Daemons
-Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
-# Source0-md5: 9b1d2ce6db8d1883e06635f437170657
+Source0: https://github.com/cronie-crond/cronie/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 544f141aa4e34e0a176529be08441756
Source1: %{name}.init
-Source2: cron.logrotate
Source3: cron.sysconfig
Source4: %{name}.crontab
Source5: %{name}.pam
-Source6: %{name}.upstart
-Source7: crond.service
+Source6: crond.service
Patch0: inotify-nosys.patch
-Patch1: %{name}-nosyscrontab.patch
-Patch2: sendmail-path.patch
-Patch3: cronie-1.4.8-inotify-fix.patch
-URL: https://fedorahosted.org/cronie/
+Patch1: sendmail-path.patch
+URL: https://github.com/cronie-crond/cronie/
%{?with_audit:BuildRequires: audit-libs-devel}
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.60
BuildRequires: automake
+BuildRequires: glibc-devel >= 6:2.21
%{?with_selinux:BuildRequires: libselinux-devel}
BuildRequires: pam-devel
BuildRequires: rpm >= 4.4.9-56
-BuildRequires: rpmbuild(macros) >= 1.626
+BuildRequires: rpmbuild(macros) >= 1.647
Requires(post): fileutils
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires: /bin/run-parts
Requires: psmisc >= 20.1
Requires: rc-scripts >= 0.4.3.0
-Requires: systemd-units >= 37-0.10
+%if "%{pld_release}" != "ac"
+Requires(post,preun,postun): systemd-units >= 38
+Requires: systemd-units >= 38}
+%endif
%{?with_inotify:Requires: uname(release) >= 2.6.13}
Provides: crondaemon
Provides: crontabs = 1.7
+Provides: cronjobs
Provides: group(crontab)
%if "%{pld_release}" == "th"
Provides: vixie-cron = 4.3-1
Obsoletes: crondaemon
Obsoletes: cronie-systemd
Obsoletes: crontabs
+Obsoletes: cronjobs
%if "%{pld_release}" == "th"
Obsoletes: vixie-cron < 4.3-1
%endif
+Conflicts: sysklogd < 1.5.1-2
+Conflicts: syslog-ng < 3.6.4-3
+Conflicts: rsyslog < 5.10.1-4
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Cronie contains the standard UNIX daemon crond that runs specified
programs at scheduled times and related tools. It is based on the
original cron and has security and configuration enhancements like the
-ability to use pam and SELinux.
+ability to use PAM and SELinux.
+
+%description -l pl.UTF-8
+Cronie zawiera standardowego demona uniksowego crond, uruchamiającego
+podane programy o zadanym czasie, oraz powiązane narzędzia. Jest
+oparty na oryginalnym cronie i zawiera rozszerzenia bezpieczeństwa i
+konfiguracji, takie jak możliwość wykorzystania mechanizmów PAM i
+SELinux.
%package anacron
Summary: Utility for running regular jobs
+Summary(pl.UTF-8): Narzędzie do uruchamiania regularnych zadań
Group: Base
Provides: anacron = 2.4
Obsoletes: anacron <= 2.3
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.
+%description anacron -l pl.UTF-8
+Anacron stał się częścią cronie. Służy tylko do uruchamiania
+regularnych zadań. Domyślne ustawienia wykonują zadania przy użyciu
+anacrona, ale może to być zmienione w ustawieniach.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
%{__aclocal}
SYSCRONTAB=/etc/crontab \
SYS_CROND_DIR=/etc/cron.d \
--sysconfdir=/etc/cron \
+ --with-editor=/bin/vi \
+ --with-audit%{!?with_audit:=no} \
+ --with-inotify%{!?with_inotify:=no} \
--with-pam \
- --with%{!?with_selinux:out}-selinux \
- --with%{!?with_audit:out}-audit \
- --with%{!?with_inotify:out}-inotify \
+ --with-selinux%{!?with_selinux:=no} \
+ --disable-silent-rules \
+ --disable-syscrontab \
+ --enable-anacron \
%if "%{cc_version}" >= "3.4"
--enable-pie \
%endif
- --enable-relro \
- --enable-anacron
+ --enable-relro
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
- $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig,init} \
+ $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
$RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
%{__make} install \
pamdir=/etc/pam.d \
DESTDIR=$RPM_BUILD_ROOT
+cp -p %{SOURCE5} crond.pam
+
+%if %{without audit}
+# remove recording user's login uid to the process attribute
+%{__sed} -i -e '/pam_loginuid.so/d' crond.pam
+%endif
+
install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
-cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
+cp -a contrib/anacrontab $RPM_BUILD_ROOT/etc/cron/anacrontab
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}/crond.service
-
-touch $RPM_BUILD_ROOT/var/log/cron
+cp -a crond.pam $RPM_BUILD_ROOT/etc/pam.d/crond
+cp -a %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
# cron.allow This file describes the names of the users which are
%groupadd -g 117 -r -f crontab
%post
-if [ ! -f /var/log/cron ]; then
- install -m 660 -g crontab /dev/null /var/log/cron
-fi
/sbin/chkconfig --add crond
%service crond restart "Cron Daemon"
%systemd_post crond.service
fi
%systemd_trigger crond.service
-%triggerun -- hc-cron,fcron,vixie-cron
+%triggerun -- hc-cron,fcron,vixie-cron < 4.3-1
# Prevent preun from crond from working
chmod a-x /etc/rc.d/init.d/crond
-%triggerpostun -- hc-cron,fcron,vixie-cron
+%triggerpostun -- hc-cron,fcron,vixie-cron < 4.3-1
# 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
-
%files
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog README
-%attr(750,root,crontab) %dir %{_sysconfdir}/cron*
+%attr(750,root,crontab) %dir /etc/cron
+%attr(750,root,crontab) %dir /etc/cron.daily
+%attr(750,root,crontab) %dir /etc/cron.hourly
+%attr(750,root,crontab) %dir /etc/cron.monthly
+%attr(750,root,crontab) %dir /etc/cron.weekly
%attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
%attr(754,root,root) /etc/rc.d/init.d/crond
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cron
%{systemdunitdir}/crond.service
%attr(755,root,root) %{_sbindir}/crond
+%attr(2755,root,crontab) %{_bindir}/cronnext
%attr(2755,root,crontab) %{_bindir}/crontab
%{_mandir}/man8/crond.8*
%{_mandir}/man8/cron.8*
%{_mandir}/man5/crontab.5*
+%{_mandir}/man1/cronnext.1*
%{_mandir}/man1/crontab.1*
%attr(1730,root,crontab) /var/spool/cron
-%attr(660,root,crontab) %ghost /var/log/cron
%files anacron
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/anacron
%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
+%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/cron/anacrontab
%{_mandir}/man5/anacrontab.5*
%{_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