]> git.pld-linux.org Git - packages/cronie.git/blobdiff - cronie.spec
- status --pidfile dep in initscript
[packages/cronie.git] / cronie.spec
index 978ccd9d99b65f0a11820f20dce3098f7ac63f6d..f40fad6a5c63f6d202bb92619b20596c41f1b951 100644 (file)
+# TODO
+# - update paths in manuals (create .in files and send upstream)
+# - make /etc/pam.d independant of sysconfdir (configure-able option and send upstream)
+# - https://fedorahosted.org/cronie/changeset/272c4a5c417bfa6e04148fc35a4fe4c6956b17e1
+#   should we follow it too? our pam contains cron.{allow,deny} listfile rules,
+#   cronie itself checks these files so safe to drop?
 #
 # Conditional build:
+%bcond_without inotify         # without inotify support
+%if "%{pld_release}" == "ac"
+%bcond_with            selinux         # without SELinux support
+%bcond_with            audit           # without audit support
+%else
 %bcond_without selinux         # without SELinux support
-#
+%bcond_without audit           # without audit support
+%endif
+
 Summary:       Cron daemon for executing programs at set times
 Name:          cronie
-Version:       1.4.1
-Release:       0.1
-License:       MIT and BSD and GPLv2
+Version:       1.4.3
+Release:       1
+License:       MIT and BSD and GPL v2
 Group:         Daemons
-Source0:       https://fedorahosted.org/cronie/attachment/wiki/WikiStart/cronie-1.4.1.tar.gz?format=raw
-# Source0-md5: 9c089d2035b9fa8263bc71da3eb31cdd
+Source0:       https://fedorahosted.org/releases/c/r/cronie/%{name}-%{version}.tar.gz
+# Source0-md5: 2393b3e5828fc09d9acf04dfd7796ab9
 Source1:       %{name}.init
 Source2:       cron.logrotate
 Source3:       cron.sysconfig
 Source4:       %{name}.crontab
 Source5:       %{name}.pam
+Patch0:                inotify-nosys.patch
+Patch1:                %{name}-nosyscrontab.patch
+Patch2:                sendmail-path.patch
 URL:           https://fedorahosted.org/cronie/
+%{?with_audit:BuildRequires:   audit-libs-devel}
+BuildRequires: autoconf
+BuildRequires: automake
 %{?with_selinux:BuildRequires: libselinux-devel}
 BuildRequires: pam-devel
-BuildRequires: audit-libs-devel
+BuildRequires: rpm >= 4.4.9-56
 BuildRequires: rpmbuild(macros) >= 1.268
 Requires(post):        fileutils
 Requires(post,preun):  /sbin/chkconfig
-Requires(post,preun):  rc-scripts
 Requires(postun):      /usr/sbin/groupdel
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires:      /bin/run-parts
 Requires:      /sbin/chkconfig
 Requires:      psmisc >= 20.1
-Requires:      rc-scripts
+Requires:      rc-scripts >= 0.4.0.19
+%{?with_inotify:Requires:      uname(release) >= 2.6.13}
 Provides:      crondaemon
 Provides:      crontabs = 1.7
 Provides:      group(crontab)
-Provides: vixie-cron = 4:4.4
-Obsoletes: vixie-cron <= 4:4.3
+%if "%{pld_release}" == "th"
+Provides:      vixie-cron = 4:4.4
+%endif
 Obsoletes:     crondaemon
 Obsoletes:     crontabs
+%if "%{pld_release}" == "th"
+Obsoletes:     vixie-cron <= 4:4.3
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
-Cronie contains the standard UNIX daemon crond that runs specified programs at
-scheduled times and related tools. It is based on the original cron and
-has security and configuration enhancements like the ability to use pam and
-SELinux.
+Cronie contains the standard UNIX daemon crond that runs specified
+programs at scheduled times and related tools. It is based on the
+original cron and has security and configuration enhancements like the
+ability to use pam and SELinux.
 
 %package anacron
-Summary: Utility for running regular jobs
-Group: Base
-Provides: anacron = 2.4
-Obsoletes: anacron <= 2.3
+Summary:       Utility for running regular jobs
+Group:         Base
+Provides:      anacron = 2.4
+Obsoletes:     anacron <= 2.3
 
 %description anacron
-Anacron becames part of cronie. Anacron is used only for running regular jobs.
-The default settings execute regular jobs by anacron, however this could be
-overloaded in settings.
+Anacron becames part of cronie. Anacron is used only for running
+regular jobs. The default settings execute regular jobs by anacron,
+however this could be overloaded in settings.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
 %configure \
+       SYSCRONTAB=/etc/crontab \
+       SYS_CROND_DIR=/etc/cron.d \
+       --sysconfdir=/etc/cron \
        --with-pam \
-       --with%{?!with_selinux:out}-selinux \
-       --with-audit \
-       --with-inotify \
+       --with%{!?with_selinux:out}-selinux \
+       --with%{!?with_audit:out}-audit \
+       --with%{!?with_inotify:out}-inotify \
        --enable-anacron
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/var/{log,spool/cron},%{_mandir}} \
+install -d $RPM_BUILD_ROOT{/var/{log,spool/{ana,}cron},%{_mandir}} \
        $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \
        $RPM_BUILD_ROOT%{_sysconfdir}/{cron,cron.{d,hourly,daily,weekly,monthly},pam.d}
 
 %{__make} install \
+       pamdir=/etc/pam.d \
        DESTDIR=$RPM_BUILD_ROOT
 
-install contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
-
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
-
-for a in fi fr id ja ko pl; do
-       if test -f $a/man1/crontab.1; then
-               install -d $RPM_BUILD_ROOT%{_mandir}/$a/man1
-               install $a/man1/crontab.1 $RPM_BUILD_ROOT%{_mandir}/$a/man1
-       fi
-       if test -f $a/man5/crontab.5; then
-               install -d $RPM_BUILD_ROOT%{_mandir}/$a/man5
-               install $a/man5/crontab.5 $RPM_BUILD_ROOT%{_mandir}/$a/man5
-       fi
-       if test -f $a/man8/cron.8; then
-               install -d $RPM_BUILD_ROOT%{_mandir}/$a/man8
-               install $a/man8/cron.8 $RPM_BUILD_ROOT%{_mandir}/$a/man8
-       fi
-done
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
+cp -a contrib/0anacron $RPM_BUILD_ROOT/etc/cron.hourly/0anacron
+cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/cron
+cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/cron
+cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.d/crontab
+cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/crond
 
 touch $RPM_BUILD_ROOT/var/log/cron
 
@@ -121,11 +139,13 @@ rm -rf $RPM_BUILD_ROOT
 %groupadd -g 117 -r -f crontab
 
 %post
+if [ ! -f /var/log/cron ]; then
+       umask 027
+       touch /var/log/cron
+       chgrp crontab /var/log/cron
+       chmod 660 /var/log/cron
+fi
 /sbin/chkconfig --add crond
-umask 027
-touch /var/log/cron
-chgrp crontab /var/log/cron
-chmod 660 /var/log/cron
 %service crond restart "Cron Daemon"
 
 %preun
@@ -144,6 +164,15 @@ fi
 /sbin/chkconfig --del crond
 /sbin/chkconfig --add crond
 
+%triggerun -- vixie-cron
+# Prevent preun from crond from working
+chmod a-x /etc/rc.d/init.d/crond
+
+%triggerpostun -- vixie-cron
+# Restore what triggerun removed
+chmod 754 /etc/rc.d/init.d/crond
+/sbin/chkconfig --add crond
+
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS ChangeLog README
@@ -169,6 +198,8 @@ fi
 %files anacron
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_sbindir}/anacron
-%attr(0755,root,root) %{_sysconfdir}/cron.hourly/0anacron
+%attr(755,root,root) %{_sysconfdir}/cron.hourly/0anacron
 %{_mandir}/man5/anacrontab.5*
 %{_mandir}/man8/anacron.8*
+
+%attr(1730,root,crontab) /var/spool/anacron
This page took 0.075579 seconds and 4 git commands to generate.