1################################################################################ 2# 3# vsftpd 4# 5################################################################################ 6 7VSFTPD_VERSION = 3.0.5 8VSFTPD_SITE = https://security.appspot.com/downloads 9VSFTPD_LIBS = -lcrypt 10VSFTPD_LICENSE = GPL-2.0 11VSFTPD_LICENSE_FILES = COPYING 12VSFTPD_CPE_ID_VALID = YES 13VSFTPD_SELINUX_MODULES = ftp 14 15define VSFTPD_DISABLE_UTMPX 16 $(SED) 's/.*VSF_BUILD_UTMPX/#undef VSF_BUILD_UTMPX/' $(@D)/builddefs.h 17endef 18 19define VSFTPD_ENABLE_SSL 20 $(SED) 's/.*VSF_BUILD_SSL/#define VSF_BUILD_SSL/' $(@D)/builddefs.h 21endef 22 23ifeq ($(BR2_PACKAGE_VSFTPD_UTMPX),) 24VSFTPD_POST_CONFIGURE_HOOKS += VSFTPD_DISABLE_UTMPX 25endif 26 27ifeq ($(BR2_PACKAGE_OPENSSL),y) 28VSFTPD_DEPENDENCIES += openssl host-pkgconf 29VSFTPD_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto` 30VSFTPD_POST_CONFIGURE_HOOKS += VSFTPD_ENABLE_SSL 31endif 32 33ifeq ($(BR2_PACKAGE_LIBCAP),y) 34VSFTPD_DEPENDENCIES += libcap 35VSFTPD_LIBS += -lcap 36endif 37 38ifeq ($(BR2_PACKAGE_LIBXCRYPT),y) 39VSFTPD_DEPENDENCIES += libxcrypt 40endif 41 42ifeq ($(BR2_PACKAGE_LINUX_PAM),y) 43VSFTPD_DEPENDENCIES += linux-pam 44VSFTPD_LIBS += -lpam 45endif 46 47define VSFTPD_BUILD_CMDS 48 $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ 49 LDFLAGS="$(TARGET_LDFLAGS)" LIBS="$(VSFTPD_LIBS)" -C $(@D) 50endef 51 52define VSFTPD_USERS 53 ftp -1 ftp -1 * /home/ftp - - Anonymous FTP User 54endef 55 56define VSFTPD_INSTALL_INIT_SYSTEMD 57 $(INSTALL) -D -m 0644 package/vsftpd/vsftpd.service \ 58 $(TARGET_DIR)/usr/lib/systemd/system/vsftpd.service 59endef 60 61define VSFTPD_INSTALL_INIT_SYSV 62 $(INSTALL) -D -m 755 package/vsftpd/S70vsftpd $(TARGET_DIR)/etc/init.d/S70vsftpd 63endef 64 65# vsftpd won't work if the jail directory is writable, it has to be 66# readable only otherwise you get the following error: 67# 500 OOPS: vsftpd: refusing to run with writable root inside chroot() 68# That's why we have to adjust the permissions of /home/ftp 69define VSFTPD_INSTALL_TARGET_CMDS 70 $(INSTALL) -D -m 755 $(@D)/vsftpd $(TARGET_DIR)/usr/sbin/vsftpd 71 test -f $(TARGET_DIR)/etc/vsftpd.conf || \ 72 $(INSTALL) -D -m 644 $(@D)/vsftpd.conf \ 73 $(TARGET_DIR)/etc/vsftpd.conf 74 $(INSTALL) -d -m 700 $(TARGET_DIR)/usr/share/empty 75 $(INSTALL) -d -m 555 $(TARGET_DIR)/home/ftp 76endef 77 78$(eval $(generic-package)) 79