]> git.pld-linux.org Git - packages/cronie.git/blame - cronie.spec
up to 1.7.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 17Summary: Cron daemon for executing programs at set times
b81cc121 18Summary(pl.UTF-8): Demon cron do uruchamiania programów o zadanym czasie
9088c091 19Name: cronie
8ae0d86a 20Version: 1.7.1
1529bccd 21Release: 1
fd39f74d 22License: MIT and BSD and GPL v2
9088c091 23Group: Daemons
d0704c89 24Source0: https://github.com/cronie-crond/cronie/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
8ae0d86a 25# Source0-md5: e7528df4b0d7d59307677da7c82e4f70
9088c091 26Source1: %{name}.init
9088c091
AM
27Source3: cron.sysconfig
28Source4: %{name}.crontab
29Source5: %{name}.pam
4b896003 30Source6: crond.service
f440f0d0 31Patch0: inotify-nosys.patch
6f54bc3d 32Patch1: sendmail-path.patch
51c33efe 33URL: https://github.com/cronie-crond/cronie/
828712ad 34%{?with_audit:BuildRequires: audit-libs-devel}
b81cc121 35BuildRequires: autoconf >= 2.60
828712ad 36BuildRequires: automake
24c321ed 37BuildRequires: glibc-devel >= 6:2.21
9088c091
AM
38%{?with_selinux:BuildRequires: libselinux-devel}
39BuildRequires: pam-devel
0d2f2c46 40BuildRequires: rpm >= 4.4.9-56
cd632288 41BuildRequires: rpmbuild(macros) >= 1.647
9088c091
AM
42Requires(post): fileutils
43Requires(post,preun): /sbin/chkconfig
9088c091
AM
44Requires(postun): /usr/sbin/groupdel
45Requires(pre): /usr/bin/getgid
46Requires(pre): /usr/sbin/groupadd
47Requires: /bin/run-parts
9088c091 48Requires: psmisc >= 20.1
bb090c53 49Requires: rc-scripts >= 0.4.3.0
6f54bc3d 50%if "%{pld_release}" != "ac"
1580d998
JR
51Requires(post,preun,postun): systemd-units >= 38
52Requires: systemd-units >= 38}
cd632288 53%endif
f440f0d0 54%{?with_inotify:Requires: uname(release) >= 2.6.13}
9088c091
AM
55Provides: crondaemon
56Provides: crontabs = 1.7
af95f658 57Provides: cronjobs
9088c091 58Provides: group(crontab)
0d2f2c46 59%if "%{pld_release}" == "th"
bf8f51cd 60Provides: vixie-cron = 4.3-1
daf76cdc 61%endif
9088c091 62Obsoletes: crondaemon
dc1bdb1f
JB
63Obsoletes: cronie-systemd < 1.4.8-9
64Obsoletes: cronie-upstart < 1.4.12-5
9088c091 65Obsoletes: crontabs
af95f658 66Obsoletes: cronjobs
0d2f2c46 67%if "%{pld_release}" == "th"
bf8f51cd 68Obsoletes: vixie-cron < 4.3-1
daf76cdc 69%endif
64a8505a
BS
70Conflicts: sysklogd < 1.5.1-2
71Conflicts: syslog-ng < 3.6.4-3
72Conflicts: rsyslog < 5.10.1-4
9088c091
AM
73BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74
75%description
84a870a4
AM
76Cronie contains the standard UNIX daemon crond that runs specified
77programs at scheduled times and related tools. It is based on the
78original cron and has security and configuration enhancements like the
b81cc121
JB
79ability to use PAM and SELinux.
80
81%description -l pl.UTF-8
82Cronie zawiera standardowego demona uniksowego crond, uruchamiającego
83podane programy o zadanym czasie, oraz powiązane narzędzia. Jest
84oparty na oryginalnym cronie i zawiera rozszerzenia bezpieczeństwa i
85konfiguracji, takie jak możliwość wykorzystania mechanizmów PAM i
86SELinux.
9088c091
AM
87
88%package anacron
84a870a4 89Summary: Utility for running regular jobs
b81cc121 90Summary(pl.UTF-8): Narzędzie do uruchamiania regularnych zadań
84a870a4
AM
91Group: Base
92Provides: anacron = 2.4
93Obsoletes: anacron <= 2.3
9088c091
AM
94
95%description anacron
84a870a4
AM
96Anacron becames part of cronie. Anacron is used only for running
97regular jobs. The default settings execute regular jobs by anacron,
98however this could be overloaded in settings.
9088c091 99
b81cc121
JB
100%description anacron -l pl.UTF-8
101Anacron stał się częścią cronie. Służy tylko do uruchamiania
102regularnych zadań. Domyślne ustawienia wykonują zadania przy użyciu
103anacrona, ale może to być zmienione w ustawieniach.
104
9088c091
AM
105%prep
106%setup -q
f440f0d0 107%patch0 -p1
9c2aa177 108%patch1 -p1
9088c091
AM
109
110%build
828712ad
ER
111%{__aclocal}
112%{__autoconf}
113%{__autoheader}
114%{__automake}
9088c091 115%configure \
d39ca4fd 116 SYSCRONTAB=/etc/crontab \
695ed2ed 117 SYS_CROND_DIR=/etc/cron.d \
72768a3d 118 --sysconfdir=/etc/cron \
cf04dab5 119 --with-editor=/bin/vi \
b81cc121
JB
120 --with-audit%{!?with_audit:=no} \
121 --with-inotify%{!?with_inotify:=no} \
9088c091 122 --with-pam \
b81cc121 123 --with-selinux%{!?with_selinux:=no} \
d73b5665 124 --disable-silent-rules \
5769fa92 125 --disable-syscrontab \
b81cc121 126 --enable-anacron \
a66962af 127%if "%{cc_version}" >= "3.4"
5ab1b510 128 --enable-pie \
a66962af 129%endif
b81cc121 130 --enable-relro
9088c091
AM
131
132%{__make}
133
134%install
135rm -rf $RPM_BUILD_ROOT
acc567ec 136install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir},%{systemdunitdir}}\
4b896003 137 $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
9088c091
AM
138 $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
139
140%{__make} install \
0d2f2c46 141 pamdir=/etc/pam.d \
9088c091
AM
142 DESTDIR=$RPM_BUILD_ROOT
143
5b4e8f01
AZ
144cp -p %{SOURCE5} crond.pam
145
146%if %{without audit}
147# remove recording user's login uid to the process attribute
148%{__sed} -i -e '/pam_loginuid.so/d' crond.pam
149%endif
150
fd39f74d
ER
151install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
152cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
e2d97fc3 153cp -a contrib/anacrontab $RPM_BUILD_ROOT/etc/cron/anacrontab
fd39f74d
ER
154cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
155cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
5b4e8f01 156cp -a crond.pam $RPM_BUILD_ROOT/etc/pam.d/crond
4b896003 157cp -a %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/crond.service
9088c091 158
9088c091
AM
159cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.allow << 'EOF'
160# cron.allow This file describes the names of the users which are
161# allowed to use the local cron daemon
162root
163EOF
164
165cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron/cron.deny << 'EOF'
166# cron.deny This file describes the names of the users which are
167# NOT allowed to use the local cron daemon
168EOF
169
428b9c73
AM
170cat > $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/check-crond << 'EOF'
171#!/bin/sh
172
173# ugly and limited hack. make cronie restart itself
174if [ -x /bin/awk -a -x /bin/grep -a -f /var/log/cron ]; then
175 LC_ALL=C /bin/awk -v d="$(LC_ALL=C date "+%b %e")" ' $1 " " $2 ~ d' /var/log/cron \
176 | /bin/grep -qE "PAM.*(Modu. jest nieznany|Module is unknown)" \
177 && echo "crond is failing on PAM, restarting ( https://github.com/cronie-crond/cronie/issues/87 )" >&2 \
1529bccd 178 && /sbin/service crond try-restart
428b9c73 179fi
216820e5 180exit 0
428b9c73
AM
181EOF
182
9088c091
AM
183%clean
184rm -rf $RPM_BUILD_ROOT
185
186%pre
187%groupadd -g 117 -r -f crontab
188
189%post
190/sbin/chkconfig --add crond
9088c091 191%service crond restart "Cron Daemon"
fdd909fe 192%systemd_post crond.service
9088c091
AM
193
194%preun
195if [ "$1" = "0" ]; then
196 %service crond stop
197 /sbin/chkconfig --del crond
198fi
fdd909fe 199%systemd_preun crond.service
9088c091
AM
200
201%postun
202if [ "$1" = "0" ]; then
203 %groupremove crontab
204fi
38b3aba9
JR
205%systemd_reload
206
ac14407c 207%triggerpostun -- cronie < 1.4.8-13
0a59c82c
JR
208if [ -f /etc/sysconfig/cron ]; then
209 . /etc/sysconfig/cron
210 __CROND_ARGS=
211 [ "$CROND_SYSLOG_RESULT" = "yes" ] && __CROND_ARGS="-s"
212 [ -n "$CROND_MAIL_PROG" ] && __CROND_ARGS="$__CROND_ARGS -m $CROND_MAIL_PROG"
ac14407c 213 if [ -n "$__CROND_ARGS" ]; then
8455c8ac 214 %{__cp} -f /etc/sysconfig/cron{,.rpmsave}
ac14407c
JR
215 echo >>/etc/sysconfig/cron
216 echo "# Added by rpm trigger" >>/etc/sysconfig/cron
217 echo "CROND_ARGS=\"$CROND_ARGS $__CROND_ARGS\"" >>/etc/sysconfig/cron
218 fi
0a59c82c 219fi
fdd909fe 220%systemd_trigger crond.service
9088c091 221
dd40ae0a 222%triggerun -- hc-cron,fcron,vixie-cron < 4.3-1
77af6cfd
AM
223# Prevent preun from crond from working
224chmod a-x /etc/rc.d/init.d/crond
225
dd40ae0a 226%triggerpostun -- hc-cron,fcron,vixie-cron < 4.3-1
77af6cfd
AM
227# Restore what triggerun removed
228chmod 754 /etc/rc.d/init.d/crond
8609ee66
ER
229# reinstall crond init.d links, which could be different
230/sbin/chkconfig --del crond
77af6cfd
AM
231/sbin/chkconfig --add crond
232
9088c091
AM
233%files
234%defattr(644,root,root,755)
235%doc AUTHORS ChangeLog README
bbfcd712
JK
236%attr(750,root,crontab) %dir /etc/cron
237%attr(750,root,crontab) %dir /etc/cron.daily
428b9c73 238%attr(750,root,root) /etc/cron.daily/check-crond
bbfcd712
JK
239%attr(750,root,crontab) %dir /etc/cron.hourly
240%attr(750,root,crontab) %dir /etc/cron.monthly
241%attr(750,root,crontab) %dir /etc/cron.weekly
9088c091
AM
242%attr(640,root,crontab) %config(noreplace,missingok) /etc/cron.d/crontab
243%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.allow
244%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/cron/cron.deny
245%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cron
246%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/crond
247%attr(754,root,root) /etc/rc.d/init.d/crond
cd632288 248%{systemdunitdir}/crond.service
9088c091 249%attr(755,root,root) %{_sbindir}/crond
1c89d0c6 250%attr(2755,root,crontab) %{_bindir}/cronnext
9088c091
AM
251%attr(2755,root,crontab) %{_bindir}/crontab
252
253%{_mandir}/man8/crond.8*
254%{_mandir}/man8/cron.8*
255%{_mandir}/man5/crontab.5*
1c89d0c6 256%{_mandir}/man1/cronnext.1*
9088c091
AM
257%{_mandir}/man1/crontab.1*
258
259%attr(1730,root,crontab) /var/spool/cron
9088c091
AM
260
261%files anacron
262%defattr(644,root,root,755)
263%attr(755,root,root) %{_sbindir}/anacron
84a870a4 264%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
e2d97fc3 265%attr(640,root,crontab) %config(noreplace,missingok) %verify(not md5 mtime size) /etc/cron/anacrontab
9088c091
AM
266%{_mandir}/man5/anacrontab.5*
267%{_mandir}/man8/anacron.8*
d07a95b8
AM
268
269%attr(1730,root,crontab) /var/spool/anacron
This page took 0.151471 seconds and 4 git commands to generate.