blob: f43d56671a90258bb6b6c7796c56435ac17ef32f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
# $Id: PKGBUILD 96423 2013-08-28 15:04:05Z seblu $
# Contributor: Giorgio Lando <lando at imap dot cc>
# Contributor: Sergej Pupykin
# Contributor: Thomas Bächler
# Contributor: Sébastien Luttringer
# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
pkgname=fcron
pkgver=3.1.2
pkgrel=8
pkgdesc='Feature-rich cron implementation'
arch=(i686 x86_64)
url='http://fcron.free.fr'
license=('GPL')
depends=('pam' 'run-parts')
makedepends=('smtp-forwarder' 'vi' 'fcron')
# use fcron as recursive deps to have user fcron installed during installation
# else add the following in build chroot
# groupadd -g 23 fcron
# useradd -r -d /var/spool/fcron -u 23 -g 23 fcron
optdepends=('smtp-forwarder: to send mails from cron jobs'
'vi: default editor for fcrontab')
provides=('cron')
conflicts=('dcron')
backup=('etc/fcron/fcron.conf'
'etc/fcron/fcron.allow'
'etc/fcron/fcron.deny')
options=('emptydirs' '!makeflags')
install=$pkgname.install
source=("http://fcron.free.fr/archives/$pkgname-$pkgver.src.tar.gz"
'systab.orig')
md5sums=('36bf213e15f3a480f2274f8e46cced0a'
'afecbfd98caa49e8e4aa239fa1b19255')
build() {
cd $pkgname-$pkgver
# Don't use --username=root and --groupname=root, this completly break
# fcron security and allow local root escalation.
# Thanks to Anh K. Huynh <kyanh@theslinux.org> for reporting it.
./configure --prefix=/usr \
--sbindir=/usr/bin \
--sysconfdir=/etc/fcron \
--with-answer-all=no \
--with-boot-install=no \
--datarootdir=/usr/share \
--datadir=/usr/share \
--with-docdir=/usr/share/doc \
--localstatedir=/var \
--with-systemdsystemunitdir=/usr/lib/systemd/system \
--with-piddir=/run \
--with-editor=/usr/bin/vi \
--with-sendmail=/usr/bin/sendmail
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir/" install
install -Dm644 files/fcron.pam "$pkgdir/etc/pam.d/fcron"
install -Dm644 files/fcrontab.pam "$pkgdir/etc/pam.d/fcrontab"
# Install a default fcrontab so that fcron can completely replace dcron
# We doesn't use binary format which is incompatible between arch and may cause crash
# We regenerate the binary format at each update
install -Dm640 "$srcdir/systab.orig" "$pkgdir/var/spool/fcron/systab.orig"
# Add cron.* directories
install -d -m755 "$pkgdir/etc/cron.daily"
install -d -m755 "$pkgdir/etc/cron.hourly"
install -d -m755 "$pkgdir/etc/cron.monthly"
install -d -m755 "$pkgdir/etc/cron.weekly"
# avoid conflict with filesystem>=2012.06
rmdir "$pkgdir"/{var/,}run
# avoid conflict with libbsd - #31259
rm "$pkgdir/usr/share/man/man3/bitstring.3" \
"$pkgdir/usr/share/man/fr/man3/bitstring.3"
rmdir --ignore-fail-on-non-empty "$pkgdir/usr/share/man/man3" \
"$pkgdir/usr/share/man/fr/man3"
}
# vim:set ts=2 sw=2 et:
|