summaryrefslogblamecommitdiff
path: root/ftp/pure-ftpd/Makefile
blob: 845520afb39086cdec1a81b635f93d77d05ced63 (plain) (tree)
1
2
3
4
5
6
7
8
9







                                                     
                       
                 
                        
                                                                

                                                                                                    

                                                                            
                                                                   
                                                                   
                                                                            
                                          

                                
                              
                                                                        
 
                                               
                                               



                                                                                       

      
                                                
                                                                 



                                                                                        

      
                       

                                                   

      
                   
                   

                                            
                                              
                                    
                                                  



                                                      
 
                         
                                              


                                   
                          
                                               


                                    
                          



                                    




                                      
                                           
                                                                       


                                  
                                                                              

                                                                                  
 













                                                        
                                                      
                                                                             
                                                                                 
                                                                    
                                          
 
                                                          
 
          
                                                                    



                                                                                                   
                                                                                        
                                                                          





                                                                                                     
 


                                                                                                           

                                                                                            
                                                                                              
                                                                                              

                                                                                                       

                                                                                                 


                                                  
                                                                               
      
                                                                             


                                                             

                                                                                               
      
 
                           
# New ports collection makefile for:	pure-ftpd
# Date created:				22 April 2001
# Whom:					Frank DENIS
#
# $FreeBSD$
#

PORTNAME=	pure-ftpd
PORTVERSION=	1.0.16a
PORTREVISION=	0
CATEGORIES=	ftp ipv6
MASTER_SITES=	ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/ \
		ftp://ftp2.fr.pureftpd.org/pub/mirrors/ftp.fr.pureftpd.org/pub/pure-ftpd/releases/ \
		ftp://ftp3.fr.pureftpd.org/pure-ftpd/releases/ \
		ftp://ftp.dk.pureftpd.org/mirrors/pure-ftpd/releases/ \
		ftp://ftp.es.pureftpd.org/mirror/pureftpd/latest/releases/ \
		ftp://ftp.nl.pureftpd.org/pub/pure-ftpd/releases/ \
		ftp://ftp.fr.pureftpd.org/pub/pure-ftpd/releases/ \
		ftp://ftp.cn.pureftpd.org/pub/pureftpd/pure-ftpd/releases/ \
		${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=	pureftpd

MAINTAINER=	j@pureftpd.org
COMMENT=	A small, easy to set up, fast and very secure FTP server

.if defined(WITH_LDAP) && !defined(WITH_LDAP21)
LIB_DEPENDS+=	ldap:${PORTSDIR}/net/openldap20
.elif defined(WITH_LDAP21) && !defined(WITH_LDAP)
LIB_DEPENDS+=	ldap:${PORTSDIR}/net/openldap21
.elif defined(WITH_LDAP21) && defined(WITH_LDAP)
BROKEN=		"You may only specify WITH_LDAP xor WITH_LDAP21, but not both together"
.endif

.if defined(WITH_MYSQL) && !defined(WITH_MYSQL4)
LIB_DEPENDS+=	mysqlclient:${PORTSDIR}/databases/mysql323-client
.elif defined(WITH_MYSQL4) && !defined(WITH_MYSQL)
LIB_DEPENDS+=	mysqlclient.12:${PORTSDIR}/databases/mysql40-client
.elif defined(WITH_MYSQL4) && defined(WITH_MYSQL)
BROKEN=		"You may only specify WITH_MYSQL xor WITH_MYSQL4, but not both together"
.endif

.if defined(WITH_PGSQL)
POSTGRESQL_PORT?=	databases/postgresql7
LIB_DEPENDS+=	pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
.endif

USE_REINPLACE=	yes
GNU_CONFIGURE=	yes
CONFIGURE_ARGS+=	--with-everything \
			--with-paranoidmsg \
			--with-virtualchroot \
			--with-tls \
			--sysconfdir=${PREFIX}/etc
# language support requested?
.if defined(WITH_LANG)
CONFIGURE_ARGS+=	--with-language="${WITH_LANG}"
.endif

# ldap support requested?
.if defined(WITH_LDAP) || defined(WITH_LDAP21)
CONFIGURE_ARGS+=	--with-ldap
.endif

# mysql support requested?
.if defined(WITH_MYSQL) || defined(WITH_MYSQL4)
CONFIGURE_ARGS+=	--with-mysql
.endif

# mysql support requested?
.if defined(WITH_PGSQL)
CONFIGURE_ARGS+=	--with-pgsql
.endif

# privilege separation requested?
.if defined(WITH_PRIVSEP)
CONFIGURE_ARGS+=	--with-privsep
.endif

# if mysql or ldap are disabled, enable pam
.if !defined(WITH_LDAP) && !defined(WITH_MYSQL) && !defined(WITH_PGSQL)
CONFIGURE_ARGS+=	--with-pam
.endif

MAN8=		pure-ftpd.8 pure-ftpwho.8 pure-mrtginfo.8 pure-statsdecode.8 \
		pure-uploadscript.8 pure-pw.8 pure-pwconvert.8 pure-quotacheck.8 \
		pure-authd.8

.include <bsd.port.pre.mk>

.if ${OSVERSION} > 500000
PAM_TEMPL?=	${FILESDIR}/pam.conf.5
.else
. if ${OSVERSION} > 400000
PAM_TEMPL?=	${FILESDIR}/pam.conf.4
. endif
.endif
.if defined(PAM_TEMPL)
PAM_DIR?=	${PREFIX}/share/examples/${PORTNAME}/pam
PAM_TARGET?=	pure-ftpd
.endif

DOCS=		AUTHORS CONTACT COPYING HISTORY NEWS \
		README README.Configuration-File README.Contrib README.LDAP \
		README.Netfilter README.MySQL README.PGSQL README.Virtual-Users \
		README.Authentication-Modules THANKS pure-ftpd.png \
		pureftpd.schema README.TLS

CONTRIB=	xml_python_processors.txt pure-vpopauth.pl

pre-fetch:
	@${ECHO_CMD} "You can use the following additional options:"
	@${ECHO_CMD} "WITH_LDAP=1           - Support for users in LDAP directories (openldap-2.0)"
	@${ECHO_CMD} "WITH_LDAP21=1         - Support for users in LDAP directories (openldap-2.1)"
	@${ECHO_CMD} "WITH_MYSQL=1          - Support for users in MySQL 3.23 databases"
	@${ECHO_CMD} "WITH_MYSQL4=1         - Support for users in MySQL 4 databases"
	@${ECHO_CMD} "WITH_PGSQL=1          - Support for users in PostgreSQL databases"
	@${ECHO_CMD} "WITH_PRIVSEP=1        - Enable privilege separation"
	@${ECHO_CMD} "WITH_LANG=lang        - Enable compilation of language support, lang is one of"
	@${ECHO_CMD} "  english, german, romanian, french, french-funny, polish, spanish,"
	@${ECHO_CMD} "  dutch, italian, brazilian-portuguese, danish, slovak, korean,"
	@${ECHO_CMD} "  norwegian, swedish, russian, traditional-chinese, simplified-chinese"
	@${ECHO_CMD} "  and czech."
	@${ECHO_CMD} ""

post-patch:
	@${REINPLACE_CMD} -e 's|$${exec_prefix}|${PREFIX}|g' ${WRKSRC}/configuration-file/pure-config.pl.in

post-install:
	${INSTALL_DATA} ${WRKSRC}/pureftpd-ldap.conf ${PREFIX}/etc/pureftpd-ldap.conf.sample
	${INSTALL_DATA} ${WRKSRC}/pureftpd-mysql.conf ${PREFIX}/etc/pureftpd-mysql.conf.sample
	${INSTALL_DATA} ${WRKSRC}/pureftpd-pgsql.conf ${PREFIX}/etc/pureftpd-pgsql.conf.sample
	${INSTALL_DATA} ${WRKSRC}/configuration-file/pure-ftpd.conf ${PREFIX}/etc/pure-ftpd.conf.sample
	${INSTALL_DATA} ${WRKSRC}/configuration-file/pure-config.pl ${PREFIX}/sbin/
	${MKDIR} ${PREFIX}/share/examples/pure-ftpd
	(cd ${WRKSRC}/contrib && ${INSTALL_SCRIPT} ${CONTRIB} ${PREFIX}/share/examples/pure-ftpd)
	${CHMOD} 755 ${PREFIX}/sbin/pure-config.pl
.if !defined(NOPORTDOCS)
	@${MKDIR} ${PREFIX}/share/doc/pure-ftpd
	(cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${PREFIX}/share/doc/pure-ftpd)
.endif
	${INSTALL_SCRIPT} ${FILESDIR}/pure-ftpd.sh.sample ${PREFIX}/etc/rc.d/
.if defined(PAM_TEMPL)
	${MKDIR} ${PAM_DIR}
	${INSTALL_DATA} ${PAM_TEMPL} ${PAM_DIR}/${PAM_TARGET}
	@${ECHO_CMD} "Now you need to examine ${PAM_DIR}/${PAM_TARGET}"
	@${ECHO_CMD} "and add the relevant PAM configuration lines to your /etc/pam.conf file."
.endif

.include <bsd.port.post.mk>