Merge pull request #4458 from fededim/master
[feed/packages.git] / net / vsftpd / Makefile
1 #
2 # Copyright (C) 2006-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=vsftpd
11 PKG_VERSION:=3.0.3
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://security.appspot.com/downloads/
16 PKG_HASH:=9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7
17 PKG_LICENSE:=GPLv2
18
19 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
20
21 include $(INCLUDE_DIR)/package.mk
22
23 define Package/vsftpd/Default
24 SUBMENU:=File Transfer
25 SECTION:=net
26 CATEGORY:=Network
27 TITLE:=Fast and secure FTP server
28 URL:=https://security.appspot.com/vsftpd.html
29 MAINTAINER:=Cezary Jackiewicz <cezary@eko.one.pl>
30 endef
31
32
33 define Package/vsftpd
34 $(call Package/vsftpd/Default)
35 VARIANT:=notls
36 TITLE+= (no TLS)
37 endef
38
39 define Package/vsftpd-tls
40 $(call Package/vsftpd/Default)
41 VARIANT:=tls
42 TITLE+= (TLS)
43 DEPENDS+=+libopenssl
44 endef
45
46 define Package/vsftpd/conffiles
47 /etc/vsftpd.conf
48 /etc/vsftpd
49 endef
50
51 Package/vsftpd-tls/conffiles=$(Package/vsftpd/conffiles)
52
53 ifneq ($(CONFIG_USE_MUSL),)
54 NLSSTRING:=-lcrypt
55 else
56 NLSSTRING:=-lcrypt -lnsl
57 endif
58
59 TARGET_CFLAGS += -D_GNU_SOURCE -include fcntl.h
60
61 ifeq ($(BUILD_VARIANT),notls)
62 define Build/Compile
63 $(SED) 's/-lcrypt -lnsl/$(NLSSTRING)/' $(PKG_BUILD_DIR)/Makefile
64 $(MAKE) -C $(PKG_BUILD_DIR) \
65 CC="$(TARGET_CC)" \
66 CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
67 LDFLAGS="$(TARGET_LDFLAGS)" \
68 vsftpd
69 endef
70 endif
71
72 ifeq ($(BUILD_VARIANT),tls)
73 define Build/Compile
74 $(SED) 's/#undef VSF_BUILD_SSL/#define VSF_BUILD_SSL/' $(PKG_BUILD_DIR)/builddefs.h
75 $(SED) 's/-lcrypt -lnsl/-lcrypt -lnsl -lssl -lcrypto/' $(PKG_BUILD_DIR)/Makefile
76 $(SED) 's/-lcrypt -lnsl/$(NLSSTRING)/' $(PKG_BUILD_DIR)/Makefile
77 $(MAKE) -C $(PKG_BUILD_DIR) \
78 CC="$(TARGET_CC)" \
79 CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
80 LDFLAGS="$(TARGET_LDFLAGS)" \
81 vsftpd
82 endef
83 endif
84
85 define Package/vsftpd/install
86 $(INSTALL_DIR) $(1)/usr/sbin
87 $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/sbin/
88 $(INSTALL_DIR) $(1)/etc
89 $(INSTALL_CONF) ./files/$(PKG_NAME).conf $(1)/etc/$(PKG_NAME).conf
90 $(INSTALL_DIR) $(1)/etc/init.d
91 $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
92 $(INSTALL_DIR) $(1)/etc/vsftpd
93 endef
94
95 Package/vsftpd-tls/install=$(Package/vsftpd/install)
96
97 $(eval $(call BuildPackage,vsftpd))
98 $(eval $(call BuildPackage,vsftpd-tls))