|
Lines 13-36
Link Here
|
| 13 |
MAINTAINER= ports@FreeBSD.org |
13 |
MAINTAINER= ports@FreeBSD.org |
| 14 |
COMMENT= FTP daemon that aims to be "very secure". Extended build |
14 |
COMMENT= FTP daemon that aims to be "very secure". Extended build |
| 15 |
|
15 |
|
| 16 |
CONFLICTS= vsftpd-2* vsftpd${SSL_SUFFIX}${PKGNAMESUFFIX2}-2* |
16 |
CONFLICTS= vsftpd-3* vsftpd${SSL_SUFFIX}${PKGNAMESUFFIX2}-3* |
| 17 |
|
17 |
|
| 18 |
UPSTREAMVERSION= 2.3.5 |
18 |
UPSTREAMVERSION= 3.0.2 |
| 19 |
EXTVERSION= 1 |
19 |
EXTVERSION= 1 |
| 20 |
|
20 |
|
|
|
21 |
BUILD_DEPENDS= gmake:${PORTSDIR}/devel/gmake |
| 22 |
|
| 23 |
USERS= ftp |
| 24 |
GROUPS= ftp |
| 25 |
|
| 21 |
WRKSRC= ${WRKDIR}/vsFTPd-${UPSTREAMVERSION}-ext.${EXTVERSION} |
26 |
WRKSRC= ${WRKDIR}/vsFTPd-${UPSTREAMVERSION}-ext.${EXTVERSION} |
| 22 |
ALL_TARGET= vsftpd |
27 |
ALL_TARGET= vsftpd |
| 23 |
MAN5= vsftpd.conf.5 |
|
|
| 24 |
MAN8= vsftpd.8 |
| 25 |
DOCFILES= AUDIT BENCHMARKS BUGS Changelog FAQ INSTALL LICENSE \ |
28 |
DOCFILES= AUDIT BENCHMARKS BUGS Changelog FAQ INSTALL LICENSE \ |
| 26 |
README README.security README.ssl REFS REWARD \ |
29 |
README README.security README.ssl REFS REWARD \ |
| 27 |
SIZE SPEED TODO TUNING |
30 |
SIZE SPEED TODO TUNING |
| 28 |
|
31 |
|
| 29 |
OPTIONS_DEFINE= RC_SCRIPT SSL DOCS |
32 |
USES+= gmake |
| 30 |
OPTIONS_DEFAULT= RC_SCRIPT |
33 |
|
|
|
34 |
OPTIONS_DEFINE= RC_SCRIPT VSFTPD_SSL DOCS |
| 35 |
OPTIONS_DEFAULT= RC_SCRIPT DOCS |
| 31 |
RC_SCRIPT_DESC= install RC_SCRIPT |
36 |
RC_SCRIPT_DESC= install RC_SCRIPT |
| 32 |
|
37 |
|
| 33 |
NO_STAGE= yes |
38 |
VSFTPD_SSL_DESC=Include support for SSL |
|
|
39 |
|
| 34 |
.include <bsd.port.options.mk> |
40 |
.include <bsd.port.options.mk> |
| 35 |
|
41 |
|
| 36 |
.if ${PORT_OPTIONS:MRC_SCRIPT} |
42 |
.if ${PORT_OPTIONS:MRC_SCRIPT} |
|
Lines 37-44
Link Here
|
| 37 |
USE_RC_SUBR= vsftpd |
43 |
USE_RC_SUBR= vsftpd |
| 38 |
.endif |
44 |
.endif |
| 39 |
|
45 |
|
| 40 |
.if ${PORT_OPTIONS:MSSL} |
46 |
VSFTPD_OPTIMIZED= ${CFLAGS:M-O*} |
| 41 |
USE_OPENSSL= yes |
47 |
.if defined(CFLAGS) && !empty(VSFTPD_OPTIMIZED) |
|
|
48 |
VSFTPD_NO_OPTIMIZED= -e "s|-O2 ||" |
| 49 |
.endif |
| 50 |
|
| 51 |
.if ${PORT_OPTIONS:MVSFTPD_SSL} && !defined(WITHOUT_SSL) |
| 52 |
.include "${PORTSDIR}/Mk/bsd.openssl.mk" |
| 42 |
SSL_SUFFIX= -ssl |
53 |
SSL_SUFFIX= -ssl |
| 43 |
CFLAGS+= -I${OPENSSLINC} |
54 |
CFLAGS+= -I${OPENSSLINC} |
| 44 |
LDFLAGS+= -L${OPENSSLLIB} |
55 |
LDFLAGS+= -L${OPENSSLLIB} |
|
Lines 45-62
Link Here
|
| 45 |
.endif |
56 |
.endif |
| 46 |
|
57 |
|
| 47 |
do-configure: |
58 |
do-configure: |
| 48 |
${REINPLACE_CMD} -e "s|/etc/vsftpd|${PREFIX}/etc|" \ |
59 |
.if ${PORT_OPTIONS:MVSFTPD_SSL} && !defined(WITHOUT_SSL) |
|
|
60 |
${REINPLACE_CMD} -e \ |
| 61 |
"s|#undef VSF_BUILD_TCPWRAPPERS|#define VSF_BUILD_TCPWRAPPERS 1|" \ |
| 62 |
-e "s|#undef VSF_BUILD_SSL|#define VSF_BUILD_SSL 1|" \ |
| 49 |
${WRKSRC}/builddefs.h |
63 |
${WRKSRC}/builddefs.h |
| 50 |
${REINPLACE_CMD} \ |
64 |
.else |
|
|
65 |
${REINPLACE_CMD} -e \ |
| 66 |
"s|#undef VSF_BUILD_TCPWRAPPERS|#define VSF_BUILD_TCPWRAPPERS 1|" \ |
| 67 |
${WRKSRC}/builddefs.h |
| 68 |
.endif |
| 69 |
${REINPLACE_CMD} -e "s|\"vsftpd.conf\"|\"${PREFIX}/etc/vsftpd.conf\"|" \ |
| 70 |
${WRKSRC}/defs.h |
| 71 |
${REINPLACE_CMD} -e "s|/etc/v|${PREFIX}/etc/v|" \ |
| 72 |
${WRKSRC}/vsftpd.8 ${WRKSRC}/vsftpd.conf.5 |
| 73 |
${REINPLACE_CMD} -e "s|/usr/share/empty|${PREFIX}/share/vsftpd/empty|" \ |
| 74 |
${WRKSRC}/tunables.c |
| 75 |
${REINPLACE_CMD} ${VSFTPD_NO_OPTIMIZED} \ |
| 51 |
-e '/^CC/s/=/?=/' \ |
76 |
-e '/^CC/s/=/?=/' \ |
| 52 |
-e '/^CFLAGS/{s/=/+=/;s/-O[0-9]//;}' \ |
77 |
-e '/^CFLAGS/{s/=/+=/;s/-O[0-9]//;}' \ |
| 53 |
-e '/^LIBS/s|=.*|= `./vsf_findlibs.sh`|' \ |
78 |
-e '/^LIBS/s|=.*|= `./vsf_findlibs.sh`|' \ |
| 54 |
-e '/^LINK/s/=.*/=/' \ |
79 |
-e '/^LINK/s/=.*/=/' \ |
|
|
80 |
-e 's|-Werror||' \ |
| 55 |
${WRKSRC}/Makefile |
81 |
${WRKSRC}/Makefile |
| 56 |
${REINPLACE_CMD} -e '/-lutil/d' ${WRKSRC}/vsf_findlibs.sh |
82 |
${REINPLACE_CMD} -e '/-lutil/d' ${WRKSRC}/vsf_findlibs.sh |
| 57 |
${REINPLACE_CMD} -e \ |
83 |
|
| 58 |
"s|#undef VSF_BUILD_TCPWRAPPERS|#define VSF_BUILD_TCPWRAPPERS 1|" \ |
|
|
| 59 |
${WRKSRC}/builddefs.h |
| 60 |
@${ECHO_CMD} "secure_chroot_dir=${PREFIX}/share/vsftpd/empty" >> \ |
84 |
@${ECHO_CMD} "secure_chroot_dir=${PREFIX}/share/vsftpd/empty" >> \ |
| 61 |
${WRKSRC}/vsftpd.conf |
85 |
${WRKSRC}/vsftpd.conf |
| 62 |
@${ECHO_CMD} >>${WRKSRC}/vsftpd.conf "" |
86 |
@${ECHO_CMD} >>${WRKSRC}/vsftpd.conf "" |
|
Lines 64-106
Link Here
|
| 64 |
"# If using vsftpd in standalone mode, uncomment the next two lines:" |
88 |
"# If using vsftpd in standalone mode, uncomment the next two lines:" |
| 65 |
@${ECHO_CMD} >>${WRKSRC}/vsftpd.conf "# listen=YES" |
89 |
@${ECHO_CMD} >>${WRKSRC}/vsftpd.conf "# listen=YES" |
| 66 |
@${ECHO_CMD} >>${WRKSRC}/vsftpd.conf "# background=YES" |
90 |
@${ECHO_CMD} >>${WRKSRC}/vsftpd.conf "# background=YES" |
| 67 |
${REINPLACE_CMD} -e "s|/etc/v|${PREFIX}/etc/v|" \ |
91 |
${REINPLACE_CMD} -e "s|^listen=.*|listen=NO|" \ |
| 68 |
-e 's|delay_failed_logins|delay_failed_login|' \ |
92 |
${WRKSRC}/vsftpd.conf |
| 69 |
-e 's|delay_successful_logins|delay_successful_login|' \ |
|
|
| 70 |
${WRKSRC}/vsftpd.8 ${WRKSRC}/vsftpd.conf.5 ${WRKSRC}/tunables.c |
| 71 |
.if ${PORT_OPTIONS:MSSL} |
| 72 |
${REINPLACE_CMD} -e \ |
| 73 |
"s|#undef VSF_BUILD_SSL|#define VSF_BUILD_SSL 1|" \ |
| 74 |
${WRKSRC}/builddefs.h |
| 75 |
.endif |
| 76 |
|
93 |
|
| 77 |
pre-install: |
|
|
| 78 |
${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL |
| 79 |
|
| 80 |
do-install: |
94 |
do-install: |
| 81 |
${INSTALL_PROGRAM} ${WRKSRC}/vsftpd ${PREFIX}/libexec/ |
95 |
${INSTALL_PROGRAM} ${WRKSRC}/vsftpd ${STAGEDIR}${PREFIX}/libexec/ |
| 82 |
${INSTALL_DATA} ${WRKSRC}/vsftpd.conf ${PREFIX}/etc/vsftpd.conf.dist |
96 |
${INSTALL_DATA} ${WRKSRC}/vsftpd.conf ${STAGEDIR}${PREFIX}/etc/vsftpd.conf.sample |
| 83 |
${INSTALL} -d ${PREFIX}/share/vsftpd/empty |
97 |
${INSTALL_MAN} ${WRKSRC}/vsftpd.conf.5 ${STAGEDIR}${PREFIX}/man/man5/ |
| 84 |
@if [ ! -e ${PREFIX}/etc/vsftpd.conf ]; then \ |
98 |
${INSTALL_MAN} ${WRKSRC}/vsftpd.8 ${STAGEDIR}${PREFIX}/man/man8/ |
| 85 |
${INSTALL_DATA} ${WRKSRC}/vsftpd.conf ${PREFIX}/etc/ ; \ |
99 |
${MKDIR} ${STAGEDIR}/var/ftp ${STAGEDIR}${PREFIX}/share/vsftpd/empty |
| 86 |
fi |
|
|
| 87 |
${MKDIR} ${PREFIX}/share/vsftpd/empty |
| 88 |
@for i in ${MAN8} ; do \ |
| 89 |
${INSTALL_MAN} -m 644 ${WRKSRC}/$${i} ${MANPREFIX}/man/man8/ ; \ |
| 90 |
done |
| 91 |
@for i in ${MAN5} ; do \ |
| 92 |
${INSTALL_MAN} -m 644 ${WRKSRC}/$${i} ${MANPREFIX}/man/man5/ ; \ |
| 93 |
done |
| 94 |
${MKDIR} /var/ftp |
| 95 |
.if ${PORT_OPTIONS:MDOCS} |
100 |
.if ${PORT_OPTIONS:MDOCS} |
| 96 |
${MKDIR} ${DOCSDIR} |
101 |
${MKDIR} ${STAGEDIR}${DOCSDIR} |
| 97 |
.for i in ${DOCFILES} |
102 |
${INSTALL_DATA} ${DOCFILES:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}/ |
| 98 |
${INSTALL_DATA} -m 644 ${WRKSRC}/${i} ${DOCSDIR} |
|
|
| 99 |
.endfor |
| 100 |
.for i in EXAMPLE SECURITY |
103 |
.for i in EXAMPLE SECURITY |
| 101 |
${MKDIR} ${DOCSDIR}/${i} |
104 |
${MKDIR} ${STAGEDIR}${DOCSDIR}/${i} |
| 102 |
${CP} -p -R -L ${WRKSRC}/${i}/./ ${DOCSDIR}/${i}/ |
105 |
${CP} -p -R -L ${WRKSRC}/${i}/./ ${STAGEDIR}${DOCSDIR}/${i}/ |
| 103 |
${CHMOD} -R -L a+rX,go-w ${DOCSDIR}/${i}/ |
106 |
${CHMOD} -R -L a+rX,go-w ${STAGEDIR}${DOCSDIR}/${i}/ |
| 104 |
.endfor |
107 |
.endfor |
| 105 |
.endif |
108 |
.endif |
| 106 |
|
109 |
|