diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-03-17 03:47:03 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2008-03-17 03:47:03 +0000 |
commit | 5494cefbe80bc2a881d03370ec5c86d080c48147 (patch) | |
tree | 8fc305a7e7b6b3b2ad53e7a5265389e93e2358e1 /net-misc/rsync | |
parent | old (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | net-misc/rsync/files/rsync-3.0.0-dry-run-hang.patch | 19 | ||||
-rw-r--r-- | net-misc/rsync/rsync-3.0.0-r2.ebuild | 75 |
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" +} |