Merge pull request #14656 from stintel/miniupnpd
[feed/packages.git] / net / openvpn / Makefile
1 #
2 # Copyright (C) 2010-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:=openvpn
11
12 PKG_VERSION:=2.5.1
13 PKG_RELEASE:=3
14
15 PKG_SOURCE_URL:=\
16 https://build.openvpn.net/downloads/releases/ \
17 https://swupdate.openvpn.net/community/releases/
18 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
19 PKG_HASH:=40930489c837c05f6153f38e1ebaec244431ef1a034e4846ff732d71d59ff194
20
21 PKG_MAINTAINER:=Magnus Kroken <mkroken@gmail.com>
22
23 PKG_INSTALL:=1
24 PKG_FIXUP:=autoreconf
25 PKG_BUILD_PARALLEL:=1
26 PKG_LICENSE:=GPL-2.0
27 PKG_CPE_ID:=cpe:/a:openvpn:openvpn
28
29 include $(INCLUDE_DIR)/package.mk
30
31 define Package/openvpn/Default
32 TITLE:=Open source VPN solution using $(2)
33 SECTION:=net
34 CATEGORY:=Network
35 URL:=http://openvpn.net
36 SUBMENU:=VPN
37 MENU:=1
38 DEPENDS:=+kmod-tun +OPENVPN_$(1)_ENABLE_LZO:liblzo +OPENVPN_$(1)_ENABLE_IPROUTE2:ip $(3)
39 VARIANT:=$(1)
40 PROVIDES:=openvpn openvpn-crypto
41 endef
42
43 Package/openvpn-openssl=$(call Package/openvpn/Default,openssl,OpenSSL,+PACKAGE_openvpn-openssl:libopenssl)
44 Package/openvpn-mbedtls=$(call Package/openvpn/Default,mbedtls,mbedTLS,+PACKAGE_openvpn-mbedtls:libmbedtls)
45
46 define Package/openvpn/config/Default
47 source "$(SOURCE)/Config-$(1).in"
48 endef
49
50 Package/openvpn-openssl/config=$(call Package/openvpn/config/Default,openssl)
51 Package/openvpn-mbedtls/config=$(call Package/openvpn/config/Default,mbedtls)
52
53 ifeq ($(BUILD_VARIANT),mbedtls)
54 CONFIG_OPENVPN_MBEDTLS:=y
55 endif
56 ifeq ($(BUILD_VARIANT),openssl)
57 CONFIG_OPENVPN_OPENSSL:=y
58 endif
59
60 CONFIGURE_VARS += \
61 IPROUTE=/sbin/ip \
62 NETSTAT=/sbin/netstat
63
64 TARGET_CFLAGS += -ffunction-sections -fdata-sections
65 TARGET_LDFLAGS += -Wl,--gc-sections
66
67 define Build/Configure
68 $(call Build/Configure/Default, \
69 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_SMALL),--enable-small) \
70 --disable-selinux \
71 --disable-systemd \
72 --disable-plugins \
73 --disable-debug \
74 --disable-pkcs11 \
75 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_LZO),--enable,--disable)-lzo \
76 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_LZ4),--enable,--disable)-lz4 \
77 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_X509_ALT_USERNAME),--enable,--disable)-x509-alt-username \
78 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_MANAGEMENT),--enable,--disable)-management \
79 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_FRAGMENT),--enable,--disable)-fragment \
80 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_MULTIHOME),--enable,--disable)-multihome \
81 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_IPROUTE2),--enable,--disable)-iproute2 \
82 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_DEF_AUTH),--enable,--disable)-def-auth \
83 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_PF),--enable,--disable)-pf \
84 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_PORT_SHARE),--enable,--disable)-port-share \
85 $(if $(CONFIG_OPENVPN_OPENSSL),--with-crypto-library=openssl) \
86 $(if $(CONFIG_OPENVPN_MBEDTLS),--with-crypto-library=mbedtls) \
87 )
88 endef
89
90 define Package/openvpn-$(BUILD_VARIANT)/conffiles
91 /etc/config/openvpn
92 /etc/openvpn.user
93 endef
94
95 define Package/openvpn-$(BUILD_VARIANT)/install
96 $(INSTALL_DIR) \
97 $(1)/usr/sbin \
98 $(1)/usr/share/openvpn \
99 $(1)/etc/init.d \
100 $(1)/etc/config \
101 $(1)/etc/openvpn \
102 $(1)/lib/functions \
103 $(1)/lib/upgrade/keep.d \
104 $(1)/usr/libexec \
105 $(1)/etc/hotplug.d/openvpn
106
107 $(INSTALL_BIN) \
108 $(PKG_INSTALL_DIR)/usr/sbin/openvpn \
109 $(1)/usr/sbin/
110
111 $(INSTALL_BIN) \
112 files/openvpn.init \
113 $(1)/etc/init.d/openvpn
114
115 $(INSTALL_BIN) \
116 files/usr/libexec/openvpn-hotplug \
117 $(1)/usr/libexec/openvpn-hotplug
118
119 $(INSTALL_DATA) \
120 files/lib/functions/openvpn.sh \
121 $(1)/lib/functions/openvpn.sh
122
123 $(INSTALL_DATA) \
124 files/etc/hotplug.d/openvpn/01-user \
125 $(1)/etc/hotplug.d/openvpn/01-user
126
127 $(INSTALL_DATA) \
128 files/etc/openvpn.user \
129 $(1)/etc/openvpn.user
130
131 $(INSTALL_DATA) \
132 files/openvpn.options \
133 $(1)/usr/share/openvpn/openvpn.options
134
135 $(INSTALL_CONF) files/openvpn.config \
136 $(1)/etc/config/openvpn
137
138 $(INSTALL_DATA) \
139 files/openvpn.upgrade \
140 $(1)/lib/upgrade/keep.d/openvpn
141 endef
142
143 $(eval $(call BuildPackage,openvpn-openssl))
144 $(eval $(call BuildPackage,openvpn-mbedtls))