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