rsync: Update to 3.1.2.
Message ID | 1462959140-30778-1-git-send-email-stefan.schantl@ipfire.org |
---|---|
State | Accepted |
Commit | 7473defb95e13e254d3e4cd481f33ce5b03ee6ad |
Headers |
Return-Path: <development-bounces@lists.ipfire.org> Received: from mail01.ipfire.org (hedwig.ipfire.org [172.28.1.200]) by web02.ipfire.org (Postfix) with ESMTP id 2192662476 for <patchwork@ipfire.org>; Wed, 11 May 2016 11:32:01 +0200 (CEST) Received: from mail01.ipfire.org (localhost [IPv6:::1]) by mail01.ipfire.org (Postfix) with ESMTP id 4C9DFA74; Wed, 11 May 2016 11:32:00 +0200 (CEST) Received: from tuxedo.stevee (213162068234.public.t-mobile.at [213.162.68.234]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4870AA58; Wed, 11 May 2016 11:31:57 +0200 (CEST) From: Stefan Schantl <stefan.schantl@ipfire.org> To: development@lists.ipfire.org Subject: [PATCH] rsync: Update to 3.1.2. Date: Wed, 11 May 2016 11:32:20 +0200 Message-Id: <1462959140-30778-1-git-send-email-stefan.schantl@ipfire.org> X-Mailer: git-send-email 2.5.5 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: IPFire development talk <development.lists.ipfire.org> List-Unsubscribe: <http://lists.ipfire.org/mailman/options/development>, <mailto:development-request@lists.ipfire.org?subject=unsubscribe> List-Archive: <http://lists.ipfire.org/pipermail/development/> List-Post: <mailto:development@lists.ipfire.org> List-Help: <mailto:development-request@lists.ipfire.org?subject=help> List-Subscribe: <http://lists.ipfire.org/mailman/listinfo/development>, <mailto:development-request@lists.ipfire.org?subject=subscribe> Errors-To: development-bounces@lists.ipfire.org Sender: "Development" <development-bounces@lists.ipfire.org> |
Message
Stefan Schantl
May 11, 2016, 7:32 p.m. UTC
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@ipfire.org>
---
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
Comments
Hi, I merged this. However, you create /run/rsyncd which is not re-created in a systemd tempfile. Could you please send a new commit that adds that and bump the release? Best, -Michael On Wed, 2016-05-11 at 11:32 +0200, Stefan Schantl wrote: > 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@ipfire.org> > --- > 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 > > 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