]> git.pld-linux.org Git - packages/cronie.git/blame_incremental - cronie.spec
up to 1.5.1
[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.1
20Release: 1
21License: MIT and BSD and GPL v2
22Group: Daemons
23Source0: https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
24# Source0-md5: 910e6effcc032998b0a49fbd46322e18
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
66Conflicts: sysklogd < 1.5.1-2
67Conflicts: syslog-ng < 3.6.4-3
68Conflicts: rsyslog < 5.10.1-4
69BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70
71%description
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.
76
77%package anacron
78Summary: Utility for running regular jobs
79Group: Base
80Provides: anacron = 2.4
81Obsoletes: anacron <= 2.3
82
83%description anacron
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.
87
88%prep
89%setup -q
90%patch0 -p1
91%patch1 -p1
92
93%build
94%{__aclocal}
95%{__autoconf}
96%{__autoheader}
97%{__automake}
98%configure \
99 SYSCRONTAB=/etc/crontab \
100 SYS_CROND_DIR=/etc/cron.d \
101 --sysconfdir=/etc/cron \
102 --with-editor=/bin/vi \
103 --with-pam \
104 --with%{!?with_selinux:out}-selinux \
105 --with%{!?with_audit:out}-audit \
106 --with%{!?with_inotify:out}-inotify \
107 --disable-syscrontab \
108%if "%{cc_version}" >= "3.4"
109 --enable-pie \
110%endif
111 --enable-relro \
112 --enable-anacron
113
114%{__make}
115
116%install
117rm -rf $RPM_BUILD_ROOT
118install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
119 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
120 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
121
122%{__make} install \
123 pamdir=/etc/pam.d \
124 DESTDIR=$RPM_BUILD_ROOT
125
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
133install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
134cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
135cp -a contrib/anacrontab $RPM_BUILD_ROOT/etc/cron/anacrontab
136cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
137cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
138cp -a crond.pam $RPM_BUILD_ROOT/etc/pam.d/crond
139cp -a %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
140
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
160%service crond restart "Cron Daemon"
161%systemd_post crond.service
162
163%preun
164if [ "$1" = "0" ]; then
165 %service crond stop
166 /sbin/chkconfig --del crond
167fi
168%systemd_preun crond.service
169
170%postun
171if [ "$1" = "0" ]; then
172 %groupremove crontab
173fi
174%systemd_reload
175
176%triggerpostun -- cronie < 1.4.8-13
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"
182 if [ -n "$__CROND_ARGS" ]; then
183 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
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
188fi
189%systemd_trigger crond.service
190
191%triggerun -- hc-cron,fcron,vixie-cron < 4.3-1
192# Prevent preun from crond from working
193chmod a-x /etc/rc.d/init.d/crond
194
195%triggerpostun -- hc-cron,fcron,vixie-cron < 4.3-1
196# Restore what triggerun removed
197chmod 754 /etc/rc.d/init.d/crond
198# reinstall crond init.d links, which could be different
199/sbin/chkconfig --del crond
200/sbin/chkconfig --add crond
201
202%files
203%defattr(644,root,root,755)
204%doc AUTHORS ChangeLog README
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
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
216%{systemdunitdir}/crond.service
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
226
227%files anacron
228%defattr(644,root,root,755)
229%attr(755,root,root) %{_sbindir}/anacron
230%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
231%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/cron/anacrontab
232%{_mandir}/man5/anacrontab.5*
233%{_mandir}/man8/anacron.8*
234
235%attr(1730,root,crontab) /var/spool/anacron
This page took 0.056635 seconds and 4 git commands to generate.