Hello community, here is the log from the commit of package lsyncd for openSUSE:Factory checked in at 2015-08-11 08:26:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lsyncd (Old) and /work/SRC/openSUSE:Factory/.lsyncd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lsyncd" Changes: -------- --- /work/SRC/openSUSE:Factory/lsyncd/lsyncd.changes 2013-04-08 14:53:48.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.lsyncd.new/lsyncd.changes 2015-08-11 08:26:41.000000000 +0200 @@ -1,0 +2,32 @@ +Thu Jul 30 09:58:39 UTC 2015 - [email protected] + +- Add lsyncd-lua-5_3.patch: Fix build with LUA 5.3. + +------------------------------------------------------------------- +Fri Jun 5 22:32:26 UTC 2015 - [email protected] + +- Remove scriptlets pre/post on systems with sysvinit support. + +------------------------------------------------------------------- +Sun Mar 1 13:59:17 UTC 2015 - [email protected] + +- Update to version 2.1.5 + * enhancement: Added rsync options: bwlimit, timeout + * fix: Specifying ssh port no longer overwrites the last rsync option + * fix: rsync option password_file is now accepted + * fix: onAttrib is accepted again + * fix: -log Exec now prints now fully all arguments + * fix: configure script lua detection now includes math lib to workaround + wrongly created "needs COMPAT_ALL" messages. + * fix: repaired variable replacement for layer 3 scripts + * fix: config.delay is now checked to a number >= 0 + * change: a2x is no longer checked by configure script. should not be + needed when building from tarball +- Use download Url as source +- Add sysconfig config script support for init scripts +- Fix sysvinit script to be able to use sysconfig options +- Add systemd support for openSUSE > 13.2 +- Add required macros to support correctly sysvinit script +- Remove redundant %clean section + +------------------------------------------------------------------- Old: ---- lsyncd-2.1.4.tar.gz New: ---- lsyncd-2.1.5.tar.gz lsyncd-lua-5_3.patch lsyncd.logrotate lsyncd.service lsyncd.sysconfig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lsyncd.spec ++++++ --- /var/tmp/diff_new_pack.9tE78u/_old 2015-08-11 08:26:42.000000000 +0200 +++ /var/tmp/diff_new_pack.9tE78u/_new 2015-08-11 08:26:42.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package lsyncd # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,23 +16,36 @@ # +%if 0%{?suse_version} > 1230 +%bcond_without systemd +%else +%bcond_with systemd +%endif + Name: lsyncd -Version: 2.1.4 +Version: 2.1.5 Release: 0 Url: http://code.google.com/p/lsyncd/ -Source0: %{name}-%{version}.tar.gz +Source0: http://lsyncd.googlecode.com/files/%{name}-%{version}.tar.gz Source1: %{name}-init.d Source2: %{name}.conf Source3: rsync_sudo.sh +Source4: %{name}.service +Source5: %{name}.sysconfig +Source6: %{name}.logrotate +Patch0: lsyncd-lua-5_3.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if 0%{?suse_version} +BuildRequires: asciidoc +BuildRequires: automake +BuildRequires: lua-devel >= 5.1 BuildRequires: pkg-config +%if %{with systemd} +%{?systemd_requires} +BuildRequires: systemd-rpm-macros %else -BuildRequires: pkgconfig +PreReq: %insserv_prereq %endif -BuildRequires: automake -BuildRequires: asciidoc -BuildRequires: lua-devel >= 5.1 +PreReq: %fillup_prereq Requires: rsync Summary: Live Syncing (Mirror) Daemon License: GPL-2.0 @@ -43,6 +56,9 @@ %prep %setup -q +if pkg-config --atleast-version=5.3 lua; then +%patch0 -p1 +fi %build autoreconf -fiv @@ -54,25 +70,63 @@ %install %makeinstall -%{__mkdir_p} %{buildroot}%{_docdir}/%{name} +%{__mkdir_p} %{buildroot}%{_sbindir} %{__mkdir_p} %{buildroot}%{_sysconfdir}/%{name} %{__mkdir_p} %{buildroot}%{_localstatedir}/log/lsyncd +%if %{with systemd} +%__install -Dm 755 %{S:4} %{buildroot}%{_unitdir}/lsyncd.service +ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc%{name} +%__install -Dm 644 %{S:6} %{buildroot}%{_sysconfdir}/logrotate.d/lsyncd +%else %__install -Dm 755 %{S:1} %{buildroot}%{_initrddir}/lsyncd +ln -fs %{_sysconfdir}/init.d/lsyncd %{buildroot}%{_sbindir}/rc%{name} +%endif %__install -Dm 755 %{S:2} %{buildroot}%{_sysconfdir}/lsyncd/lsyncd.conf %__install -Dm 755 %{S:3} %{buildroot}%{_sysconfdir}/lsyncd/rsync_sudo.sh +%__install -Dm 644 %{S:5} %{buildroot}%{_var}/adm/fillup-templates/sysconfig.%{name} -%clean -test "%{buildroot}" != "/" && %__rm -rf %{buildroot} +%if %{with systemd} +%pre +%service_add_pre lsyncd.service +%endif + +%post +%if %{with systemd} +%service_add_post lsyncd.service +%{fillup_only} +%else +%{fillup_and_insserv} +%endif + +%if %{with systemd} +%preun +%service_del_preun lsyncd.service +%endif + +%postun +%if %{with systemd} +%service_del_postun lsyncd.service +%else +%{restart_on_update} +%{insserv_cleanup} +%endif %files %defattr(-,root,root) %doc ChangeLog COPYING %{_bindir}/lsyncd %{_mandir}/man1/lsyncd.1.gz +%if %{with systemd} +%{_unitdir}/lsyncd.service +%{_sysconfdir}/logrotate.d/lsyncd +%else %{_initrddir}/lsyncd +%endif +%{_sbindir}/rc%{name} %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/lsyncd.conf %config(noreplace) %{_sysconfdir}/%{name}/rsync_sudo.sh %dir %{_localstatedir}/log/%{name} +%{_var}/adm/fillup-templates/sysconfig.%{name} %changelog ++++++ lsyncd-2.1.4.tar.gz -> lsyncd-2.1.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/COPYING new/lsyncd-2.1.5/COPYING --- old/lsyncd-2.1.4/COPYING 2012-08-03 13:13:59.000000000 +0200 +++ new/lsyncd-2.1.5/COPYING 2013-06-03 13:48:29.000000000 +0200 @@ -313,8 +313,8 @@ If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + Lsyncd version 2.X, Copyright (C) 2013 Axel Kittenberger + Lsyncd comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. @@ -328,7 +328,7 @@ necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. + `Lsyncd' (which makes synchronises directories) written by Axel Kittenberger. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/ChangeLog new/lsyncd-2.1.5/ChangeLog --- old/lsyncd-2.1.4/ChangeLog 2012-11-24 14:32:24.000000000 +0100 +++ new/lsyncd-2.1.5/ChangeLog 2013-06-07 14:10:37.000000000 +0200 @@ -1,3 +1,16 @@ +07-07-2013: 2.1.5 + enhancement: Added rsync options: bwlimit, timeout + fix: Specifying ssh port no longer overwrites the last rsync option + fix: rsync option password_file is now accepted + fix: onAttrib is accepted again + fix: -log Exec now prints now fully all arguments + fix: configure script lua detection now includes math lib to workaround + wrongly created "needs COMPAT_ALL" messages. + fix: repaired variable replacement for layer 3 scripts + fix: config.delay is now checked to a number >= 0 + change: a2x is no longer checked by configure script. + should not be needed when building from tarball + 24-11-2012: 2.1.4 fix: making ssh custom port changes work with ssh and rsync diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/Makefile.in new/lsyncd-2.1.5/Makefile.in --- old/lsyncd-2.1.4/Makefile.in 2012-11-24 14:33:17.000000000 +0100 +++ new/lsyncd-2.1.5/Makefile.in 2013-06-07 13:27:05.000000000 +0200 @@ -145,7 +145,6 @@ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print -A2X = @A2X@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/configure new/lsyncd-2.1.5/configure --- old/lsyncd-2.1.4/configure 2012-11-24 14:33:17.000000000 +0100 +++ new/lsyncd-2.1.5/configure 2013-06-07 13:27:05.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for lsyncd 2.1.4. +# Generated by GNU Autoconf 2.69 for lsyncd 2.1.5. # # Report bugs to <[email protected]>. # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='lsyncd' PACKAGE_TARNAME='lsyncd' -PACKAGE_VERSION='2.1.4' -PACKAGE_STRING='lsyncd 2.1.4' +PACKAGE_VERSION='2.1.5' +PACKAGE_STRING='lsyncd 2.1.5' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -648,7 +648,6 @@ PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG -A2X am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE @@ -1292,7 +1291,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures lsyncd 2.1.4 to adapt to many kinds of systems. +\`configure' configures lsyncd 2.1.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1358,7 +1357,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of lsyncd 2.1.4:";; + short | recursive ) echo "Configuration of lsyncd 2.1.5:";; esac cat <<\_ACEOF @@ -1465,7 +1464,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -lsyncd configure 2.1.4 +lsyncd configure 2.1.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1767,7 +1766,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by lsyncd $as_me 2.1.4, which was +It was created by lsyncd $as_me 2.1.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2582,7 +2581,7 @@ # Define the identity of the package. PACKAGE='lsyncd' - VERSION='2.1.4' + VERSION='2.1.5' cat >>confdefs.h <<_ACEOF @@ -3643,50 +3642,10 @@ fi -# Extract the first word of "a2x", so it can be a program name with args. -set dummy a2x; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_A2X+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $A2X in - [\\/]* | ?:[\\/]*) - ac_cv_path_A2X="$A2X" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_A2X="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_A2X" && ac_cv_path_A2X="no" - ;; -esac -fi -A2X=$ac_cv_path_A2X -if test -n "$A2X"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $A2X" >&5 -$as_echo "$A2X" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if test x${A2X} = xno ; then - as_fn_error $? "Program 'a2x' (package asciidoc) is required" "$LINENO" 5 -fi +#AC_PATH_PROG([A2X], [a2x], [no]) +#if test x${A2X} = xno ; then +# AC_MSG_ERROR([Program 'a2x' (package asciidoc) is required]) +#fi ### # Checks for Lua @@ -5185,7 +5144,7 @@ _LIBS="${LIBS}" _CFLAGS="${CFLAGS}" _CPPFLAGS="${CPPFLAGS}" -LIBS="${LIBS} ${LUA_LIBS}" +LIBS="-lm ${LIBS} ${LUA_LIBS}" CFLAGS="${CFLAGS} ${LUA_CFLAGS}" CPPFLAGS="${CPPFLAGS} ${LUA_CFLAGS}" @@ -6228,7 +6187,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by lsyncd $as_me 2.1.4, which was +This file was extended by lsyncd $as_me 2.1.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -6294,7 +6253,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -lsyncd config.status 2.1.4 +lsyncd config.status 2.1.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/configure.ac new/lsyncd-2.1.5/configure.ac --- old/lsyncd-2.1.4/configure.ac 2012-11-24 14:32:52.000000000 +0100 +++ new/lsyncd-2.1.5/configure.ac 2013-06-07 13:26:33.000000000 +0200 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. #AC_PREREQ(2.60) -AC_INIT(lsyncd, 2.1.4, [email protected]) +AC_INIT(lsyncd, 2.1.5, [email protected]) AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_MACRO_DIR([m4]) @@ -15,10 +15,10 @@ AC_PROG_INSTALL AC_PROG_MAKE_SET -AC_PATH_PROG([A2X], [a2x], [no]) -if test x${A2X} = xno ; then - AC_MSG_ERROR([Program 'a2x' (package asciidoc) is required]) -fi +#AC_PATH_PROG([A2X], [a2x], [no]) +#if test x${A2X} = xno ; then +# AC_MSG_ERROR([Program 'a2x' (package asciidoc) is required]) +#fi ### # Checks for Lua @@ -71,7 +71,7 @@ _LIBS="${LIBS}" _CFLAGS="${CFLAGS}" _CPPFLAGS="${CPPFLAGS}" -LIBS="${LIBS} ${LUA_LIBS}" +LIBS="-lm ${LIBS} ${LUA_LIBS}" CFLAGS="${CFLAGS} ${LUA_CFLAGS}" CPPFLAGS="${CPPFLAGS} ${LUA_CFLAGS}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/default-rsync.lua new/lsyncd-2.1.5/default-rsync.lua --- old/lsyncd-2.1.4/default-rsync.lua 2012-11-09 20:14:16.000000000 +0100 +++ new/lsyncd-2.1.5/default-rsync.lua 2013-06-07 11:12:17.000000000 +0200 @@ -52,6 +52,7 @@ acls = true, archive = true, binary = true, + bwlimit = true, checksum = true, compress = true, copy_links = true, @@ -67,6 +68,7 @@ links = true, one_file_system = true, owner = true, + password_file = true, perms = true, protect_args = true, prune_empty_dirs = true, @@ -75,6 +77,7 @@ rsync_path = true, sparse = true, temp_dir = true, + timeout = true, times = true, update = true, verbose = true, @@ -459,6 +462,11 @@ computedN = computedN + 1 end end + + if crsync.bwlimit then + computed[ computedN ] = '--bwlimit=' .. crsync.bwlimit + computedN = computedN + 1 + end if crsync.password_file then computed[ computedN ] = '--password-file=' .. crsync.password_file @@ -480,6 +488,11 @@ computedN = computedN + 1 end + if crsync.timeout then + computed[ computedN ] = '--timeout=' .. crsync.timeout + computedN = computedN + 1 + end + if shortsN ~= 2 then computed[ 1 ] = table.concat( shorts, '' ) else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/default-rsyncssh.lua new/lsyncd-2.1.5/default-rsyncssh.lua --- old/lsyncd-2.1.4/default-rsyncssh.lua 2012-11-23 16:03:01.000000000 +0100 +++ new/lsyncd-2.1.5/default-rsyncssh.lua 2013-06-07 13:39:05.000000000 +0200 @@ -306,11 +306,11 @@ computedN = computedN + 2 local rsyncc = config.rsync._computed - rsyncc[ #rsyncc ] = '--rsh=ssh -p ' .. cssh.port + rsyncc[ #rsyncc + 1 ] = '--rsh=ssh -p ' .. cssh.port end -- appends a slash to the targetdir if missing - if string.sub(config.targetdir, -1) ~= '/' then + if string.sub( config.targetdir, -1 ) ~= '/' then config.targetdir = config.targetdir .. '/' end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/default.lua new/lsyncd-2.1.5/default.lua --- old/lsyncd-2.1.4/default.lua 2012-11-09 20:13:14.000000000 +0100 +++ new/lsyncd-2.1.5/default.lua 2013-06-03 13:48:29.000000000 +0200 @@ -34,22 +34,23 @@ -- used to ensure there aren't typos in the keys -- default.checkgauge = { - action = true, - checkgauge = true, - collect = true, - delay = true, - exitcodes = true, - init = true, - maxDelays = true, - maxProcesses = true, - onCreate = true, - onModify = true, - onDelete = true, - onStartup = true, - onMove = true, - prepare = true, - source = true, - target = true, + action = true, + checkgauge = true, + collect = true, + delay = true, + exitcodes = true, + init = true, + maxDelays = true, + maxProcesses = true, + onAttrib = true, + onCreate = true, + onModify = true, + onDelete = true, + onStartup = true, + onMove = true, + prepare = true, + source = true, + target = true, } -- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/doc/lsyncd.1 new/lsyncd-2.1.5/doc/lsyncd.1 --- old/lsyncd-2.1.4/doc/lsyncd.1 2012-10-02 21:14:38.000000000 +0200 +++ new/lsyncd-2.1.5/doc/lsyncd.1 2013-06-07 10:32:12.000000000 +0200 @@ -71,11 +71,11 @@ .RE .SH "DESCRIPTION" .sp -Lsyncd(1) watches local directory trees through an event monitor interface (inotify, fsevents)\&. It aggregates and combines events for a few seconds and then spawns one or more processes to synchronize the changes\&. By default this is rsync(1)\&. Lsyncd is thus a light\-weight asynchronous live mirror solution that is comparatively easy to install not requiring new filesystems or blockdevices and does not hamper local filesystem performance\&. +Lsyncd(1) watches local directory trees through an event monitor interface (inotify, fsevents)\&. It aggregates and combines events for a few seconds and then spawns one or more processes to synchronize the changes\&. By default this is rsync(1)\&. Lsyncd is thus a light\-weight asynchronous live mirror solution that is comparatively easy to install not requiring new filesystems or block devices and does not hamper local filesystem performance\&. .sp -Rsync+ssh is an advanced action configuration that uses a SSH(1) to act file and directory moves directly on the target instead of retransmitting the move destination over the wire\&. +Rsync+ssh is an advanced action configuration that uses a SSH(1) to act file and directory moves directly on the target instead of re\-transmitting the move destination over the wire\&. .sp -Fine\-grained customization can be achieved through the CONFIG\-FILE\&. Custom action configs can even be written from scratch in cascading layers ranging from shell scripts to code written in the LUA(1) language\&. This way simplicity can be balanced with powerfulness\&. See the online manual for details on the CONFIG\-FILE http://code\&.google\&.com/p/lsyncd/wiki/Lsyncd20Manual +Fine\-grained customization can be achieved through the CONFIG\-FILE\&. Custom action configs can even be written from scratch in cascading layers ranging from shell scripts to code written in the LUA(1) language\&. This way simplicity can be balanced with powerfulness\&. See the online manual for details on the CONFIG\-FILE https://github\&.com/axkibe/lsyncd/wiki/Manual\-to\-Lsyncd\-2\&.0\&.x \&. .sp Note that under normal configuration Lsyncd will delete pre\-existing files in the target directories that are not present in the respective source directory\&. .SH "OPTIONS" @@ -92,7 +92,7 @@ .PP \fB\-insist\fR .RS 4 -Continues startup even if a startup rsync cannot connect\&. +Continues start up even if rsync cannot connect\&. .RE .PP \fB\-log\fR \fILEVEL\fR @@ -149,7 +149,7 @@ .RE .SH "SEE ALSO" .sp -Online Manual: http://code\&.google\&.com/p/lsyncd/wiki/Lsyncd2 +Online Manual: https://github\&.com/axkibe/lsyncd/wiki/Lsyncd\-2\&.1\&.x\-%E2%80%96\-What\(cqs\-New%3F .SH "VERSION" .sp This man page is for lsyncd(1) version 2\&.0\&.7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/doc/lsyncd.1.txt new/lsyncd-2.1.5/doc/lsyncd.1.txt --- old/lsyncd-2.1.4/doc/lsyncd.1.txt 2012-08-03 13:13:59.000000000 +0200 +++ new/lsyncd-2.1.5/doc/lsyncd.1.txt 2013-06-03 13:48:29.000000000 +0200 @@ -31,17 +31,17 @@ then spawns one or more processes to synchronize the changes. By default this is rsync(1). Lsyncd is thus a light-weight asynchronous live mirror solution that is comparatively easy to install not requiring new filesystems or -blockdevices and does not hamper local filesystem performance. +block devices and does not hamper local filesystem performance. Rsync+ssh is an advanced action configuration that uses a SSH(1) to act file -and directory moves directly on the target instead of retransmitting the move +and directory moves directly on the target instead of re-transmitting the move destination over the wire. Fine-grained customization can be achieved through the CONFIG-FILE. Custom action configs can even be written from scratch in cascading layers ranging from shell scripts to code written in the LUA(1) language. This way simplicity can be balanced with powerfulness. See the online manual for details on the -CONFIG-FILE http://code.google.com/p/lsyncd/wiki/Lsyncd20Manual +CONFIG-FILE https://github.com/axkibe/lsyncd/wiki/Manual-to-Lsyncd-2.0.x . Note that under normal configuration Lsyncd will delete pre-existing files in the target directories that are not present in the respective source directory. @@ -55,7 +55,7 @@ Show a help message. *-insist*:: - Continues startup even if a startup rsync cannot connect. + Continues start up even if rsync cannot connect. *-log* 'LEVEL':: Controls which kind of events are logged. By default Lsyncd logs 'Normal' @@ -88,7 +88,7 @@ SEE ALSO -------- -Online Manual: http://code.google.com/p/lsyncd/wiki/Lsyncd2 +Online Manual: https://github.com/axkibe/lsyncd/wiki/Lsyncd-2.1.x-%E2%80%96-What's-New%3F VERSION ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/examples/lecho.lua new/lsyncd-2.1.5/examples/lecho.lua --- old/lsyncd-2.1.4/examples/lecho.lua 2012-08-09 08:44:33.000000000 +0200 +++ new/lsyncd-2.1.5/examples/lecho.lua 2013-06-03 13:48:29.000000000 +0200 @@ -1,8 +1,7 @@ ----- -- User configuration file for lsyncd. -- --- This example uses local bash commands to keep two local --- directory trees in sync. +-- This example uses just echos the operations -- ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/lsyncd.c new/lsyncd-2.1.5/lsyncd.c --- old/lsyncd-2.1.4/lsyncd.c 2012-10-08 08:21:12.000000000 +0200 +++ new/lsyncd-2.1.5/lsyncd.c 2013-06-07 11:10:03.000000000 +0200 @@ -560,7 +560,7 @@ } else if( pm->pos >= pm->tlen ) { - logstring("Exec", "finished pipe."); + logstring( "Exec", "finished pipe." ); nonobserve_fd(fd); } } @@ -1116,17 +1116,29 @@ for( i = 1; i <= argc; i++ ) { lua_pushstring( L, " [" ); - lua_pushvalue( L, i + 1 ); + lua_pushvalue( L, i + 1 ); lua_pushstring( L, "]" ); } lua_concat( L, 3 * argc + 1 ); + // replaces midfile 0 chars by linefeed + size_t len = 0; + const char * cs = lua_tolstring( L, -1, &len ); + char * s = s_calloc( len + 1, sizeof( char ) ); + + for( i = 0; i < len; i++ ) + { + s[ i ] = cs[ i ] ? cs[ i ] : '\n'; + } + logstring0( LOG_DEBUG, "Exec", - luaL_checkstring(L, -1) + s ); + free( s ); + lua_pop( L, 1 ); } @@ -1246,7 +1258,7 @@ struct pipemsg *pm; logstring( "Exec", "adding pipe observance" ); pm = s_calloc( 1, sizeof( struct pipemsg ) ); - pm->text = s_calloc( pipe_len + 1, sizeof( char * ) ); + pm->text = s_calloc( pipe_len + 1, sizeof( char ) ); memcpy( pm->text, pipe_text, pipe_len + 1 ); pm->tlen = pipe_len; pm->pos = len; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lsyncd-2.1.4/lsyncd.lua new/lsyncd-2.1.5/lsyncd.lua --- old/lsyncd-2.1.4/lsyncd.lua 2012-11-24 14:33:01.000000000 +0100 +++ new/lsyncd-2.1.5/lsyncd.lua 2013-06-07 14:23:20.000000000 +0200 @@ -30,7 +30,7 @@ lsyncd.terminate( -1 ) end -lsyncd_version = '2.1.4' +lsyncd_version = '2.1.5' -- -- Hides the core interface from user scripts. @@ -2111,6 +2111,16 @@ end end + if + config.delay ~= nil and + ( + type(config.delay) ~= 'number' or + config.delay < 0 + ) + then + error( 'delay must be a number and >= 0', 2 ) + end + if config.excludeFrom then s.excludes:loadFile( config.excludeFrom ) end @@ -3001,7 +3011,7 @@ while ai <= #a do if a[ ai ][ 1 ] then local pre, post = - string.match( a[ ai ][ 2 ], '(.*)"..v[1].."(.*)' ) + string.match( a[ ai ][ 2 ], '(.*)'..v[1]..'(.*)' ) if pre then @@ -3598,7 +3608,7 @@ { 1, function( secs ) - clSettings.delay = secs + clSettings.delay = secs + 0 end }, ++++++ lsyncd-init.d ++++++ --- /var/tmp/diff_new_pack.9tE78u/_old 2015-08-11 08:26:42.000000000 +0200 +++ /var/tmp/diff_new_pack.9tE78u/_new 2015-08-11 08:26:42.000000000 +0200 @@ -7,42 +7,105 @@ # Default-Start:3 5 # Default-Stop:0 1 2 6 # Short-Description:Start lsyncd +# chkconfig: - 85 15 # Description:Lsyncd uses rsync to synchronize local directories with a remote machine running rsyncd. +# +# processname: lsyncd +# config: /etc/lsyncd.conf +# config: /etc/sysconfig/lsyncd +# pidfile: /var/run/lsyncd.pid ### END INIT INFO -config="/etc/lsyncd/lsyncd.conf" -lsyncd="/usr/bin/lsyncd" +# Source function library +. /etc/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +# Check that networking is up. +[ "$NETWORKING" = "no" ] && exit 0 + +LSYNCD_OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf" + +if [ -e /etc/sysconfig/lsyncd ]; then + . /etc/sysconfig/lsyncd +fi + +RETVAL=0 + prog="lsyncd" +thelock=/var/lock/subsys/lsyncd + +start() { + [ -f /etc/lsyncd.conf ] || exit 6 + echo -n $"Starting $prog: " + if [ $UID -ne 0 ]; then + RETVAL=1 + failure + else + daemon /usr/bin/lsyncd $LSYNCD_OPTIONS + RETVAL=$? + [ $RETVAL -eq 0 ] && touch $thelock + fi; + echo + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + if [ $UID -ne 0 ]; then + RETVAL=1 + failure + else + killproc lsyncd + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $thelock + fi; + echo + return $RETVAL +} -. /etc/rc.status +reload(){ + echo -n $"Reloading $prog: " + killproc lsyncd -HUP + RETVAL=$? + echo + return $RETVAL +} -rc_reset +restart(){ + stop + start +} + +condrestart(){ + [ -e $thelock ] && restart + return 0 +} case "$1" in -start) -echo -n "Starting $prog: " -$lsyncd -log Exec $config -rc_status -v -;; -stop) -echo -n "Shutting down $prog: " -/bin/kill -9 `/sbin/pidof lsyncd` -until [ -z $(/sbin/pidof lsyncd) ]; do :; done -rc_status -v -;; -restart) -$0 stop -$0 start -rc_status -;; -status) -echo -n "$prog status:" -rc_status -v -;; -*) -echo "Usage: $0 {start|stop|restart|status}" -exit 1 -;; -esac - -rc_exit \ No newline at end of file + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + reload) + reload + ;; + condrestart) + condrestart + ;; + status) + status lsyncd + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}" + RETVAL=1 +esac + +exit $RETVAL ++++++ lsyncd-lua-5_3.patch ++++++ Index: lsyncd-2.1.5/configure.ac =================================================================== --- lsyncd-2.1.5.orig/configure.ac +++ lsyncd-2.1.5/configure.ac @@ -78,7 +78,7 @@ CPPFLAGS="${CPPFLAGS} ${LUA_CFLAGS}" AC_MSG_CHECKING([whether Lua library was compiled with compat support]) AC_LINK_IFELSE( [AC_LANG_PROGRAM([ - #define LUA_COMPAT_ALL + #define LUA_COMPAT_5_1 #include <lauxlib.h> ],[luaL_register(0,0,0);])], [lua_compat_support=yes], Index: lsyncd-2.1.5/lsyncd.h =================================================================== --- lsyncd-2.1.5.orig/lsyncd.h +++ lsyncd-2.1.5/lsyncd.h @@ -16,7 +16,7 @@ #define _XOPEN_SOURCE 700 #define _DARWIN_C_SOURCE 1 -#define LUA_COMPAT_ALL +#define LUA_COMPAT_5_1 // includes needed for headerfile #include "config.h" ++++++ lsyncd.logrotate ++++++ /var/log/lsyncd/*log { missingok notifempty sharedscripts } ++++++ lsyncd.service ++++++ [Unit] Description=Live Syncing (Mirror) Daemon After=network.target [Service] Type=simple Nice=19 EnvironmentFile=-/etc/sysconfig/lsyncd ExecStart=/usr/bin/sh -c 'eval `/usr/bin/lsyncd -nodaemon $LSYNCD_OPTIONS /etc/lsyncd.conf`' [Install] WantedBy=multi-user.target ++++++ lsyncd.sysconfig ++++++ # Keep the space there for systemd. Don't nest variables without # changing the systemd service file to use: /usr/bin/sh -c 'eval XXXX' # #LSYNCD_OPTIONS="-pidfile /run/lsyncd.pid /etc/lsyncd.conf" #LSYNCD_OPTIONS=" "
