summaryrefslogtreecommitdiff
path: root/community/incron
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
committerroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
commit7a65a910b77ad191d69881098c47f9b0c852d92e (patch)
tree9564e611af1442f8952a8cbddb3b0ad25ed71aab /community/incron
parent60da6abff6c9577a783d72865f11de7a585e912e (diff)
Tue Aug 13 01:31:08 PDT 2013
Diffstat (limited to 'community/incron')
-rw-r--r--community/incron/PKGBUILD47
-rw-r--r--community/incron/incron.install13
-rw-r--r--community/incron/incrond.service10
3 files changed, 70 insertions, 0 deletions
diff --git a/community/incron/PKGBUILD b/community/incron/PKGBUILD
new file mode 100644
index 000000000..7417beb4a
--- /dev/null
+++ b/community/incron/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 91949 2013-05-30 09:42:30Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Roberto Alsina <ralsina@kde.org>
+# Contributor: scj <scj(at)archlinux(dot)us>
+
+pkgname=incron
+pkgver=0.5.10
+pkgrel=6
+pkgdesc="Like the regular cron but is driven by filesystem events instead of time periods"
+arch=('i686' 'x86_64')
+url="http://incron.aiken.cz/"
+license=('GPL')
+depends=('gcc-libs' 'bash')
+install=incron.install
+options=('emptydirs')
+source=("http://inotify.aiken.cz/download/incron/$pkgname-$pkgver.tar.gz"
+ 'incrond.service')
+md5sums=('67f8b671db8169edccc8ef11c7d2c8be'
+ '4be206ba6ecacd9d2006cdc72b4604db')
+
+prepare() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ sed -i '1,1i#include <unistd.h>' inotify-cxx.cpp icd-main.cpp
+ sed -i '1,1i#include <stdio.h>' icd-main.cpp inotify-cxx.cpp usertable.cpp appargs.cpp
+ sed -i 's|strchr(s,|(char*)strchr(s,|' incroncfg.cpp
+ sed -i 's|$(DESTDIR)$(PREFIX)/sbin/|$(DESTDIR)$(PREFIX)/bin/|g' Makefile
+}
+
+build() {
+ cd "${srcdir}"/$pkgname-$pkgver
+ make
+}
+
+package() {
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ install -d "${pkgdir}"/usr/share/man "${pkgdir}"/usr/{s,}bin
+
+ make PREFIX="${pkgdir}"/usr \
+ MANPATH="${pkgdir}"/usr/share/man \
+ USERDATADIR="${pkgdir}"/var/spool/incron \
+ CFGDIR="${pkgdir}"/etc \
+ SYSDATADIR="${pkgdir}"/etc/incron.d install
+
+ install -Dm0644 "${srcdir}/incrond.service" "${pkgdir}/usr/lib/systemd/system/incrond.service"
+ rmdir $pkgdir/usr/sbin
+}
diff --git a/community/incron/incron.install b/community/incron/incron.install
new file mode 100644
index 000000000..9cb53bbe6
--- /dev/null
+++ b/community/incron/incron.install
@@ -0,0 +1,13 @@
+post_install () {
+ # Check user/group incron exists
+ getent group incron > /dev/null || groupadd -r incron
+ getent passwd incron > /dev/null || useradd -r -c "Incron system" -g incron -s /bin/false -d /var/spool/incron incron
+ # Fix permissions
+ chown incron.incron -R /var/spool/incron
+}
+
+pre_remove() {
+ [ -h /var/service/incron ] && rm /var/service/incron
+ userdel incron >& /dev/null
+ groupdel incron >& /dev/null
+}
diff --git a/community/incron/incrond.service b/community/incron/incrond.service
new file mode 100644
index 000000000..d46814bf3
--- /dev/null
+++ b/community/incron/incrond.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Inotify System Scheduler
+
+[Service]
+Type=forking
+PIDFile=/run/incrond.pid
+ExecStart=/usr/bin/incrond
+
+[Install]
+WantedBy=multi-user.target