public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
* [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 7473defb95e13e254d3e4cd481f33ce5b03ee6ad
@ 2016-05-11 15:50 git
  0 siblings, 0 replies; only message in thread
From: git @ 2016-05-11 15:50 UTC (permalink / raw)
  To: ipfire-scm

[-- Attachment #1: Type: text/plain, Size: 7564 bytes --]

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(a).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(a).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(a).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(a).service b/rsync/systemd/rsyncd(a).service
new file mode 100644
index 0000000..beef5c9
--- /dev/null
+++ b/rsync/systemd/rsyncd(a).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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-05-11 15:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-11 15:50 [git.ipfire.org] IPFire 3.x development tree branch, master, updated. 7473defb95e13e254d3e4cd481f33ce5b03ee6ad git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox