info: hc-cron.spec

Marcin 'Qrczak' Kowalczyk qrczak w knm.org.pl
Pon, 5 Paź 1998, 22:00:07 CEST


Spec jest przerobiony z vixie-crona, a patch (jak zwykle na cenzorze
w Incoming) dodaje obsługę /etc/crontab.d/*, poprawia błędy hc-crona
i zmienia politykę priorytetów - zamiast odpalania spóźnionych dżobów
kiedy load average jest niskie, wszystko ma nice level określony
w crontabie (zmienna NICE). Domyślnie jest jak w oryginale, czyli bez
zmiany priorytetu, ale jeśli niektóre dżoby są zaznaczone do odpalania
nawet po czasie, kiedy system był down, NICE powinno być ustawione.
Należałoby więc to od razu ustawić (może na 15?) w domyślnym crontabie
(w RH jest to pakiet crontabs; nie dotykałem go).

Uprasza się o jakieś przetestowanie, czy niczego nie zepsułem i czy
wszystko poprawnie działa. Crontaby przeładowują się automatycznie po
zmianie ich mtime, jak w oryginale (z dodaniem /etc/crontab.d). Dżoby
zaznaczone do odpalania z opóźnieniem (man 5 crontab) są po wystartowaniu
crona zapuszczane po kolei co minutę, jak w oryginale hc-crona. Z powodów
technicznych jeśli wtedy właśnie zmienimy któregoś crontaba, wszystkie
czekające na swoją kolej odpalą się natychmiast. Właśnie w tego typu
nietypowych sytuacjach robi się gorąco - jakaś inna zawiłość mogła nie
przyjść mi do głowy... hc-cron miał błędy.

A może jakąś koncepcję można rozwiązać lepiej?

-- 
 __("<   Marcin Kowalczyk * qrczak w knm.org.pl http://qrczak.home.ml.org/
 \__/       GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
  ^^                W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-
-------------- następna część ---------
Summary:	Home computer cron daemon
Summary(de):	Home computer cron daemon 
Summary(fr):	Démon Home computer cron
Summary(pl):	Demon cron dla domowego komputera
Summary(tr):	Home computer cron süreci, periyodik program çalýţtýrma yeteneđi
Name:		hc-cron
Version:	0.10
Release:	1
Copyright:	GPL
Group:		Daemons
Source0:	ftp://sunsite.unc.edu/pub/Linux/system/daemons/cron/%{name}-%{version}.tar.gz
Source1:	hc-cron.init
Source2:	cron.log
Patch:		hc-cron-syscrondir.patch
Buildroot:	/var/tmp/%{name}-%{version}-root
Prereq:		/sbin/chkconfig
Obsoletes:	vixie-cron

%description
cron is a standard UNIX program that runs user-specified programs at
periodic scheduled times. hc-cron adds a number of features to the
basic UNIX cron, including better security and more powerful configuration
options.

%description -l de
cron ist ein Standard-UNIX-Programm, das zu vorgegebenen Zeiten vom
Benutzer angegebene Programme ausführt. hc-cron weist mehr Funktionen
auf als cron aus UNIX, u.a. bessere Sicherheit und leistungsfähigere
Konfigurationsoptionen.

%description -l fr
cron est un des programmes UNIX standard qui permet ŕ un utilisateur donné
de lancer des périodiquement des programmes selon un ordre planifié.
hc-cron ajoute de nombreuses fonctionnalités au cron UNIX de base, dont
une plus grande sécurité et des options de configuration plus puissantes.

%description -l pl
cron to standardowy uniksowy program, który okresowo uruchamia określone
przez użytkowników programy. hc-cron dodaje możliwości podstawowemu
uniksowemu cronowi, w tym lepsze bezpieczeństwo i bogatsze opcje
konfiguracyjne.

%description -l tr
cron UNIX'de standart olarak belirli zamanlarda bir programý çalýţtýrmak
için kullanýlan daemon'dur. hc-cron, standart cron'dan daha güvenlidir
ve daha geliţmiţ yapýlandýrma seçenekleri içerir.

%prep
%setup -q
%patch -p1 -b .syscrondir

%build
make OPTIM="$RPM_OPT_FLAGS"

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/usr/{sbin,bin,man/man{1,5,8}} \
	$RPM_BUILD_ROOT/var/spool/cron \
	$RPM_BUILD_ROOT/etc/{crontab.d,rc.d/init.d,logrotate.d}
install cron $RPM_BUILD_ROOT/usr/sbin/crond
install crontab $RPM_BUILD_ROOT/usr/bin
install crontab.1 $RPM_BUILD_ROOT/usr/man/man1
install crontab.5 $RPM_BUILD_ROOT/usr/man/man5
install cron.8 $RPM_BUILD_ROOT/usr/man/man8
echo ".so cron.8" >$RPM_BUILD_ROOT/usr/man/man8/crond.8
install $RPM_SOURCE_DIR/hc-cron.init $RPM_BUILD_ROOT/etc/rc.d/init.d/crond
install $RPM_SOURCE_DIR/cron.log $RPM_BUILD_ROOT/etc/logrotate.d/cron

%clean
rm -rf $RPM_BUILD_ROOT

%post
/sbin/chkconfig --add crond

%preun
if [ $1 = 0 ]; then 
    /sbin/chkconfig --del crond
fi

%triggerpostun -- vixie-cron
/sbin/chkconfig --add crond

%files
%defattr(644, root, root, 755)
%attr(700, root, root) /usr/sbin/crond
%attr(4755, root, root) /usr/bin/crontab
%attr(644, root, man) /usr/man/man*/*
%attr(700, root, root) /var/spool/cron
/etc/crontab.d
%config %attr(755, root, root) /etc/rc.d/init.d/crond
%config /etc/logrotate.d/cron

%changelog
* Mon Oct 5 1998 Marcin 'Qrczak' Kowalczyk <qrczak w knm.org.pl>
- package generally reviewed: now properly handles catched-up jobs
  (it generally didn't work at all), added support for NICE variable,
  removed testing load average to execute catched-up jobs at idle time
  only (my system has a permanent low-priority process running), minor
  bugs fixed; everything is in the syscrondir patch

* Wed Sep 30 1998 Marcin 'Qrczak' Kowalczyk <qrczak w knm.org.pl>
- vixie-cron's spec and syscrondir patch adapted to hc-cron;
  other patches removed, as they are already applied in hc-cron's sources

* Mon Sep 28 1998 Marcin 'Qrczak' Kowalczyk <qrczak w knm.org.pl>
- use %{name} and %{version} macros
- simplified /etc/rc.d/rc?.d/???crond stuff
- added %setup -q parameter
- `mkdir -p' replaced with more standard `install -d'
- added full %attr description in %files
- /usr/sbin/crond permissions changed to 700
- replaced symlink in man page with .so include
- added pl translation
- changed install procedure to allow building from non-root account
- added patch that reads /etc/crontab.d/* in addition to /etc/crontab,
  simplifying automatic adding of cron jobs by packages

* Wed Jun 10 1998 Prospector System <bugs w redhat.com>
- translations modified for de

* Wed Jun 10 1998 Jeff Johnson <jbj w redhat.com>
- reset SIGCHLD before grandchild execle (problem #732)

* Sat May 02 1998 Cristian Gafton <gafton w redhat.com>
- enhanced initscript

* Mon Apr 27 1998 Prospector System <bugs w redhat.com>
- translations modified for de, fr, tr

* Thu Dec 11 1997 Cristian Gafton <gafton w redhat.com>
- added a patch to get rid of the dangerous sprintf() calls
- added BuildRoot and Prereq: /sbin/chkconfig

* Sun Nov 09 1997 Michael K. Johnson <johnsonm w redhat.com>
- fixed cron/crond dichotomy in init file.

* Wed Oct 29 1997 Donnie Barnes <djb w redhat.com>
- fixed bad init symlinks

* Thu Oct 23 1997 Erik Troan <ewt w redhat.com>
- force it to use SIGCHLD instead of defunct SIGCLD

* Mon Oct 20 1997 Erik Troan <ewt w redhat.com>
- updated for chkconfig
- added status, restart options to init script

* Tue Jun 17 1997 Erik Troan <ewt w redhat.com>
- built against glibc

* Wed Feb 19 1997 Erik Troan <ewt w redhat.com>
- Switch conditional from "axp" to "alpha" 


Więcej informacji o liście dyskusyjnej pld-devel-pl