]> git.pld-linux.org Git - packages/cronie.git/blame - cronie.spec
- cron daemons log through syslog
[packages/cronie.git] / cronie.spec
CommitLineData
955f0d7d
ER
1# TODO
2# - update paths in manuals (create .in files and send upstream)
3# - make /etc/pam.d independant of sysconfdir (configure-able option and send upstream)
64e4eafc
ER
4# - syslog output (-s) writes two bytes of garbage to syslog instead of actual data:
5# Mar 3 09:30:01 ravenous CROND[2528]: 4ÿ
9088c091
AM
6#
7# Conditional build:
946518b7 8%bcond_without inotify # without inotify support
0d2f2c46 9%if "%{pld_release}" == "ac"
2bd551be
ER
10%bcond_with selinux # with SELinux support
11%bcond_with audit # with audit support
0d2f2c46
ER
12%else
13%bcond_without selinux # without SELinux support
828712ad 14%bcond_without audit # without audit support
701f4590
ER
15%endif
16
9088c091
AM
17Summary: Cron daemon for executing programs at set times
18Name: cronie
ced4ed8f 19Version: 1.5.0
f0baf4fa 20Release: 2
fd39f74d 21License: MIT and BSD and GPL v2
9088c091 22Group: Daemons
fd39f74d 23Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
ced4ed8f 24# Source0-md5: 9db75e1884d83a45e002d145c6c54d45
9088c091 25Source1: %{name}.init
9088c091
AM
26Source3: cron.sysconfig
27Source4: %{name}.crontab
28Source5: %{name}.pam
4b896003 29Source6: crond.service
f440f0d0 30Patch0: inotify-nosys.patch
6f54bc3d 31Patch1: sendmail-path.patch
9088c091 32URL: https://fedorahosted.org/cronie/
828712ad
ER
33%{?with_audit:BuildRequires: audit-libs-devel}
34BuildRequires: autoconf
35BuildRequires: automake
9088c091
AM
36%{?with_selinux:BuildRequires: libselinux-devel}
37BuildRequires: pam-devel
0d2f2c46 38BuildRequires: rpm >= 4.4.9-56
cd632288 39BuildRequires: rpmbuild(macros) >= 1.647
9088c091
AM
40Requires(post): fileutils
41Requires(post,preun): /sbin/chkconfig
9088c091
AM
42Requires(postun): /usr/sbin/groupdel
43Requires(pre): /usr/bin/getgid
44Requires(pre): /usr/sbin/groupadd
45Requires: /bin/run-parts
9088c091 46Requires: psmisc >= 20.1
bb090c53 47Requires: rc-scripts >= 0.4.3.0
6f54bc3d 48%if "%{pld_release}" != "ac"
1580d998
JR
49Requires(post,preun,postun): systemd-units >= 38
50Requires: systemd-units >= 38}
cd632288 51%endif
f440f0d0 52%{?with_inotify:Requires: uname(release) >= 2.6.13}
9088c091
AM
53Provides: crondaemon
54Provides: crontabs = 1.7
55Provides: group(crontab)
0d2f2c46 56%if "%{pld_release}" == "th"
bf8f51cd 57Provides: vixie-cron = 4.3-1
daf76cdc 58%endif
9088c091 59Obsoletes: crondaemon
f497321d 60Obsoletes: cronie-systemd
9088c091 61Obsoletes: crontabs
0d2f2c46 62%if "%{pld_release}" == "th"
bf8f51cd 63Obsoletes: vixie-cron < 4.3-1
daf76cdc 64%endif
9088c091
AM
65BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66
67%description
84a870a4
AM
68Cronie contains the standard UNIX daemon crond that runs specified
69programs at scheduled times and related tools. It is based on the
70original cron and has security and configuration enhancements like the
71ability to use pam and SELinux.
9088c091
AM
72
73%package anacron
84a870a4
AM
74Summary: Utility for running regular jobs
75Group: Base
76Provides: anacron = 2.4
77Obsoletes: anacron <= 2.3
9088c091
AM
78
79%description anacron
84a870a4
AM
80Anacron becames part of cronie. Anacron is used only for running
81regular jobs. The default settings execute regular jobs by anacron,
82however this could be overloaded in settings.
9088c091
AM
83
84%prep
85%setup -q
f440f0d0 86%patch0 -p1
9c2aa177 87%patch1 -p1
9088c091
AM
88
89%build
828712ad
ER
90%{__aclocal}
91%{__autoconf}
92%{__autoheader}
93%{__automake}
9088c091 94%configure \
d39ca4fd 95 SYSCRONTAB=/etc/crontab \
695ed2ed 96 SYS_CROND_DIR=/etc/cron.d \
72768a3d 97 --sysconfdir=/etc/cron \
cf04dab5 98 --with-editor=/bin/vi \
9088c091 99 --with-pam \
45b0067d 100 --with%{!?with_selinux:out}-selinux \
828712ad 101 --with%{!?with_audit:out}-audit \
946518b7 102 --with%{!?with_inotify:out}-inotify \
5769fa92 103 --disable-syscrontab \
a66962af 104%if "%{cc_version}" >= "3.4"
5ab1b510 105 --enable-pie \
a66962af 106%endif
5ab1b510 107 --enable-relro \
9088c091
AM
108 --enable-anacron
109
110%{__make}
111
112%install
113rm -rf $RPM_BUILD_ROOT
acc567ec 114install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
4b896003 115 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
9088c091
AM
116 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
117
118%{__make} install \
0d2f2c46 119 pamdir=/etc/pam.d \
9088c091
AM
120 DESTDIR=$RPM_BUILD_ROOT
121
5b4e8f01
AZ
122cp -p %{SOURCE5} crond.pam
123
124%if %{without audit}
125# remove recording user's login uid to the process attribute
126%{__sed} -i -e '/pam_loginuid.so/d' crond.pam
127%endif
128
fd39f74d
ER
129install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
130cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
e2d97fc3 131cp -a contrib/anacrontab $RPM_BUILD_ROOT/etc/cron/anacrontab
fd39f74d
ER
132cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
133cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
5b4e8f01 134cp -a crond.pam $RPM_BUILD_ROOT/etc/pam.d/crond
4b896003 135cp -a %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
9088c091 136
9088c091
AM
137cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
138# cron.allow This file describes the names of the users which are
139# allowed to use the local cron daemon
140root
141EOF
142
143cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
144# cron.deny This file describes the names of the users which are
145# NOT allowed to use the local cron daemon
146EOF
147
148%clean
149rm -rf $RPM_BUILD_ROOT
150
151%pre
152%groupadd -g 117 -r -f crontab
153
154%post
155/sbin/chkconfig --add crond
9088c091 156%service crond restart "Cron Daemon"
fdd909fe 157%systemd_post crond.service
9088c091
AM
158
159%preun
160if [ "$1" = "0" ]; then
161 %service crond stop
162 /sbin/chkconfig --del crond
163fi
fdd909fe 164%systemd_preun crond.service
9088c091
AM
165
166%postun
167if [ "$1" = "0" ]; then
168 %groupremove crontab
169fi
38b3aba9
JR
170%systemd_reload
171
ac14407c 172%triggerpostun -- cronie < 1.4.8-13
0a59c82c
JR
173if [ -f /etc/sysconfig/cron ]; then
174 . /etc/sysconfig/cron
175 __CROND_ARGS=
176 [ "$CROND_SYSLOG_RESULT" = "yes" ] && __CROND_ARGS="-s"
177 [ -n "$CROND_MAIL_PROG" ] && __CROND_ARGS="$__CROND_ARGS -m $CROND_MAIL_PROG"
ac14407c 178 if [ -n "$__CROND_ARGS" ]; then
8455c8ac 179 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
ac14407c
JR
180 echo >>/etc/sysconfig/cron
181 echo "# Added by rpm trigger" >>/etc/sysconfig/cron
182 echo "CROND_ARGS=\"$CROND_ARGS $__CROND_ARGS\"" >>/etc/sysconfig/cron
183 fi
0a59c82c 184fi
fdd909fe 185%systemd_trigger crond.service
9088c091 186
dd40ae0a 187%triggerun -- hc-cron,fcron,vixie-cron < 4.3-1
77af6cfd
AM
188# Prevent preun from crond from working
189chmod a-x /etc/rc.d/init.d/crond
190
dd40ae0a 191%triggerpostun -- hc-cron,fcron,vixie-cron < 4.3-1
77af6cfd
AM
192# Restore what triggerun removed
193chmod 754 /etc/rc.d/init.d/crond
8609ee66
ER
194# reinstall crond init.d links, which could be different
195/sbin/chkconfig --del crond
77af6cfd
AM
196/sbin/chkconfig --add crond
197
9088c091
AM
198%files
199%defattr(644,root,root,755)
200%doc AUTHORS ChangeLog README
bbfcd712
JK
201%attr(750,root,crontab) %dir /etc/cron
202%attr(750,root,crontab) %dir /etc/cron.daily
203%attr(750,root,crontab) %dir /etc/cron.hourly
204%attr(750,root,crontab) %dir /etc/cron.monthly
205%attr(750,root,crontab) %dir /etc/cron.weekly
9088c091
AM
206%attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
207%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
208%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
209%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
210%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
211%attr(754,root,root) /etc/rc.d/init.d/crond
cd632288 212%{systemdunitdir}/crond.service
9088c091
AM
213%attr(755,root,root) %{_sbindir}/crond
214%attr(2755,root,crontab) %{_bindir}/crontab
215
216%{_mandir}/man8/crond.8*
217%{_mandir}/man8/cron.8*
218%{_mandir}/man5/crontab.5*
219%{_mandir}/man1/crontab.1*
220
221%attr(1730,root,crontab) /var/spool/cron
9088c091
AM
222
223%files anacron
224%defattr(644,root,root,755)
225%attr(755,root,root) %{_sbindir}/anacron
84a870a4 226%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
e2d97fc3 227%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/cron/anacrontab
9088c091
AM
228%{_mandir}/man5/anacrontab.5*
229%{_mandir}/man8/anacron.8*
d07a95b8
AM
230
231%attr(1730,root,crontab) /var/spool/anacron
This page took 0.121575 seconds and 4 git commands to generate.