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