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