summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2007-09-28 13:08:12 +0000
committerRoy Marples <uberlord@gentoo.org>2007-09-28 13:08:12 +0000
commit5dec4e0a6226b38ed6d363b8fe9791e2d0ee69f1 (patch)
treea02601bb75a79343ad1a0180c06a6523c82a8854 /net-misc/rsync
parentFix TEXTRELs using patch from PaX Team from bug 193222 and while at it, attem... (diff)
downloadgentoo-2-5dec4e0a6226b38ed6d363b8fe9791e2d0ee69f1.tar.gz
gentoo-2-5dec4e0a6226b38ed6d363b8fe9791e2d0ee69f1.tar.bz2
gentoo-2-5dec4e0a6226b38ed6d363b8fe9791e2d0ee69f1.zip
patch rsync so it creates a pidfile a lot sooner, #192075.
(Portage version: 2.1.3.9)
Diffstat (limited to 'net-misc/rsync')
-rw-r--r--net-misc/rsync/ChangeLog8
-rw-r--r--net-misc/rsync/files/digest-rsync-2.6.9-r43
-rw-r--r--net-misc/rsync/files/rsync-2.6.9-pid-early.patch43
-rw-r--r--net-misc/rsync/rsync-2.6.9-r4.ebuild76
4 files changed, 129 insertions, 1 deletions
diff --git a/net-misc/rsync/ChangeLog b/net-misc/rsync/ChangeLog
index dc2da9fd1839..439cbc5ccd11 100644
--- a/net-misc/rsync/ChangeLog
+++ b/net-misc/rsync/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-misc/rsync
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/ChangeLog,v 1.131 2007/08/29 10:19:53 corsair Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/ChangeLog,v 1.132 2007/09/28 13:08:11 uberlord Exp $
+
+*rsync-2.6.9-r4 (28 Sep 2007)
+
+ 28 Sep 2007; Roy Marples <uberlord@gentoo.org>
+ +files/rsync-2.6.9-pid-early.patch, +rsync-2.6.9-r4.ebuild:
+ patch rsync so it creates a pidfile a lot sooner, #192075.
29 Aug 2007; Markus Rothe <corsair@gentoo.org> rsync-2.6.9-r3.ebuild:
Stable on ppc64; bug #189132
diff --git a/net-misc/rsync/files/digest-rsync-2.6.9-r4 b/net-misc/rsync/files/digest-rsync-2.6.9-r4
new file mode 100644
index 000000000000..fca949e58851
--- /dev/null
+++ b/net-misc/rsync/files/digest-rsync-2.6.9-r4
@@ -0,0 +1,3 @@
+MD5 996d8d8831dbca17910094e56dcb5942 rsync-2.6.9.tar.gz 811841
+RMD160 36d270d9f01e9a8e808f426196796001bdd3d5d2 rsync-2.6.9.tar.gz 811841
+SHA256 ca437301becd890e73300bc69a39189ff1564baa761948ff149b3dd7bde633f9 rsync-2.6.9.tar.gz 811841
diff --git a/net-misc/rsync/files/rsync-2.6.9-pid-early.patch b/net-misc/rsync/files/rsync-2.6.9-pid-early.patch
new file mode 100644
index 000000000000..72482603e35e
--- /dev/null
+++ b/net-misc/rsync/files/rsync-2.6.9-pid-early.patch
@@ -0,0 +1,43 @@
+diff -ur a/clientserver.c b/clientserver.c
+--- a/clientserver.c 2006-10-24 01:36:42 +0100
++++ b/clientserver.c 2007-09-20 10:17:50 +0100
+@@ -830,21 +830,14 @@
+ return start_daemon(STDIN_FILENO, STDIN_FILENO);
+ }
+
+- if (!no_detach)
+- become_daemon();
+-
+ if (!lp_load(config_file, 1))
+ exit_cleanup(RERR_SYNTAX);
+
+- if (rsync_port == 0 && (rsync_port = lp_rsync_port()) == 0)
+- rsync_port = RSYNC_PORT;
+- if (bind_address == NULL && *lp_bind_address())
+- bind_address = lp_bind_address();
+-
+ log_init(0);
+
+- rprintf(FLOG, "rsyncd version %s starting, listening on port %d\n",
+- RSYNC_VERSION, rsync_port);
++ if (!no_detach)
++ become_daemon();
++
+ /* TODO: If listening on a particular address, then show that
+ * address too. In fact, why not just do inet_ntop on the
+ * local address??? */
+@@ -866,6 +859,14 @@
+ close(fd);
+ }
+
++ if (rsync_port == 0 && (rsync_port = lp_rsync_port()) == 0)
++ rsync_port = RSYNC_PORT;
++ if (bind_address == NULL && *lp_bind_address())
++ bind_address = lp_bind_address();
++
++ rprintf(FLOG, "rsyncd version %s starting, listening on port %d\n",
++ RSYNC_VERSION, rsync_port);
++
+ start_accept_loop(rsync_port, start_daemon);
+ return -1;
+ }
diff --git a/net-misc/rsync/rsync-2.6.9-r4.ebuild b/net-misc/rsync/rsync-2.6.9-r4.ebuild
new file mode 100644
index 000000000000..54f390f03c0b
--- /dev/null
+++ b/net-misc/rsync/rsync-2.6.9-r4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/rsync-2.6.9-r4.ebuild,v 1.1 2007/09/28 13:08:11 uberlord Exp $
+
+inherit eutils flag-o-matic toolchain-funcs
+
+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-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="acl ipv6 static xinetd"
+
+DEPEND=">=dev-libs/popt-1.5
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ xinetd? ( sys-apps/xinetd )"
+
+S=${WORKDIR}/${P/_/}
+
+src_unpack() {
+ unpack ${P/_/}.tar.gz
+ cd "${S}"
+ if use acl ; then
+ epatch patches/{acls,xattrs}.diff
+ epatch "${FILESDIR}"/${P}-delete-acls-xattr.patch
+ ./prepare-source || die
+ fi
+ epatch "${FILESDIR}"/${P}-stats-fix.patch #165121
+ epatch "${FILESDIR}"/${P}-fname-obo.patch #189132
+ epatch "${FILESDIR}"/${P}-pid-early.patch #192075
+}
+
+src_compile() {
+ [[ $(gcc-version) == "2.95" ]] && append-ldflags -lpthread
+ use static && append-ldflags -static
+
+ econf \
+ --without-included-popt \
+ $(use_enable acl acl-support) \
+ $(use_enable acl 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
+ 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"
+}