svn commit: r472128 - in head/sysutils: . lsyncd lsyncd/files
Tobias Kortkamp
tobik at FreeBSD.org
Sun Jun 10 10:30:17 UTC 2018
Author: tobik
Date: Sun Jun 10 10:30:14 2018
New Revision: 472128
URL: https://svnweb.freebsd.org/changeset/ports/472128
Log:
New port: sysutils/lsyncd
Lsyncd is designed to synchronize a local directory tree with low
profile of expected changes to a remote mirror. Lsyncd is especially
useful to sync data from a secure area to a not-so-secure area.
WWW: https://axkibe.github.io/lsyncd/
PR: 228714
Submitted by: Junichi Satoh <junichi at junichi.org>
Added:
head/sysutils/lsyncd/
head/sysutils/lsyncd/Makefile (contents, props changed)
head/sysutils/lsyncd/distinfo (contents, props changed)
head/sysutils/lsyncd/files/
head/sysutils/lsyncd/files/lsyncd.conf.sample (contents, props changed)
head/sysutils/lsyncd/files/lsyncd.in (contents, props changed)
head/sysutils/lsyncd/files/patch-CMakeLists.txt (contents, props changed)
head/sysutils/lsyncd/files/patch-default-rsync.lua (contents, props changed)
head/sysutils/lsyncd/files/patch-lsyncd.c (contents, props changed)
head/sysutils/lsyncd/pkg-descr (contents, props changed)
Modified:
head/sysutils/Makefile
Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile Sun Jun 10 10:28:59 2018 (r472127)
+++ head/sysutils/Makefile Sun Jun 10 10:30:14 2018 (r472128)
@@ -626,6 +626,7 @@
SUBDIR += lscpu
SUBDIR += lsof
SUBDIR += lsop
+ SUBDIR += lsyncd
SUBDIR += ltrace
SUBDIR += lttng-tools
SUBDIR += lttng-ust
Added: head/sysutils/lsyncd/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/lsyncd/Makefile Sun Jun 10 10:30:14 2018 (r472128)
@@ -0,0 +1,34 @@
+# $FreeBSD$
+
+PORTNAME= lsyncd
+DISTVERSIONPREFIX= release-
+DISTVERSION= 2.2.3
+CATEGORIES= sysutils
+
+MAINTAINER= junichi at junichi.org
+COMMENT= Live Syncing (Mirror) Daemon
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libinotify.so:devel/libinotify
+
+USES= cmake:outsource localbase lua
+USE_GITHUB= yes
+GH_ACCOUNT= axkibe
+USE_RC_SUBR= lsyncd
+
+CFLAGS+= -D__BSD_VISIBLE # for DT_{UNKNOWN,DIR}
+PLIST_FILES= sbin/lsyncd \
+ man/man1/lsyncd.1.gz \
+ "@sample etc/lsyncd.conf.sample"
+
+post-patch:
+ @${REINPLACE_CMD} 's,/usr/local,${LOCALBASE},' \
+ ${WRKSRC}/CMakeLists.txt \
+ ${WRKSRC}/default-rsync.lua
+
+post-install:
+ ${INSTALL_DATA} ${FILESDIR}/lsyncd.conf.sample ${STAGEDIR}${PREFIX}/etc
+
+.include <bsd.port.mk>
Added: head/sysutils/lsyncd/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/lsyncd/distinfo Sun Jun 10 10:30:14 2018 (r472128)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1528626572
+SHA256 (axkibe-lsyncd-release-2.2.3_GH0.tar.gz) = 7bcd0f4ae126040bb078c482ff856c87e61c22472c23fa3071798dcb1dc388dd
+SIZE (axkibe-lsyncd-release-2.2.3_GH0.tar.gz) = 85165
Added: head/sysutils/lsyncd/files/lsyncd.conf.sample
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/lsyncd/files/lsyncd.conf.sample Sun Jun 10 10:30:14 2018 (r472128)
@@ -0,0 +1,19 @@
+settings {
+ logfile = "/var/log/lsyncd.log",
+ statusFile = "/var/log/lsyncd.status",
+ statusInterval = 1,
+ maxProcesses = 2,
+ insist = 1,
+}
+
+sync{
+ default.rsync,
+ delay = 0,
+ source = "/data/test1",
+ target = "some_host::test1",
+ rsync = {
+ archive = true,
+ compress = true
+ },
+ delete = true
+}
Added: head/sysutils/lsyncd/files/lsyncd.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/lsyncd/files/lsyncd.in Sun Jun 10 10:30:14 2018 (r472128)
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: lsyncd
+# REQUIRE: LOGIN
+# BEFORE: securelevel
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf to enable `lsyncd':
+#
+# lsyncd_enable="YES"
+#
+
+. /etc/rc.subr
+
+name="lsyncd"
+rcvar=lsyncd_enable
+
+command="%%PREFIX%%/sbin/lsyncd"
+pidfile="/var/run/$name.pid"
+
+# read configuration and set defaults
+load_rc_config "$name"
+: ${lsyncd_enable="NO"}
+: ${lsyncd_configfile:=%%PREFIX%%/etc/$name.conf}
+
+required_files="${lsyncd_configfile}"
+
+command_args="-pidfile $pidfile ${lsyncd_configfile}"
+
+run_rc_command "$1"
Added: head/sysutils/lsyncd/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/lsyncd/files/patch-CMakeLists.txt Sun Jun 10 10:30:14 2018 (r472128)
@@ -0,0 +1,14 @@
+--- CMakeLists.txt.orig 2018-03-09 12:39:11 UTC
++++ CMakeLists.txt
+@@ -104,8 +104,8 @@ add_custom_target( tests
+
+ # compiling and linking it all together
+ add_executable( lsyncd ${LSYNCD_SRC} )
+-target_link_libraries( lsyncd ${LUA_LIBRARIES} )
++target_link_libraries( lsyncd ${LUA_LIBRARIES} /usr/local/lib/libinotify.so )
+
+-install( TARGETS lsyncd RUNTIME DESTINATION bin )
+-install( FILES doc/manpage/lsyncd.1 DESTINATION man )
++install( TARGETS lsyncd RUNTIME DESTINATION sbin )
++install( FILES doc/manpage/lsyncd.1 DESTINATION man/man1 )
+
Added: head/sysutils/lsyncd/files/patch-default-rsync.lua
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/lsyncd/files/patch-default-rsync.lua Sun Jun 10 10:30:14 2018 (r472128)
@@ -0,0 +1,11 @@
+--- default-rsync.lua.orig 2018-03-09 12:39:11 UTC
++++ default-rsync.lua
+@@ -682,7 +682,7 @@ rsync.exitcodes = default.rsyncExitCode
+ rsync.rsync =
+ {
+ -- The rsync binary to be called.
+- binary = '/usr/bin/rsync',
++ binary = '/usr/local/bin/rsync',
+ links = true,
+ times = true,
+ protect_args = true
Added: head/sysutils/lsyncd/files/patch-lsyncd.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/lsyncd/files/patch-lsyncd.c Sun Jun 10 10:30:14 2018 (r472128)
@@ -0,0 +1,66 @@
+--- lsyncd.c.orig 2018-03-09 12:39:11 UTC
++++ lsyncd.c
+@@ -1614,10 +1614,21 @@ l_configure( lua_State *L )
+ openlog( log_ident, 0, settings.log_facility );
+ }
+
++#ifdef __FreeBSD__
++ if( !settings.nodaemon )
++ {
++ // daemonnize is already done before open_inotify with FreeBSD.
++ // just writing pidfile is needed at this time.
++ logstring( "Normal", "--- Startup, daemonizing ---" );
++ if (settings.pidfile)
++ {
++ write_pidfile( L, settings.pidfile );
++ }
++ }
++#endif
+ if( !settings.nodaemon && !is_daemon )
+ {
+ logstring( "Normal", "--- Startup, daemonizing ---" );
+-
+ daemonize( L, settings.pidfile );
+ }
+ else
+@@ -2433,6 +2444,10 @@ main1( int argc, char *argv[] )
+
+ int argp = 1;
+
++#ifdef __FreeBSD__
++ static bool call_daemonize = true;
++#endif
++
+ // load Lua
+ L = luaL_newstate( );
+
+@@ -2482,6 +2497,14 @@ main1( int argc, char *argv[] )
+
+ while( i < argc )
+ {
++#ifdef __FreeBSD__
++ if (!strcmp (argv[i], "-nodaemon" ))
++ {
++ call_daemonize = false;
++ i++;
++ continue;
++ }
++#endif
+ if(
+ strcmp( argv[ i ], "-log" ) &&
+ strcmp( argv[ i ], "--log" )
+@@ -2796,6 +2819,14 @@ main1( int argc, char *argv[] )
+ }
+ }
+
++#ifdef __FreeBSD__
++ // daemonize should be done before open_inofity with FreeBSD.
++ if( call_daemonize )
++ {
++ daemonize( L, NULL );
++ }
++#endif
++
+ #ifdef WITH_INOTIFY
+ open_inotify( L );
+ #endif
Added: head/sysutils/lsyncd/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/lsyncd/pkg-descr Sun Jun 10 10:30:14 2018 (r472128)
@@ -0,0 +1,5 @@
+Lsyncd is designed to synchronize a local directory tree with low
+profile of expected changes to a remote mirror. Lsyncd is especially
+useful to sync data from a secure area to a not-so-secure area.
+
+WWW: https://axkibe.github.io/lsyncd/
More information about the svn-ports-all
mailing list