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