summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-03-17 03:47:03 +0000
committerMike Frysinger <vapier@gentoo.org>2008-03-17 03:47:03 +0000
commit5494cefbe80bc2a881d03370ec5c86d080c48147 (patch)
tree8fc305a7e7b6b3b2ad53e7a5265389e93e2358e1 /net-misc/rsync
parentold (diff)
downloadgentoo-2-5494cefbe80bc2a881d03370ec5c86d080c48147.tar.gz
gentoo-2-5494cefbe80bc2a881d03370ec5c86d080c48147.tar.bz2
gentoo-2-5494cefbe80bc2a881d03370ec5c86d080c48147.zip
Fix from upstream for hang with --dry-run #193243 by David Leverton.
(Portage version: 2.2_pre2)
Diffstat (limited to 'net-misc/rsync')
-rw-r--r--net-misc/rsync/ChangeLog8
-rw-r--r--net-misc/rsync/files/rsync-3.0.0-dry-run-hang.patch19
-rw-r--r--net-misc/rsync/rsync-3.0.0-r2.ebuild75
3 files changed, 101 insertions, 1 deletions
diff --git a/net-misc/rsync/ChangeLog b/net-misc/rsync/ChangeLog
index 0d946876b2e4..7c568b7ba01b 100644
--- a/net-misc/rsync/ChangeLog
+++ b/net-misc/rsync/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-misc/rsync
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/ChangeLog,v 1.150 2008/03/16 07:22:10 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/ChangeLog,v 1.151 2008/03/17 03:47:02 vapier Exp $
+
+*rsync-3.0.0-r2 (17 Mar 2008)
+
+ 17 Mar 2008; Mike Frysinger <vapier@gentoo.org>
+ +files/rsync-3.0.0-dry-run-hang.patch, +rsync-3.0.0-r2.ebuild:
+ Fix from upstream for hang with --dry-run #193243 by David Leverton.
16 Mar 2008; Mike Frysinger <vapier@gentoo.org> +files/rsyncd.logrotate,
rsync-3.0.0-r1.ebuild:
diff --git a/net-misc/rsync/files/rsync-3.0.0-dry-run-hang.patch b/net-misc/rsync/files/rsync-3.0.0-dry-run-hang.patch
new file mode 100644
index 000000000000..1f85ac7fa437
--- /dev/null
+++ b/net-misc/rsync/files/rsync-3.0.0-dry-run-hang.patch
@@ -0,0 +1,19 @@
+commit 24ded29ff63d0adee798936ad20f21befcf8187b
+Author: Wayne Davison <wayned@samba.org>
+Date: Sun Mar 16 06:56:26 2008 -0700
+
+ Fixed a hang when using --remove-source-files in dry-run mode.
+
+diff --git a/generator.c b/generator.c
+index b1634bd..4ec0ac4 100644
+--- a/generator.c
++++ b/generator.c
+@@ -1856,7 +1856,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+ rprintf(FINFO, "generating and sending sums for %d\n", ndx);
+
+ notify_others:
+- if (remove_source_files && !delay_updates && !phase)
++ if (remove_source_files && !delay_updates && !phase && !dry_run)
+ increment_active_files(ndx, itemizing, code);
+ if (inc_recurse && !dry_run)
+ cur_flist->in_progress++;
diff --git a/net-misc/rsync/rsync-3.0.0-r2.ebuild b/net-misc/rsync/rsync-3.0.0-r2.ebuild
new file mode 100644
index 000000000000..f5ef0fa42835
--- /dev/null
+++ b/net-misc/rsync/rsync-3.0.0-r2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/rsync-3.0.0-r2.ebuild,v 1.1 2008/03/17 03:47:02 vapier Exp $
+
+inherit eutils flag-o-matic toolchain-funcs autotools
+
+DESCRIPTION="File transfer program to keep remote files into sync"
+HOMEPAGE="http://rsync.samba.org/"
+SRC_URI="http://rsync.samba.org/ftp/rsync/${P/_/}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="acl ipv6 static xattr xinetd"
+
+DEPEND=">=dev-libs/popt-1.5
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ xattr? ( kernel_linux? ( sys-apps/attr ) )
+ xinetd? ( sys-apps/xinetd )"
+
+S=${WORKDIR}/${P/_/}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-acl-crash.patch
+ epatch "${FILESDIR}"/${P}-NULL-config.patch
+ epatch "${FILESDIR}"/${P}-fake-super-attrs.patch
+ epatch "${FILESDIR}"/${P}-dry-run-hang.patch #193243
+}
+
+src_compile() {
+ use static && append-ldflags -static
+ econf \
+ --without-included-popt \
+ $(use_enable acl acl-support) \
+ $(use_enable xattr xattr-support) \
+ $(use_enable ipv6) \
+ --with-rsyncd-conf=/etc/rsyncd.conf \
+ || die
+ emake || die "emake failed"
+}
+
+pkg_preinst() {
+ if [[ -e ${ROOT}/etc/rsync/rsyncd.conf ]] && [[ ! -e ${ROOT}/etc/rsyncd.conf ]] ; then
+ mv "${ROOT}"/etc/rsync/rsyncd.conf "${ROOT}"/etc/rsyncd.conf
+ rm -f "${ROOT}"/etc/rsync/.keep
+ rmdir "${ROOT}"/etc/rsync >& /dev/null
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
+ newinitd "${FILESDIR}"/rsyncd.init.d rsyncd
+ dodoc NEWS OLDNEWS README TODO tech_report.tex
+ insinto /etc
+ doins "${FILESDIR}"/rsyncd.conf
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/rsyncd.logrotate rsyncd
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/rsyncd.xinetd rsyncd
+ fi
+}
+
+pkg_postinst() {
+ ewarn "The rsyncd.conf file has been moved for you to /etc/rsyncd.conf"
+ echo
+ ewarn "Please make sure you do NOT disable the rsync server running"
+ ewarn "in a chroot. Please check /etc/rsyncd.conf and make sure"
+ ewarn "it says: use chroot = yes"
+}