xref: /OK3568_Linux_fs/buildroot/package/pure-ftpd/pure-ftpd.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# pure-ftpd
4#
5################################################################################
6
7PURE_FTPD_VERSION = 1.0.49
8PURE_FTPD_SITE = https://download.pureftpd.org/pub/pure-ftpd/releases
9PURE_FTPD_SOURCE = pure-ftpd-$(PURE_FTPD_VERSION).tar.bz2
10PURE_FTPD_LICENSE = ISC
11PURE_FTPD_LICENSE_FILES = COPYING
12PURE_FTPD_CPE_ID_VENDOR = pureftpd
13PURE_FTPD_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv)
14
15# 0001-listdir-reuse-a-single-buffer-to-store-every-file-name-to-display.patch
16PURE_FTPD_IGNORE_CVES += CVE-2019-20176
17
18# 0002-pure_strcmp-len-s2-can-be-len-s1.patch
19PURE_FTPD_IGNORE_CVES += CVE-2020-9365
20
21# 0003-diraliases-always-set-the-tail-of-the-list-to-NULL.patch
22PURE_FTPD_IGNORE_CVES += CVE-2020-9274
23
24# 0004-Initialize-the-max-upload-file-size-when-quotas-are-enabled.patch
25PURE_FTPD_IGNORE_CVES += CVE-2021-40524
26
27PURE_FTPD_CONF_OPTS = \
28	--with-altlog \
29	--with-puredb
30
31ifeq ($(BR2_PACKAGE_ELFUTILS),y)
32PURE_FTPD_DEPENDENCIES += elfutils
33endif
34
35ifeq ($(BR2_PACKAGE_LIBCAP),y)
36PURE_FTPD_CONF_OPTS += --with-capabilities
37PURE_FTPD_DEPENDENCIES += libcap
38else
39PURE_FTPD_CONF_OPTS += --without-capabilities
40endif
41
42ifeq ($(BR2_PACKAGE_LIBSODIUM),y)
43PURE_FTPD_DEPENDENCIES += libsodium
44endif
45
46ifeq ($(BR2_PACKAGE_MYSQL),y)
47PURE_FTPD_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr
48PURE_FTPD_DEPENDENCIES += mysql
49else
50PURE_FTPD_CONF_OPTS += --without-mysql
51endif
52
53ifeq ($(BR2_PACKAGE_OPENLDAP),y)
54PURE_FTPD_CONF_OPTS += --with-ldap
55PURE_FTPD_DEPENDENCIES += openldap
56else
57PURE_FTPD_CONF_OPTS += --without-ldap
58endif
59
60ifeq ($(BR2_PACKAGE_OPENSSL),y)
61PURE_FTPD_CONF_OPTS += --with-tls
62PURE_FTPD_DEPENDENCIES += host-pkgconf openssl
63PURE_FTPD_CONF_ENV += LIBS=`$(PKG_CONFIG_HOST_BINARY) --libs openssl`
64else
65PURE_FTPD_CONF_OPTS += --without-tls
66endif
67
68ifeq ($(BR2_PACKAGE_POSTGRESQL),y)
69PURE_FTPD_CONF_OPTS += --with-pgsql=$(STAGING_DIR)/usr
70PURE_FTPD_DEPENDENCIES += postgresql
71else
72PURE_FTPD_CONF_OPTS += --without-pgsql
73endif
74
75ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
76PURE_FTPD_CONF_ENV += ax_cv_check_cflags___fPIE=no ax_cv_check_ldflags___fPIE=no
77endif
78
79ifeq ($(BR2_PACKAGE_PURE_FTPD_FTPWHO),y)
80PURE_FTPD_CONF_OPTS += --with-ftpwho
81endif
82
83ifeq ($(BR2_PACKAGE_PURE_FTPD_QUOTAS),y)
84PURE_FTPD_CONF_OPTS += --with-quotas
85endif
86
87ifeq ($(BR2_PACKAGE_PURE_FTPD_UPLOADSCRIPT),y)
88PURE_FTPD_CONF_OPTS += --with-uploadscript
89endif
90
91ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
92PURE_FTPD_CONF_OPTS += --with-pam
93PURE_FTPD_DEPENDENCIES += linux-pam
94else
95PURE_FTPD_CONF_OPTS += --without-pam
96endif
97
98$(eval $(autotools-package))
99