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