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