aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2019-12-19 23:42:49 +0100
committerJakub Jirutka <jakub@jirutka.cz>2019-12-20 00:01:33 +0100
commit3a559a6b52129b174d0c4cc6ae65d4e29e3b9175 (patch)
treea817beadefa7195a2401f9d6a3489b3af03b6c2b
parent2d7d02837781c16b7d2eeca6b6dd58f65630bc1f (diff)
downloadaports-3a559a6b52129b174d0c4cc6ae65d4e29e3b9175.tar.gz
aports-3a559a6b52129b174d0c4cc6ae65d4e29e3b9175.tar.bz2
aports-3a559a6b52129b174d0c4cc6ae65d4e29e3b9175.tar.xz
community/clsync: add init script
-rw-r--r--community/clsync/APKBUILD17
-rw-r--r--community/clsync/clsync.confd22
-rw-r--r--community/clsync/clsync.initd49
3 files changed, 84 insertions, 4 deletions
diff --git a/community/clsync/APKBUILD b/community/clsync/APKBUILD
index 3fb5199099..0dd0b711c7 100644
--- a/community/clsync/APKBUILD
+++ b/community/clsync/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=clsync
pkgver=0.4.3
-pkgrel=0
+pkgrel=1
pkgdesc="File live sync daemon based on inotify"
url="https://github.com/xaionaro/clsync"
arch="x86 x86_64"
@@ -10,9 +10,12 @@ license="GPL-3.0-or-later"
depends=""
depends_dev="glib-dev fts-dev libcap-dev libexecinfo-dev linux-headers musl-dev"
makedepends="$depends_dev autoconf automake file libtool"
-subpackages="$pkgname-doc $pkgname-dev"
+subpackages="$pkgname-openrc $pkgname-doc $pkgname-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/xaionaro/$pkgname/archive/v$pkgver.tar.gz
- musl-fix.patch"
+ musl-fix.patch
+ $pkgname.initd
+ $pkgname.confd
+ "
builddir="$srcdir/$pkgname-$pkgver"
options="!check" # upstream does not provide tests
@@ -44,7 +47,13 @@ package() {
cd "$builddir"
make DESTDIR="$pkgdir" install
+
+ install -D -m 0755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -D -m 0644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -d -m 0755 "$pkgdir"/etc/$pkgname
}
sha512sums="ab803cc04cd2efd5902ea54ae3f7dc29fd88fc01b70f90112f188b60bb45fe79e255a91df3fa429d0b0f4fb6f67ea453d732a53b4db44d9f85077230d9095e4a clsync-0.4.3.tar.gz
-8211e588246a754770713be36b316a47e525f02abad580102720ecff460ed7ccb21d1e56c9c427c974747cd25c8f9c879dd89a5aaba56eeaef5d5422844885fd musl-fix.patch"
+8211e588246a754770713be36b316a47e525f02abad580102720ecff460ed7ccb21d1e56c9c427c974747cd25c8f9c879dd89a5aaba56eeaef5d5422844885fd musl-fix.patch
+230324ec639454e614db886eb52f5c2270aae2c54ef46b62e45dba95440f55d02618fa79dccc73d20ed27012ef083cb45bdb3de8b3c4cc4ef91ba31c0e2f7c69 clsync.initd
+227329c0c13c2db137d6d61905c7133fc7ca0666ceff8c14d043e2811adbe6ef5aae4c876093a4d91ec496646ccacc607c853d2c1c1a53ef6d2a4b4db9209307 clsync.confd"
diff --git a/community/clsync/clsync.confd b/community/clsync/clsync.confd
new file mode 100644
index 0000000000..5ebfc761ad
--- /dev/null
+++ b/community/clsync/clsync.confd
@@ -0,0 +1,22 @@
+# Configuration for /etc/init.d/clsync
+
+# Path of the configuration file. Defaults to name of the init script
+# file/symlink with stripped optional part after the first dot.
+# Set to "/NULL/" if no config file should be read.
+#cfgfile="/etc/clsync/${RC_SVCNAME%%.*}.conf"
+
+# Name of the configuration block in the config file to use.
+# If name of the init script file/symlink contains a dot, then it defaults
+# to the part after the first dot (e.g. clsync.backups -> backups). Otherwise
+# "default" is used as the default block.
+#config_block=
+
+# Path of the file to which redirect clsync's stderr. If not specified, clsync
+# is started with "--output syslog" to log into syslog.
+#error_log=
+
+# The user to start clsync process. Defaults to root.
+#command_user=
+
+# Additional arguments to pass to clsync.
+#command_args=
diff --git a/community/clsync/clsync.initd b/community/clsync/clsync.initd
new file mode 100644
index 0000000000..97b9b50f94
--- /dev/null
+++ b/community/clsync/clsync.initd
@@ -0,0 +1,49 @@
+#!/sbin/openrc-run
+
+: ${name:="$RC_SVCNAME"}
+: ${cfgfile:="/etc/clsync/${RC_SVCNAME%%.*}.conf"}
+
+extra_started_commands="reload resync"
+description_reload="Reread filter rules"
+description_resync="Run full resync"
+
+command="/usr/bin/clsync"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+if [ "$cfgfile" != '/NULL/' ]; then
+ required_files="$cfgfile"
+fi
+
+start_pre() {
+ local config_block output
+
+ if grep -q '^background\s*=\s*1' "$cfgfile" 2>/dev/null; then
+ ewarn "$cfgfile shouldn't set background = 1, it will make init script unreliable!"
+ fi
+
+ if [ -z "$config_block" ] && [ "${RC_SVCNAME#*.}" != "$RC_SVCNAME" ]; then
+ config_block=${RC_SVCNAME#*.}
+ fi
+ if [ -z "$output_log$error_log" ]; then
+ output='syslog'
+ fi
+
+ command_args="
+ --config-file $cfgfile
+ ${config_block:+"--config-block $config_block"}
+ ${output:+"--output $output"}
+ $command_args"
+}
+
+reload() {
+ ebegin "Reloading $name filter rules"
+ start-stop-daemon --signal HUP --pidfile $pidfile
+ eend $?
+}
+
+resync() {
+ ebegin "Executing $name full resync"
+ start-stop-daemon --signal 12 --pidfile $pidfile
+ eend $?
+}