summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 381a63253bf4e9f3784d34dd8453b3571bfc0a4b (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
# Maintainer: ptchinster <AT> gmail.com
# Contributor: gt <AT> notfoss.com
# Contributor: Jim Pryor <profjim@jimpryor.net>

pkgname="dcron-git"
pkgver=4.6.r0.gf82c21e
pkgrel=1
pkgdesc="dillon's lightweight cron daemon (Git version)."
arch=("i686" "x86_64" "armv6h" "armv7h")
license=("GPL")
url="http://www.jimpryor.net/linux/dcron.html"
backup=("var/spool/cron/root" "etc/conf.d/crond")
depends=("bash")
makedepends=("git")
optdepends=("msmtp-mta: sending cron job output via email")
provides=("cron")
conflicts=("cron")
source=("$pkgname"::"git+https://github.com/ptchinster/dcron.git"
        "service")
md5sums=("SKIP"
        "2eefc422db24bf2ac38e3a16292ccdc4")

pkgver() {
    cd "$pkgname"
    # tag + number of commits since that + SHA-1 (first 7 characters) of the last commit
    git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

build() {
    cd "$pkgname"

    # fix paths to point to /usr/bin
    sed -i 's=/usr/sbin/sendmail=/usr/bin/sendmail=g' defs.h
    sed -i 's=/usr/sbin/run-cron=/usr/bin/run-cron=g' extra/root.crontab

    # by default, any member of group "users" can edit their own crontab
    make \
        PREFIX=/usr \
        SBINDIR=/usr/bin \
        CRONTAB_GROUP=users \
        CRONTABS=/var/spool/cron \
        CRONSTAMPS=/var/spool/cronstamps
}

package() {
    if [ ! $(getent group users) ]; then groupadd users; fi ;

    cd "$pkgname"
    make DESTDIR="$pkgdir" install

    # install standard configuration and scripts
    install -d -m755 "$pkgdir"/etc/cron.{hourly,daily,weekly,monthly} 

    install -D -m755 extra/run-cron "$pkgdir"/usr/bin/run-cron
    install -D -m0600 extra/root.crontab "$pkgdir"/var/spool/cron/root
    install -D -m0644 extra/crond.conf "$pkgdir"/etc/conf.d/crond
    install -D -m644 extra/crontab.vim "$pkgdir"/usr/share/vim/vimfiles/ftplugin/crontab.vim
    sed -i -e 's=/var/spool/cron/cronstamps=/var/spool/cronstamps=' extra/prune-cronstamps
    install -D -m755 extra/prune-cronstamps "$pkgdir"/etc/cron.d/prune-cronstamps
    install -Dm644  "$srcdir"/service "$pkgdir"/usr/lib/systemd/system/dcron.service
}