xref: /OK3568_Linux_fs/buildroot/package/proftpd/proftpd.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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