PKGBUILDs/community/fcron/PKGBUILD
2009-10-09 21:15:33 -05:00

72 lines
3.2 KiB
Bash

# $Id: PKGBUILD 82 2009-07-17 19:56:55Z aaron $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Thomas Bächler <thomas.baechler@rwth-aachen.de>
pkgname=fcron
pkgver=3.0.4
pkgrel=1
pkgdesc="cron implementation which does not assume that your system is running all the time"
arch=(i686 x86_64)
url="http://fcron.free.fr"
license=('GPL')
depends=('pam')
makedepends=('smtp-server') # sendmail needed
# logrotate depends on dcron instead of cron
provides=('dcron' 'cron')
conflicts=('dcron')
backup=(etc/fcron/fcron.conf etc/fcron/fcron.allow etc/fcron/fcron.deny \
var/spool/fcron/systab var/spool/fcron/systab.orig)
install=$pkgname.install
options=('!emptydirs' '!makeflags')
source=(http://fcron.free.fr/archives/$pkgname-$pkgver.src.tar.gz \
fcron.rc fcron.conf fcron.logrotate systab systab.orig run-cron configure.patch)
md5sums=('5a26a1dfd91fdc7e87401e98aef870e6' 'e0c3f0bdc3c98fbbe46eff19001c18f2'\
'981cf9f50ab660f0d41421c5adfb6f4a' 'a9ac7b46053b33304938c2c6671bd80e'\
'938722c6654ef7b07f4aa10001905ba1' 'bfb7daa22ebe22b9917e455c1ca4a382'\
'5ff0cdcb9ec99778938ac6ef26800327' 'b97fbc3e8f00e0d5cf1013ba2a612963')
build() {
# The user:group cron:cron must exist when this package is built
# This is sad but fcron seems to depend on it
# It is also assumed that they have uid/gid 22/22.
# If this is not possible, change fcron.install
cd $startdir/src/$pkgname-$pkgver
# Fix braindead configure script
# patch -Np1 -i $startdir/src/configure.patch
autoconf || return 1
# Compile fcron
./configure --prefix=/usr --with-etcdir=/etc/fcron --sysconfdir=/etc/fcron \
--with-answer-all=no --with-boot-install=no \
--with-username=cron --with-groupname=cron \
--datarootdir=/usr/share --datadir=/usr/share --with-docdir=/usr/share/doc \
--localstatedir=/var
make || return 1
mkdir -p $startdir/pkg/var/spool
# Install fcron
make DESTDIR=$startdir/pkg install || return 1
install -D -m640 -g cron $startdir/src/fcron.conf $startdir/pkg/etc/fcron/fcron.conf || return 1
install -D -m755 $startdir/src/fcron.rc $startdir/pkg/etc/rc.d/fcron || return 1
rm $startdir/pkg/etc/fcron/pam.conf
rm -rf $startdir/pkg/usr/man/fr
install -D -m644 $startdir/src/$pkgname-$pkgver/files/fcron.pam $startdir/pkg/etc/pam.d/fcron || return 1
install -D -m644 $startdir/src/$pkgname-$pkgver/files/fcrontab.pam $startdir/pkg/etc/pam.d/fcrontab || return 1
# Install default fcrontab so that fcron can completely replace dcron
install -D -m600 $startdir/src/systab $startdir/pkg/var/spool/fcron/systab || return 1
install -D -m600 $startdir/src/systab.orig $startdir/pkg/var/spool/fcron/systab.orig || return 1
# /etc/logrotate.d/syslog-ng misses crond.log, add it here
install -D -m644 $startdir/src/fcron.logrotate $startdir/pkg/etc/logrotate.d/fcron || return 1
# Add cron.* directories
install -d -m755 $startdir/pkg/etc/cron.daily || return 1
install -d -m755 $startdir/pkg/etc/cron.hourly || return 1
install -d -m755 $startdir/pkg/etc/cron.monthly || return 1
install -d -m755 $startdir/pkg/etc/cron.weekly || return 1
# Install run-cron script to make fcron run without dcron
install -D -m755 $startdir/src/run-cron $startdir/pkg/usr/sbin/run-cron || return 1
}