aboutsummaryrefslogtreecommitdiff
path: root/sysutils/clsync
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2014-06-09 19:31:27 +0000
committerMark Felder <feld@FreeBSD.org>2014-06-09 19:31:27 +0000
commit3f9fd6b9dc7114d22a0269b7aff0c993bf2177bd (patch)
tree97bbda640126bd5247836ff8bb7afbf1baf6debe /sysutils/clsync
parentfacdcbbf1edb7fd652d92c895668c29348914282 (diff)
downloadports-3f9fd6b9dc7114d22a0269b7aff0c993bf2177bd.tar.gz
ports-3f9fd6b9dc7114d22a0269b7aff0c993bf2177bd.zip
New port: sysutils/clsync
clsync is a utility that initatiates automatic rsync transfers after detection of filesystem changes Caution: port may have rough edges. Its FreeBSD support is very new.
Notes
Notes: svn path=/head/; revision=357197
Diffstat (limited to 'sysutils/clsync')
-rw-r--r--sysutils/clsync/Makefile75
-rw-r--r--sysutils/clsync/distinfo2
-rw-r--r--sysutils/clsync/files/clsync.in56
-rw-r--r--sysutils/clsync/files/pkg-message.in8
-rw-r--r--sysutils/clsync/pkg-descr3
-rw-r--r--sysutils/clsync/pkg-plist4
6 files changed, 148 insertions, 0 deletions
diff --git a/sysutils/clsync/Makefile b/sysutils/clsync/Makefile
new file mode 100644
index 000000000000..11f4d886f358
--- /dev/null
+++ b/sysutils/clsync/Makefile
@@ -0,0 +1,75 @@
+# Created by: Dmitry Yu Okunev dyokunev@ut.mephi.ru
+# $FreeBSD$
+
+PORTNAME= clsync
+DISTVERSION= 0.4~rc2
+CATEGORIES= sysutils
+
+MAINTAINER= dyokunev@ut.mephi.ru
+COMMENT= Live file sync daemon based on inotify, written in GNU C
+
+LICENSE= GPLv3
+
+LIB_DEPENDS= libinotify.so:${PORTSDIR}/devel/libinotify
+
+GNU_CONFIGURE= yes
+USES= gmake libtool pkgconfig
+USE_GNOME= glib20
+
+USE_RC_SUBR= clsync
+
+SUB_FILES= pkg-message
+
+USE_GITHUB= yes
+GH_ACCOUNT= xaionaro
+GH_PROJECT= clsync
+GH_COMMIT= 15501e4
+GH_TAGNAME= ${GH_COMMIT}
+
+USE_AUTOTOOLS= autoconf aclocal automake libtoolize
+
+OPTIONS_DEFINE= PARANOID VERYPARANOID SOCKET DEBUG LIBCLSYNC
+
+PARANOID_DESC= Enable paranoid secure routines
+VERYPARANOID_DESC=Enable extra paranoid secure routines and disable some extra features
+SOCKET_DESC= Enable control socket support
+LIBCLSYNC_DESC= Build libclsync.so for control socket clients
+
+OPTIONS_DEFAULT=PARANOID
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MVERYPARANOID}
+CONFIGURE_ARGS+= --enable-paranoid=2
+.else
+.if ${PORT_OPTIONS:MPARANOID}
+CONFIGURE_ARGS+= --enable-paranoid=1
+.else
+CONFIGURE_ARGS+= --enable-paranoid=0
+.endif
+.endif
+
+.if ${PORT_OPTIONS:MSOCKET}
+CONFIGURE_ARGS+= --enable-socket
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+CONFIGURE_ARGS+= --enable-debug
+.endif
+
+.if ${PORT_OPTIONS:MLIBCLSYNC}
+CONFIGURE_ARGS+= --enable-libclsync
+.endif
+
+.include <bsd.port.pre.mk>
+
+pre-configure:
+ cd "${WRKSRC}" && ${AUTORECONF} -fi
+
+do-install:
+ @${INSTALL_SCRIPT} ${WRKSRC}/clsync ${STAGEDIR}/${PREFIX}/sbin/clsync
+ ${INSTALL_DATA} ${WRKSRC}/man/man1/clsync.1 ${STAGEDIR}/${PREFIX}/man/man1/clsync.1
+ ${MKDIR} ${STAGEDIR}/${ETCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/freebsd/usr/local/etc/clsync/${PORTNAME}.conf ${STAGEDIR}/${ETCDIR}/${PORTNAME}.conf
+
+.include <bsd.port.post.mk>
diff --git a/sysutils/clsync/distinfo b/sysutils/clsync/distinfo
new file mode 100644
index 000000000000..bba4c3faff70
--- /dev/null
+++ b/sysutils/clsync/distinfo
@@ -0,0 +1,2 @@
+SHA256 (clsync-0.4~rc2.tar.gz) = 86adce37978d4e69525b729943b62a4a0e74196832fb812ad50cc8a58d35dccb
+SIZE (clsync-0.4~rc2.tar.gz) = 142026
diff --git a/sysutils/clsync/files/clsync.in b/sysutils/clsync/files/clsync.in
new file mode 100644
index 000000000000..64c44c1f79c0
--- /dev/null
+++ b/sysutils/clsync/files/clsync.in
@@ -0,0 +1,56 @@
+#!/bin/sh
+# $FreeBSD:
+
+# PROVIDE: clsync
+# REQUIRE: FILESYSTEMS
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name=clsync
+
+rcvar=clsync_enable
+
+load_rc_config $name
+
+start_cmd=clsync_start
+start_precmd=clsync_prestart
+stop_cmd=clsync_stop
+restart_cmd=clsync_restart
+clsync_program="%%PREFIX%%/sbin/clsync"
+
+clsync_prestart()
+{
+ if [ "$clsync_config" = "" ]; then
+ clsync_config=/usr/local/etc/clsync/clsync.conf
+ fi
+
+ if [ "$clsync_config_groups" = "" ]; then
+ clsync_config_groups=default
+ fi
+}
+
+clsync_start()
+{
+ for config_group in $clsync_config_groups; do
+ echo "Running clsync (group ${config_group})."
+ "${clsync_program}" -f "$clsync_config" -K "$config_block" -b \
+ --pid-file=/var/run/clsync-"${config_group}".pid
+ done
+}
+
+clsync_stop()
+{
+ for config_group in $clsync_config_groups; do
+ echo "Stopping clsync (group ${config_group})."
+ pkill -F /var/run/clsync-"${config_group}".pid
+ done
+}
+
+clsync_restart()
+{
+ clsync_stop
+ clsync_start
+}
+
+run_rc_command "$1"
diff --git a/sysutils/clsync/files/pkg-message.in b/sysutils/clsync/files/pkg-message.in
new file mode 100644
index 000000000000..b282da39ed9f
--- /dev/null
+++ b/sysutils/clsync/files/pkg-message.in
@@ -0,0 +1,8 @@
+------------------------------------------------------------------------------
+Author: Dmtiry Yu Okunev; e-mail: dyokunev@ut.mephi.ru; PGP: 0x8E30679C
+What's left:
+ 1. Edit %%PREFIX%%/etc/clsync/clsync.conf
+ 2. Set clsync_enable="YES" in /etc/rc.conf
+Start the program: %%PREFIX%%/etc/rc.d/clsync start
+------------------------------------------------------------------------------
+
diff --git a/sysutils/clsync/pkg-descr b/sysutils/clsync/pkg-descr
new file mode 100644
index 000000000000..0de4d5b1d5a9
--- /dev/null
+++ b/sysutils/clsync/pkg-descr
@@ -0,0 +1,3 @@
+file live sync daemon based on inotify, written in GNU C
+
+WWW: https://github.com/xaionaro/clsync
diff --git a/sysutils/clsync/pkg-plist b/sysutils/clsync/pkg-plist
new file mode 100644
index 000000000000..6da71d9054e3
--- /dev/null
+++ b/sysutils/clsync/pkg-plist
@@ -0,0 +1,4 @@
+sbin/clsync
+man/man1/clsync.1.gz
+@sample etc/clsync/clsync.conf
+@dirrmtry %%ETCDIR%%