aboutsummaryrefslogtreecommitdiffstats
path: root/net/rsync/Makefile
blob: a28fa02bec1a2a35913eae24c21e40c706e1fd85 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Created by: David O'Brien (obrien@cs.ucdavis.edu)
# $FreeBSD$

PORTNAME=   rsync
PORTVERSION=    3.1.1
PORTREVISION=   1
CATEGORIES= net ipv6
MASTER_SITES=   http://rsync.samba.org/ftp/%SUBDIR%/ \
        ftp://ftp.samba.org/pub/%SUBDIR%/ \
        ftp://ftp.sunet.se/pub/unix/admin/%SUBDIR%/  \
        ftp://ftp.fu-berlin.de/pub/unix/network/%SUBDIR%/ \
        http://www.mirrorservice.org/sites/rsync.samba.org/ \
        CRITICAL
MASTER_SITE_SUBDIR= rsync
DISTFILES=  ${DISTNAME}${EXTRACT_SUFX}

MAINTAINER= ehaupt@FreeBSD.org
COMMENT=    Network file distribution/synchronization utility

LICENSE=    GPLv3

PATCH_STRIP=    -p1
GNU_CONFIGURE=  yes
USE_RC_SUBR=    rsyncd
SUB_LIST=   NAME=rsyncd

CONFIGURE_ARGS= --disable-debug --enable-ipv6 \
        --with-rsyncd-conf=${ETCDIR}/rsyncd.conf

PORTDOCS=   NEWS README csprotocol.txt tech_report.tex

# define options
OPTIONS_DEFINE=     DOCS POPT_PORT ZLIB_BASE SSH ICONV
OPTIONS_RADIO=      PTS
OPTIONS_RADIO_PTS=  TIMELIMIT RENAMED FLAGS ATIMES ACL

# options provided upstream
POPT_PORT_DESC= Use popt from devel/popt instead of bundled one
ZLIB_BASE_DESC= Use zlib from base instead of bundled one (BROKEN)
SSH_DESC=   Use SSH instead of RSH

# options provided by patch (mutually exclusive)
PTS_DESC=   Functionality provided by third party patches
TIMELIMIT_DESC= Time limit patch
RENAMED_DESC=   Add support for renamed file detection
FLAGS_DESC= File system flags support patch, adds --fileflags
ATIMES_DESC=    Preserve access times, adds --atimes
ACL_DESC=   Add backward-compatibility for the --acls option

# define default options
OPTIONS_DEFAULT=SSH FLAGS

ZLIB_BASE_CONFIGURE_ARGS=   --with-included-zlib=no
TIMELIMIT_EXTRA_PATCHES=    ${WRKSRC}/patches/time-limit.diff
ATIMES_EXTRA_PATCHES=       ${WRKSRC}/patches/atimes.diff
FLAGS_EXTRA_PATCHES=        ${WRKSRC}/patches/fileflags.diff \
                ${FILESDIR}/extrapatch-main.c
RENAMED_EXTRA_PATCHES=      ${WRKSRC}/patches/detect-renamed.diff
ACL_EXTRA_PATCHES=      ${WRKSRC}/patches/acls.diff

ICONV_USES= iconv
ICONV_CPPFLAGS= -I${LOCALBASE}/include
ICONV_LDFLAGS=  -L${LOCALBASE}/lib
ICONV_CONFIGURE_ENABLE= iconv iconv-open

POPT_PORT_LIB_DEPENDS=  libpopt.so:${PORTSDIR}/devel/popt
POPT_PORT_CPPFLAGS= -I${LOCALBASE}/include
POPT_PORT_LDFLAGS=  -L${LOCALBASE}/lib
POPT_CONFIGURE_WITH=    included-popt

SSH_CONFIGURE_ON=   --with-rsh=ssh
SSH_CONFIGURE_OFF=  --with-rsh=rsh

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MICONV} || ${PORT_OPTIONS:MFLAGS} || ${PORT_OPTIONS:MACL} || make(makesum) || ${PORT_OPTIONS:MTIMELIMIT} || ${PORT_OPTIONS:MATIMES} || ${PORT_OPTIONS:MRENAMED}
DISTFILES+= ${PORTNAME}-patches-${PORTVERSION}${EXTRACT_SUFX}
.endif

.include <bsd.port.pre.mk>

.if empty(ICONV_LIB)
CONFIGURE_ARGS+=ac_cv_search_libiconv_open=no
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|perl.*|${DO_NADA}|' ${WRKSRC}/Makefile.in
    @${REINPLACE_CMD} -e 's:/etc/:${ETCDIR}/:g'  \
        ${WRKSRC}/rsync.h ${WRKSRC}/rsync.1 ${WRKSRC}/rsyncd.conf.5

post-install:
    @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/rsync
    @${MKDIR} ${STAGEDIR}${ETCDIR}
    ${INSTALL_DATA} ${FILESDIR}/rsyncd.conf.sample ${STAGEDIR}${ETCDIR}/
    @${MKDIR} ${STAGEDIR}${DOCSDIR}
    ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}

test: build
    @(cd ${WRKSRC} && ${MAKE_CMD} check)

.include <bsd.port.post.mk>