1 |
# Copyright 1999-2005 Gentoo Foundation |
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/rsync-2.6.0-r3.ebuild,v 1.11 2005/02/11 05:20:27 vapier Exp $ |
4 |
|
5 |
inherit eutils flag-o-matic gcc gnuconfig |
6 |
|
7 |
DESCRIPTION="File transfer program to keep remote files into sync" |
8 |
HOMEPAGE="http://rsync.samba.org/" |
9 |
SRC_URI="http://rsync.samba.org/ftp/rsync/old-versions/${P}.tar.gz |
10 |
http://www.imada.sdu.dk/~bardur/personal/40-patches/rsync-proxy-auth/rsync-2.5.6-proxy-auth-1.patch |
11 |
acl? ( http://www.saout.de/misc/${P}-acl.diff.bz2 )" |
12 |
|
13 |
LICENSE="GPL-2" |
14 |
SLOT="0" |
15 |
KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sh sparc x86" |
16 |
IUSE="build static acl" |
17 |
|
18 |
RDEPEND="virtual/libc |
19 |
!build? ( >=dev-libs/popt-1.5 )" |
20 |
DEPEND="${RDEPEND} |
21 |
>=sys-apps/sed-4 |
22 |
acl? ( sys-apps/acl )" |
23 |
|
24 |
src_unpack() { |
25 |
unpack "${P}.tar.gz" |
26 |
cd ${S} |
27 |
epatch ${FILESDIR}/${PV}-sanitize.patch |
28 |
epatch "${DISTDIR}/${PN}-2.5.6-proxy-auth-1.patch" |
29 |
use acl && epatch ${DISTDIR}/${P}-acl.diff.bz2 |
30 |
|
31 |
# change confdir to /etc/rsync rather than just /etc (the --sysconfdir |
32 |
# configure option doesn't work |
33 |
sed -i \ |
34 |
-e 's|/etc/rsyncd.conf|/etc/rsync/rsyncd.conf|g' rsync.h \ |
35 |
|| die "sed rsync.h failed" |
36 |
# yes, updating the man page is very important. |
37 |
sed -i \ |
38 |
-e 's|/etc/rsyncd|/etc/rsync/rsyncd|g' \ |
39 |
rsync.1 rsyncd.conf.5 \ |
40 |
|| die "sed rsyncd.conf.5 failed" |
41 |
|
42 |
# apply security patch from bug #60309 |
43 |
epatch ${FILESDIR}/${PN}-pathsanitize.patch |
44 |
|
45 |
gnuconfig_update |
46 |
} |
47 |
|
48 |
src_compile() { |
49 |
[ "`gcc-version`" == "2.95" ] && append-ldflags -lpthread |
50 |
use static && append-ldflags -static |
51 |
export LDFLAGS |
52 |
econf $(use_with build included-popt) \ |
53 |
$(use_with acl acl-support) || die |
54 |
emake || die "emake failed" |
55 |
} |
56 |
|
57 |
src_install() { |
58 |
make DESTDIR="${D}" install || die "make install failed" |
59 |
insinto /etc/conf.d && newins "${FILESDIR}/rsyncd.conf.d" rsyncd |
60 |
exeinto /etc/init.d && newexe "${FILESDIR}/rsyncd.init.d" rsyncd |
61 |
if ! use build ; then |
62 |
dodir /etc/rsync |
63 |
dodoc NEWS OLDNEWS README TODO tech_report.tex |
64 |
if [ ! -e /etc/rsync/rsyncd.conf ] ; then |
65 |
insinto /etc/rsync |
66 |
doins "${FILESDIR}/rsyncd.conf" |
67 |
fi |
68 |
else |
69 |
rm -rf "${D}/usr/share" |
70 |
fi |
71 |
} |
72 |
|
73 |
pkg_postinst() { |
74 |
ewarn "Please make sure you do NOT disable the rsync server running" |
75 |
ewarn "in a chroot. Please check /etc/rsync/rsyncd.conf and make sure" |
76 |
ewarn "it says: use chroot = yes" |
77 |
|
78 |
einfo 'This patch enables usage of user:pass@proxy.foo:port' |
79 |
einfo 'in the RSYNC_PROXY environment variable to support' |
80 |
einfo 'the "Basic" proxy authentication scheme if you are' |
81 |
einfo 'behind a password protected HTTP proxy.' |
82 |
} |