From c7e97bf2b06e97759af46b8ec3327a747decf6d2 Mon Sep 17 00:00:00 2001 From: Christian Schoenebeck Date: Sun, 2 Sep 2018 16:59:20 +0200 Subject: [PATCH] radicale[18.06]: add extra command "export_storage" to init script add extra command "export_storage" to export data for use with Radicale 2.x.x remove myself as PKG_MAINTAINER Signed-off-by: Christian Schoenebeck --- net/radicale/Makefile | 4 ++-- net/radicale/files/radicale.init | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/net/radicale/Makefile b/net/radicale/Makefile index 513e0bbac8..7f413ae1af 100644 --- a/net/radicale/Makefile +++ b/net/radicale/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=radicale PKG_VERSION:=1.1.6 -PKG_RELEASE:=1 -PKG_MAINTAINER:=Christian Schoenebeck +PKG_RELEASE:=2 +PKG_MAINTAINER:= PKG_LICENSE:=GPL-3.0 PKG_LICENSE_FILES:=COPYING diff --git a/net/radicale/files/radicale.init b/net/radicale/files/radicale.init index 4fb9bbb8a9..bb40941bbb 100755 --- a/net/radicale/files/radicale.init +++ b/net/radicale/files/radicale.init @@ -4,6 +4,11 @@ START=80 STOP=10 +EXTRA_COMMANDS="export_storage" +EXTRA_HELP=" export_storage + - export the storage into the specified folder + - can be directly used with the default storage backend of Radicale 2.x.x." + CFGDIR=/var/etc/radicale SYSCFG=$CFGDIR/config LOGCFG=$CFGDIR/logging @@ -162,6 +167,30 @@ _set_permission() { chgrp -R radicale $DATADIR } +export_storage() { + # if already running do nothing + local _PID=$(eval "$PGREP") + kill -1 $_PID 2>/dev/null && { + echo "Export failed !!! - Service running !" >&2 + logger -p user.error -t "radicale[$_PID]" "Export failed !!! - Service running !" + return 1 + } + + [ $# -ne 1 ] || [ ! -d $1 ] && { + echo "Export failed !!! Directory not given or does not exist !" >&2 + logger -p user.error -t "radicale[----]" "Export failed !!! Directory not given or does not exist !" + return 1 + } + + _uci2radicale + _set_permission + + chmod 775 $1 + chgrp radicale $1 + + radicale --config=$SYSCFG --export-storage $1/export +} + boot() { # wait a given time (default 10 seconds) before startup # to wait for interfaces to come up / not using hotplug events during boot