File cron.spec of Package cron

#
# spec file for package cron (Version 4.1)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           cron
BuildRequires:  libselinux-devel pam-devel
Url:            ftp://ftp.isc.org/isc/cron/
License:        PERMISSIVE-OSI-COMPLIANT
Group:          System/Daemons
Requires:       smtp_daemon
Recommends:     postfix
AutoReqProv:    on
PreReq:         permissions %fillup_prereq %insserv_prereq
Version:        4.1
Release:        195.<RELEASE197>
Summary:        Cron Daemon
Source0:        vixie-%name-%version.tar.bz2
Source1:        %name.init
Source2:        run-crons
Source3:        sample.root
Source4:        deny.sample
Source5:        cron.xml
Patch0:         vixie-cron-4.1-Makefile.diff
Patch1:         vixie-cron-4.1-pathnames.diff
Patch3:         vixie-cron-4.1-vfork_sigchld.diff
Patch4:         vixie-cron-4.1-sprintf_misc.diff
Patch5:         vixie-cron-4.1-syscrondir.diff
Patch6:         vixie-cron-4.1-root-allowed.diff
Patch7:         vixie-cron-4.1-manpages.diff
Patch8:         vixie-cron-4.1-crontab-permissions.diff
Patch9:         vixie-cron-4.1-swapuids.diff
Patch10:        vixie-cron-4.1-minuslog.diff
Patch11:        vixie-cron-4.1-pam.diff
Patch12:        vixie-cron-4.1-sendasuser.diff
Patch13:        vixie-cron-4.1-stat-no-fstat.diff
Patch14:        vixie-cron-4.1-privilege_escalation.patch
Patch15:        vixie-cron-4.1-segfault.patch
Patch16:        vixie-cron-4.1-load_database.patch
Patch17:        vixie-cron-4.1-restrict_link_count.patch
Patch18:        vixie-cron-4.1-remove_old_system.patch
Patch19:        vixie-cron-4.1-selinux.diff
#PATCH-FIX-UPSTREAM verify return value of initgroups (bnc#537178) (CVE-2006-2607)
Patch20:        vixie-cron-4.1-initgroups_check.patch
#fix crontab -e crontab file timestamp race condition (bnc#580800) (CVE-2010-0424)
Patch21:        vixie-cron-4.1-race-mtime.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
cron automatically starts programs at specific times. Add new entries
with "crontab -e". (See "man 5 crontab" and "man 1 crontab" for
documentation.)

Under /etc, find the directories cron.hourly, cron.daily, cron.weekly,
and cron.monthly.  Scripts and programs that are located there are
started automatically.



Authors:
--------
    Paul Vixie <paul@vix.com>

%prep
%setup -q -n vixie-%name-%version
%patch0 -p1
%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p0
%patch13 -p1
%patch14 -p1
%patch15 -p0
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1

%build
make DEFS="$RPM_OPT_FLAGS -DWITH_PAM -DWITH_SELINUX -Wno-comment -fpie -fstack-protector" LDFLAGS="-pie"

%install
install -d $RPM_BUILD_ROOT/usr/{bin,sbin}
install -d $RPM_BUILD_ROOT/%_mandir/man{1,5,8}
install -d $RPM_BUILD_ROOT/etc
install -d $RPM_BUILD_ROOT/etc/pam.d
make DESTDIR=$RPM_BUILD_ROOT install
install -d $RPM_BUILD_ROOT/var/spool/cron
install -d $RPM_BUILD_ROOT/var/spool/cron/tabs
install -d $RPM_BUILD_ROOT/var/spool/cron/lastrun
install -m 600 %SOURCE3 $RPM_BUILD_ROOT/etc/crontab
install -m 600 %SOURCE4 $RPM_BUILD_ROOT/etc/cron.deny
install -d $RPM_BUILD_ROOT/etc/cron.d
install -d $RPM_BUILD_ROOT/etc/cron.hourly
install -d $RPM_BUILD_ROOT/etc/cron.daily
install -d $RPM_BUILD_ROOT/etc/cron.weekly
install -d $RPM_BUILD_ROOT/etc/cron.monthly
install -d $RPM_BUILD_ROOT/usr/lib/cron
install -m744 %SOURCE2 $RPM_BUILD_ROOT/usr/lib/cron
install -d $RPM_BUILD_ROOT/etc/init.d
cp %SOURCE1 $RPM_BUILD_ROOT/etc/init.d/cron
chmod 744 $RPM_BUILD_ROOT/etc/init.d/cron
ln -sf ../../etc/init.d/cron $RPM_BUILD_ROOT/usr/sbin/rccron
# service xml
install -d $RPM_BUILD_ROOT%{_sysconfdir}/omc/srvinfo.d/
install -m 644 %{S:5} $RPM_BUILD_ROOT%{_sysconfdir}/omc/srvinfo.d/

%preun
%stop_on_removal cron

%post
%{fillup_and_insserv -y cron}
%run_permissions
%verifyscript
%verify_permissions -e /etc/crontab -e /usr/bin/crontab

%postun
%restart_on_update cron
%{insserv_cleanup}

%files
%defattr(-,root,root)
%dir %attr(700,root,root) /var/spool/cron
%dir %attr(700,root,root) /var/spool/cron/tabs
%dir /var/spool/cron/lastrun
%doc CHANGES CONVERSION FEATURES MAIL README THANKS
%config /etc/init.d/cron
%config /etc/pam.d/crond
%verify(not mode) %config(noreplace) /etc/crontab
%config(noreplace) /etc/cron.deny
%{_mandir}/man1/crontab.1.gz
%{_mandir}/man5/crontab.5.gz
%{_mandir}/man8/cron.8.gz
%verify(not mode) %attr (4750,root,trusted) /usr/bin/crontab
%attr (755,root,root) /usr/sbin/cron
/usr/sbin/rccron
/usr/lib/cron
%{_sysconfdir}/omc/srvinfo.d/cron.xml
%dir %{_sysconfdir}/omc/srvinfo.d/
%dir %{_sysconfdir}/omc/

%changelog
openSUSE Build Service is sponsored by