1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# proftpd 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunPROFTPD_VERSION = 1.3.6e 8*4882a593SmuzhiyunPROFTPD_SITE = $(call github,proftpd,proftpd,v$(PROFTPD_VERSION)) 9*4882a593SmuzhiyunPROFTPD_LICENSE = GPL-2.0+ 10*4882a593SmuzhiyunPROFTPD_LICENSE_FILES = COPYING 11*4882a593SmuzhiyunPROFTPD_CPE_ID_VENDOR = proftpd 12*4882a593SmuzhiyunPROFTPD_SELINUX_MODULES = ftp 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunPROFTPD_CONF_ENV = \ 15*4882a593Smuzhiyun ac_cv_func_setpgrp_void=yes \ 16*4882a593Smuzhiyun ac_cv_func_setgrent_void=yes 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunPROFTPD_CONF_OPTS = \ 19*4882a593Smuzhiyun --localstatedir=/var/run \ 20*4882a593Smuzhiyun --disable-static \ 21*4882a593Smuzhiyun --disable-curses \ 22*4882a593Smuzhiyun --disable-ncurses \ 23*4882a593Smuzhiyun --disable-facl \ 24*4882a593Smuzhiyun --disable-dso \ 25*4882a593Smuzhiyun --enable-sendfile \ 26*4882a593Smuzhiyun --enable-shadow \ 27*4882a593Smuzhiyun --with-gnu-ld \ 28*4882a593Smuzhiyun --without-openssl-cmdline 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_CAP),y) 31*4882a593SmuzhiyunPROFTPD_CONF_OPTS += --enable-cap 32*4882a593SmuzhiyunPROFTPD_DEPENDENCIES += libcap 33*4882a593Smuzhiyunelse 34*4882a593SmuzhiyunPROFTPD_CONF_OPTS += --disable-cap 35*4882a593Smuzhiyunendif 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_REWRITE),y) 38*4882a593SmuzhiyunPROFTPD_MODULES += mod_rewrite 39*4882a593Smuzhiyunendif 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_REDIS),y) 42*4882a593SmuzhiyunPROFTPD_CONF_OPTS += --enable-redis 43*4882a593SmuzhiyunPROFTPD_DEPENDENCIES += hiredis 44*4882a593Smuzhiyunelse 45*4882a593SmuzhiyunPROFTPD_CONF_OPTS += --disable-redis 46*4882a593Smuzhiyunendif 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_SFTP),y) 49*4882a593SmuzhiyunPROFTPD_CONF_OPTS += --enable-openssl 50*4882a593SmuzhiyunPROFTPD_MODULES += mod_sftp 51*4882a593SmuzhiyunPROFTPD_DEPENDENCIES += openssl 52*4882a593Smuzhiyunelse 53*4882a593SmuzhiyunPROFTPD_CONF_OPTS += --disable-openssl 54*4882a593Smuzhiyunendif 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_SQL),y) 57*4882a593SmuzhiyunPROFTPD_MODULES += mod_sql 58*4882a593Smuzhiyunendif 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_SQL_SQLITE),y) 61*4882a593SmuzhiyunPROFTPD_MODULES += mod_sql_sqlite 62*4882a593SmuzhiyunPROFTPD_DEPENDENCIES += sqlite 63*4882a593Smuzhiyunendif 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_SFTP_SQL),y) 66*4882a593SmuzhiyunPROFTPD_MODULES += mod_sftp_sql 67*4882a593Smuzhiyunendif 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB),y) 70*4882a593SmuzhiyunPROFTPD_MODULES += mod_quotatab 71*4882a593Smuzhiyunendif 72*4882a593Smuzhiyun 73*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_FILE),y) 74*4882a593SmuzhiyunPROFTPD_MODULES += mod_quotatab_file 75*4882a593Smuzhiyunendif 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_LDAP),y) 78*4882a593SmuzhiyunPROFTPD_MODULES += mod_quotatab_ldap 79*4882a593Smuzhiyunendif 80*4882a593Smuzhiyun 81*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_RADIUS),y) 82*4882a593SmuzhiyunPROFTPD_MODULES += mod_quotatab_radius 83*4882a593Smuzhiyunendif 84*4882a593Smuzhiyun 85*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_SQL),y) 86*4882a593SmuzhiyunPROFTPD_MODULES += mod_quotatab_sql 87*4882a593Smuzhiyunendif 88*4882a593Smuzhiyun 89*4882a593SmuzhiyunPROFTPD_CONF_OPTS += --with-modules=$(subst $(space),:,$(PROFTPD_MODULES)) 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun# configure script doesn't handle detection of %llu format string 92*4882a593Smuzhiyun# support for printing the file size when cross compiling, breaking 93*4882a593Smuzhiyun# access for large files. 94*4882a593Smuzhiyun# We unfortunately cannot AUTORECONF the package, so instead force it 95*4882a593Smuzhiyun# on if we know we support it 96*4882a593Smuzhiyundefine PROFTPD_USE_LLU 97*4882a593Smuzhiyun $(SED) 's/HAVE_LU/HAVE_LLU/' $(@D)/configure 98*4882a593Smuzhiyunendef 99*4882a593SmuzhiyunPROFTPD_PRE_CONFIGURE_HOOKS += PROFTPD_USE_LLU 100*4882a593Smuzhiyun 101*4882a593SmuzhiyunPROFTPD_MAKE = $(MAKE1) 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun# install Perl based scripts in target 104*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PERL),y) 105*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB),y) 106*4882a593Smuzhiyundefine PROFTPD_INSTALL_FTPQUOTA 107*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/contrib/ftpquota $(TARGET_DIR)/usr/sbin/ftpquota 108*4882a593Smuzhiyunendef 109*4882a593Smuzhiyunendif 110*4882a593Smuzhiyundefine PROFTPD_INSTALL_FTPASSWD 111*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/contrib/ftpasswd $(TARGET_DIR)/usr/sbin/ftpasswd 112*4882a593Smuzhiyunendef 113*4882a593Smuzhiyunendif 114*4882a593Smuzhiyun 115*4882a593Smuzhiyundefine PROFTPD_INSTALL_TARGET_CMDS 116*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/proftpd $(TARGET_DIR)/usr/sbin/proftpd 117*4882a593Smuzhiyun $(INSTALL) -m 0644 -D $(@D)/sample-configurations/basic.conf $(TARGET_DIR)/etc/proftpd.conf 118*4882a593Smuzhiyun $(PROFTPD_INSTALL_FTPQUOTA) 119*4882a593Smuzhiyun $(PROFTPD_INSTALL_FTPASSWD) 120*4882a593Smuzhiyunendef 121*4882a593Smuzhiyun 122*4882a593Smuzhiyundefine PROFTPD_USERS 123*4882a593Smuzhiyun ftp -1 ftp -1 * /home/ftp - - Anonymous FTP User 124*4882a593Smuzhiyunendef 125*4882a593Smuzhiyun 126*4882a593Smuzhiyundefine PROFTPD_INSTALL_INIT_SYSV 127*4882a593Smuzhiyun $(INSTALL) -D -m 0755 package/proftpd/S50proftpd $(TARGET_DIR)/etc/init.d/S50proftpd 128*4882a593Smuzhiyunendef 129*4882a593Smuzhiyun 130*4882a593Smuzhiyundefine PROFTPD_INSTALL_INIT_SYSTEMD 131*4882a593Smuzhiyun $(INSTALL) -D -m 644 package/proftpd/proftpd.service \ 132*4882a593Smuzhiyun $(TARGET_DIR)/usr/lib/systemd/system/proftpd.service 133*4882a593Smuzhiyunendef 134*4882a593Smuzhiyun 135*4882a593Smuzhiyunifneq ($(BR2_PACKAGE_PROFTPD_BUFFER_SIZE),0) 136*4882a593SmuzhiyunPROFTPD_CONF_OPTS += --enable-buffer-size=$(BR2_PACKAGE_PROFTPD_BUFFER_SIZE) 137*4882a593Smuzhiyunendif 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun$(eval $(autotools-package)) 140