aboutsummaryrefslogblamecommitdiffstats
path: root/ftp/proftpd/Makefile
blob: 7d17cc3e9493a644a65a3c60de659b37e9f5cd07 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                               

                                        
           
 
                       
                      
                 
                   
                                                       




                                                                                 
                                  
 
                                              
 
                                    
                 
                           



                                                                     
                   
                   
                   
 









                                                 
                                          
 


































                                                      


                                                 
                        
                                          
      


                                     


                                      
                       
                                                                       
 

            



                           
                      
                   
                            
                                             
      
                       
                   
                                         
                                             
      
                            
                   
                                            
                                             

                                 




                              
                       
                                      


                         








                                                   
                                                                  
 
                   
                                                 
      
 
                       
                                                      

                   
                                                   
      
                                                             
                                                      
 
               


                                                                     
                                                                      
                                                                     

                                                                           
 
                                                                          
                                                  
                                                                               
 
                                                                            
                                                
                                                                                 
 

                                                                           
           
                                                                     
                                                                 
                                                                 
                                                                       

                                                                                
                                                                            
                                                                              
                                                                            
                          
                                                                                             
                                                       
                                 
                                                                                        
          
                                                                                    
 
                                             




                                                                           
      
 
                         
                             
      
 
                           
# New ports collection makefile for:    proftpd
# Date created:     26 January 1998
# Whom:         Stephane Legrand
#
# $FreeBSD$
#

PORTNAME=   proftpd
PORTVERSION=    1.2.10
PORTREVISION=   1
CATEGORIES= ftp
MASTER_SITES=   ftp://ftp.proftpd.org/distrib/source/ \
        ftp://ftp.fastorama.com/mirrors/ftp.proftpd.org/distrib/source/ \
        ftp://ftp.dataguard.no/ftp/pub/proftpd/distrib/source/ \
        ftp://spirit.bentel.sk/mirrors/Proftpd/distrib/source/ \
        ftp://proftpd.networkedsystems.co.uk/distrib/source/ \
        ftp://ftp.ethereal.com/mirrors/ftp.proftpd.org/distrib/source/ \
        ftp://mirror.cybercomm.nl/pub/proftpd/distrib/source/
DISTNAME=   ${PORTNAME}-1.2.10

MAINTAINER?=    mharo@FreeBSD.org
COMMENT?=   Highly configurable ftp daemon

MAN1=   ftpcount.1 ftpwho.1 ftptop.1
MAN5=   xferlog.5
MAN8=   proftpd.8 ftpshut.8

PORTDOCSdoc=    Configuration.html faq.html
PORTDOCScontrib=mod_ifsession.html mod_radius.html mod_rewrite.html \
        mod_tls.html mod_wrap.html ftpasswd.html
PORTDOCS=   ${PORTDOCSdoc} ${PORTDOCScontrib}

USE_GMAKE=  yes
GNU_CONFIGURE=  yes
USE_BZIP2=  yes

SED_SCRIPT= -e 's|%%PREFIX%%|${PREFIX}|g'

USE_RC_SUBR=    yes
RC_DIR=     ${PREFIX}/etc/rc.d
RC_SUFX=    .sh
SED_SCRIPT+=    -e 's|%%RC_SUBR%%|${RC_SUBR}|g' \
        -e 's|%%RC_DIR%%|${RC_DIR}|g' \
        -e 's|%%RC_SUFX%%|${RC_SUFX}|g'
PLIST_SUB+= RC_DIR=${RC_DIR} \
        RC_SUFX=${RC_SUFX}

CONFIGURE_ARGS= --localstatedir=/var/run \
        --disable-sendfile

OPTIONS=    IPV6 "Use IPv6" off \
        LDAP "Use LDAP" off \
        MYSQL "Use MySQL" off \
        POSTGRESQL "Use Postgres" off \
        OPENSSL "Include mod_tls" off \
        QUOTA "Include mod_quota" off \
        IFSESSION "Include mod_ifsession" on \
        README "Include mod_readme" on \
        RATIO "Include mod_ratio" on \
        REWRITE "Include mod_rewrite" on \
        WRAP "Include mod_wrap" on

MODULES?=   

.include <bsd.port.pre.mk>

.if defined(WITH_IFSESSION)
MODULES:=${MODULES}:mod_ifsession
.endif

.if defined(WITH_RATIO)
MODULES:=${MODULES}:mod_ratio
.endif

.if defined(WITH_README)
MODULES:=${MODULES}:mod_readme
.endif

.if defined(WITH_REWRITE)
MODULES:=${MODULES}:mod_rewrite
.endif

.if defined(WITH_WRAP)
MODULES:=${MODULES}:mod_wrap
.endif

.if defined(WITH_SETPASSENT)
CONFIGURE_ARGS+=    --enable-force-setpassent
.endif

.if defined(WITHOUT_PAM)
CONFIGURE_ARGS+=    --disable-auth-pam
.endif

.if defined(WITH_IPV6)
CONFIGURE_ARGS+=    --enable-ipv6
.endif

.if defined(WITHOUT_IPV6)
CONFIGURE_ARGS+=    --disable-ipv6
.endif

#allow user to override
MODULES?=   mod_ifsession:mod_ratio:mod_readme:mod_rewrite:mod_wrap

INCLUDEDIRS=
LIBDIRS=

.if defined(WITH_OPENSSL)
USE_OPENSSL=    yes
MODULES:=${MODULES}:mod_tls
.endif

.if defined(WITH_LDAP)
USE_OPENLDAP=   yes
MODULES:=${MODULES}:mod_ldap
INCLUDEDIRS:=${INCLUDEDIRS}:${PREFIX}/include
LIBDIRS:=${LIBDIRS}:${PREFIX}/lib
.endif

.if defined(WITH_MYSQL)
USE_MYSQL=  yes
MODULES:=${MODULES}:mod_sql:mod_sql_mysql
INCLUDEDIRS:=${INCLUDEDIRS}:${PREFIX}/include
LIBDIRS:=${LIBDIRS}:${PREFIX}/lib/mysql
.endif

.if defined(WITH_POSTGRESQL)
USE_PGSQL=  yes
MODULES:=${MODULES}:mod_sql:mod_sql_postgres
INCLUDEDIRS:=${INCLUDEDIRS}:${PREFIX}/include
LIBDIRS:=${LIBDIRS}:${PREFIX}/lib
.endif

.if defined(WITH_OPENSSL)
CFLAGS+=    -DHAVE_OPENSSL
USE_OPENSSL=    yes
PROFTPD_LIBS+=  -lssl -lcrypto
.endif

.if defined(WITH_CTRLS)
CONFIGURE_ARGS+=    --enable-ctrls
MAN8+=      ftpdctl.8
.else
.endif

.if defined(WITH_QUOTA)
MODULES:=${MODULES}:mod_quotatab:mod_quotatab_file
.if defined(WITH_LDAP)
MODULES:=${MODULES}:mod_quotatab_ldap
.endif
.if defined(WITH_POSTGRESQL) || defined(WITH_MYSQL)
MODULES:=${MODULES}:mod_quotatab_sql
.endif
.endif

# Keep this here below, in case similar constructs need to be made
CONFIGURE_ENV+= "LIBS=${PROFTPD_LIBS}"

.if !empty(MODULES)
CONFIGURE_ARGS+=    --with-modules=${MODULES}
.endif

.if !empty(INCLUDEDIRS)
CONFIGURE_ARGS+=    --with-includes=${INCLUDEDIRS}
.endif

.if !empty(LIBDIRS)
CONFIGURE_ARGS+=    --with-libraries=${LIBDIRS}
.endif

MODULES!=${ECHO} ${MODULES} | ${SED} -e 's,^:,,' -e 's,:$$,,'

pre-configure:
    @${ECHO_MSG} "==> Configuring with ${MODULES}"

post-configure:
    @${MV} ${WRKSRC}/Make.rules ${WRKSRC}/Make.rules.pre_sed
    @${SED} -e 's: -lnsl::' \
        < ${WRKSRC}/Make.rules.pre_sed > ${WRKSRC}/Make.rules

    @${MV} ${WRKSRC}/src/proftpd.8 ${WRKSRC}/src/proftpd.8.pre_sed
    @${SED} -e 's:/usr/sbin/proftpd:${PREFIX}/libexec/proftpd:' \
        -e 's:/usr/sbin:${PREFIX}/sbin:' \
        -e 's:/usr/bin:${PREFIX}/bin:' \
        < ${WRKSRC}/src/proftpd.8.pre_sed > ${WRKSRC}/src/proftpd.8

    @${MV} ${WRKSRC}/utils/ftpshut.8 ${WRKSRC}/utils/ftpshut.8.pre_sed
    @${SED} -e 's:/usr/sbin:${PREFIX}/sbin:' \
        -e 's:/etc:/var/run:' \
        < ${WRKSRC}/utils/ftpshut.8.pre_sed > ${WRKSRC}/utils/ftpshut.8

    @${MV} ${WRKSRC}/utils/ftpcount.1 ${WRKSRC}/utils/ftpcount.1.pre_sed
    @${SED} -e 's:/usr/bin:${PREFIX}/bin:' \
        < ${WRKSRC}/utils/ftpcount.1.pre_sed > ${WRKSRC}/utils/ftpcount.1

post-build:
    @${SED} ${SED_SCRIPT} ${FILESDIR}/proftpd.sh > ${WRKSRC}/proftpd.sh

do-install:
    @${INSTALL_PROGRAM} ${WRKSRC}/ftpcount ${PREFIX}/bin/ftpcount
    @${INSTALL_PROGRAM} ${WRKSRC}/ftpwho ${PREFIX}/bin/ftpwho
    @${INSTALL_PROGRAM} ${WRKSRC}/ftptop ${PREFIX}/bin/ftptop
    @${INSTALL_PROGRAM} ${WRKSRC}/proftpd ${PREFIX}/libexec/proftpd
    @${INSTALL_PROGRAM} ${WRKSRC}/ftpshut ${PREFIX}/sbin/ftpshut
    @${INSTALL_MAN} ${WRKSRC}/utils/ftpcount.1 ${PREFIX}/man/man1/ftpcount.1
    @${INSTALL_MAN} ${WRKSRC}/utils/ftpwho.1 ${PREFIX}/man/man1/ftpwho.1
    @${INSTALL_MAN} ${WRKSRC}/utils/ftptop.1 ${PREFIX}/man/man1/ftptop.1
    @${INSTALL_MAN} ${WRKSRC}/src/xferlog.5 ${PREFIX}/man/man5/xferlog.5
    @${INSTALL_MAN} ${WRKSRC}/utils/ftpshut.8 ${PREFIX}/man/man8/ftpshut.8
    @${INSTALL_MAN} ${WRKSRC}/src/proftpd.8 ${PREFIX}/man/man8/proftpd.8
    @${INSTALL_DATA} \
        ${WRKSRC}/sample-configurations/basic.conf ${PREFIX}/etc/proftpd.conf.default
    @if [ ! -f ${PREFIX}/etc/proftpd.conf ]; then \
        ${INSTALL_DATA} \
        ${WRKSRC}/sample-configurations/basic.conf ${PREFIX}/etc/proftpd.conf; \
    fi
    @${INSTALL_SCRIPT} ${WRKSRC}/proftpd.sh ${PREFIX}/etc/rc.d/proftpd${RC_SUFX}

.if !defined(NOPORTDOCS)
    @${MKDIR} ${PREFIX}/share/doc/proftpd
.for f in ${PORTDOCSdoc}
    @${INSTALL_DATA} ${WRKSRC}/doc/${f} ${PREFIX}/share/doc/proftpd
.endfor
.for f in ${PORTDOCScontrib}
    @${INSTALL_DATA} ${WRKSRC}/contrib/${f} ${PREFIX}/share/doc/proftpd
.endfor
.endif

.if !defined(WITHOUT_PAM)
    @${CAT} ${PKGMESSAGE}
.endif

.include <bsd.port.post.mk>