This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".
The branch, master has been updated
via 7473defb95e13e254d3e4cd481f33ce5b03ee6ad (commit)
from f03929e702ebe2b607765f0ab304b2be34c7e028 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7473defb95e13e254d3e4cd481f33ce5b03ee6ad
Author: Stefan Schantl <stefan.schantl(a)ipfire.org>
Date: Wed May 11 11:32:20 2016 +0200
rsync: Update to 3.1.2.
This is a minor update to the latest stable version of rsync.
* Drop patch which got upstream.
* Link/Use system libpopt and zlib instead of bundled ones.
* Enable testsuite.
* Drop xinetd support and add service files for systemd.
* Ship a sample configuration file.
Fixes #11118.
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
rsync/patches/rsync-3.0.7-buf-overflow.patch | 39 -------------------
rsync/rsync.nm | 58 ++++++++++++++++++++++++++--
rsync/rsyncd.conf | 20 ++++++++++
rsync/systemd/rsyncd.service | 9 +++++
rsync/systemd/rsyncd.socket | 10 +++++
rsync/systemd/rsyncd@.service | 7 ++++
6 files changed, 100 insertions(+), 43 deletions(-)
delete mode 100644 rsync/patches/rsync-3.0.7-buf-overflow.patch
create mode 100644 rsync/rsyncd.conf
create mode 100644 rsync/systemd/rsyncd.service
create mode 100644 rsync/systemd/rsyncd.socket
create mode 100644 rsync/systemd/rsyncd@.service
Difference in files:
diff --git a/rsync/patches/rsync-3.0.7-buf-overflow.patch b/rsync/patches/rsync-3.0.7-buf-overflow.patch
deleted file mode 100644
index 2c6b195..0000000
--- a/rsync/patches/rsync-3.0.7-buf-overflow.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-index 7139b10..fef15aa 100644
---- a/flist.c
-+++ b/flist.c
-@@ -1640,21 +1640,29 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
- }
-
- p = fbuf + len;
-- if (len != 1 || *fbuf != '/')
-+ if (len == 1 && *fbuf == '/')
-+ remainder = MAXPATHLEN - 1;
-+ else if (len < MAXPATHLEN-1) {
- *p++ = '/';
-- *p = '\0';
-- remainder = MAXPATHLEN - (p - fbuf);
-+ *p = '\0';
-+ remainder = MAXPATHLEN - (len + 1);
-+ } else
-+ remainder = 0;
-
- for (errno = 0, di = readdir(d); di; errno = 0, di = readdir(d)) {
- char *dname = d_name(di);
- if (dname[0] == '.' && (dname[1] == '\0'
- || (dname[1] == '.' && dname[2] == '\0')))
- continue;
-- if (strlcpy(p, dname, remainder) >= remainder) {
-+ unsigned name_len = strlcpy(p, dname, remainder);
-+ if (name_len >= remainder) {
-+ char save = fbuf[len];
-+ fbuf[len] = '\0';
- io_error |= IOERR_GENERAL;
- rprintf(FERROR_XFER,
-- "cannot send long-named file %s\n",
-- full_fname(fbuf));
-+ "filename overflows max-path len by %u: %s/%s\n",
-+ name_len - remainder + 1, fbuf, dname);
-+ fbuf[len] = save;
- continue;
- }
- if (dname[0] == '\0') {
diff --git a/rsync/rsync.nm b/rsync/rsync.nm
index 3af7d69..36e04b2 100644
--- a/rsync/rsync.nm
+++ b/rsync/rsync.nm
@@ -4,7 +4,7 @@
###############################################################################
name = rsync
-version = 3.0.7
+version = 3.1.2
release = 1
groups = Applications/Internet
@@ -31,8 +31,17 @@ build
libacl-devel
libattr-devel
popt-devel
+ zlib-devel
+
+ # Testsuite.
+ %{bindir}/setfacl
end
+ configure_options += \
+ --without-included-popt \
+ --without-included-zlib
+
+
prepare_cmds
# Fix permission issure.
cd %{DIR_APP} && chmod -x support/*
@@ -52,19 +61,60 @@ build
make_build_targets = proto all
+ test
+ # Fix permissions of testsuite helper script.
+ #
+ # Otherwise some tests of the testsuite will fail,
+ # because the script is not allowed to be executed.
+ chmod +x ./support/lsh.sh
+
+ make check
+ end
+
make_install_targets += \
INSTALLCMD="install -p" \
INSTALLMAN="install -p"
install_cmds
- mkdir -pv %{BUILDROOT}/etc/xinetd.d
- install -p -m 644 %{DIR_SOURCE}/rsync.xinetd \
- %{BUILDROOT}/etc/xinetd.d/rsync
+
+ # Install config file.
+ mkdir -pv %{BUILDROOT}%{sysconfdir}
+
+ install -m 0644 %{DIR_SOURCE}/rsyncd.conf \
+ %{BUILDROOT}%{sysconfdir}/
+
+ # Create directory for pidfile.
+ mkdir -pv %{BUILDROOT}/run/rsyncd
end
+
end
packages
package %{name}
+ configfiles
+ %{sysconfdir}/rsyncd.conf
+ end
+
+ script postin
+ systemctl daemon-reload >/dev/null 2>&1 || :
+ end
+
+ script preun
+ systemctl --no-reload disable rsyncd.service >/dev/null 2>&1 || :
+ systemctl --no-reload disable rsyncd.socket >/dev/null 2>&1 || :
+ systemctl stop rsyncd.service >/dev/null 2>&1 || :
+ systemctl stop rsyncd.socket >/dev/null 2>&1 || :
+ systemctl stop rsyncd@.service >/dev/null 2>&1 || :
+ end
+
+ script postun
+ systemctl daemon-reload >/dev/null 2>&1 || :
+ end
+
+ script postup
+ systemctl daemon-reload >/dev/null 2>&1 || :
+ systemctl try-restart rsyncd.service >/dev/null 2>&1 || :
+ end
end
package %{name}-debuginfo
diff --git a/rsync/rsyncd.conf b/rsync/rsyncd.conf
new file mode 100644
index 0000000..09e768f
--- /dev/null
+++ b/rsync/rsyncd.conf
@@ -0,0 +1,20 @@
+# /etc/rsyncd: configuration file for rsync daemon mode
+
+# See rsyncd.conf man page for more options.
+
+# configuration example:
+
+# uid = nobody
+# gid = nobody
+# use chroot = yes
+# max connections = 4
+# pid file = /run/rsyncd/rsyncd.pid
+# exclude = lost+found/
+# transfer logging = yes
+# timeout = 900
+# ignore nonreadable = yes
+# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
+
+# [ftp]
+# path = /home/ftp
+# comment = ftp export area
diff --git a/rsync/systemd/rsyncd.service b/rsync/systemd/rsyncd.service
new file mode 100644
index 0000000..30c3ca0
--- /dev/null
+++ b/rsync/systemd/rsyncd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Fast remote file copy program daemon
+ConditionPathExists=/etc/rsyncd.conf
+
+[Service]
+ExecStart=/usr/bin/rsync --daemon --no-detach
+
+[Install]
+WantedBy=multi-user.target
diff --git a/rsync/systemd/rsyncd.socket b/rsync/systemd/rsyncd.socket
new file mode 100644
index 0000000..7306ad0
--- /dev/null
+++ b/rsync/systemd/rsyncd.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Rsync Server Socket
+Conflicts=rsyncd.service
+
+[Socket]
+ListenStream=873
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/rsync/systemd/rsyncd@.service b/rsync/systemd/rsyncd@.service
new file mode 100644
index 0000000..beef5c9
--- /dev/null
+++ b/rsync/systemd/rsyncd@.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Fast remote file copy program daemon
+ConditionPathExists=/etc/rsyncd.conf
+
+[Service]
+ExecStart=/usr/bin/rsync --daemon --no-detach
+StandardInput=socket
hooks/post-receive
--
IPFire 3.x development tree