hs20: patch hostapd to make use of updated dm_ddf
[feed/packages.git] / net / hs20 / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=hs20
4 PKG_RELEASE:=4
5
6 PKG_SOURCE_URL:=http://w1.fi/hostap.git
7 PKG_SOURCE_PROTO:=git
8 PKG_SOURCE_DATE:=2020-06-08
9 PKG_SOURCE_VERSION:=5a8b366233f5585e68a4ffbb604fbb4a848eb325
10
11 PKG_SOURCE_NAME:=hostapd
12 PKG_MIRROR_HASH:=1b2a4947034142587a3f81eac2ea27dd64650e77f8943d973623b47533be2393
13 PKG_MIRROR_VERSION:=$(PKG_SOURCE_DATE)-$(call version_abbrev,$(PKG_SOURCE_VERSION))
14 PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_MIRROR_VERSION).tar.xz
15 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_SOURCE_NAME)-$(PKG_MIRROR_VERSION)
16
17 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
18 PKG_LICENSE:=BSD-3-Clause
19 PKG_CPE_ID:=cpe:/a:w1.fi:hostapd
20
21 define Download/dm-ddf-dtd
22 URL:=http://www.openmobilealliance.org/tech/DTD
23 FILE:=dm_ddf-v1_3.dtd
24 HASH:=9b3e1dc66a2d38fc6e1300e9fb6f06f95d042206dabc94ae989739feaeb0733e
25 endef
26
27 define Download/spp-xsd
28 URL:=https://raw.githubusercontent.com/greearb/hostap-ct/7a7b81d0e58c81796c7408a47082c9cc7587aa21/hs20/server/examples/Fedora20/hs20/spp
29 URL_FILE:=spp.xsd
30 FILE:=spp-v1_0.xsd
31 HASH:=83be16db72e96cca8d654d7f0b446cdd017090d5512a4cd5f7172204331fd8f2
32 endef
33
34 PKG_BUILD_PARALLEL:=1
35 PKG_ASLR_PIE_REGULAR:=1
36
37 ifdef CONFIG_USE_GLIBC
38 TARGET_LDFLAGS += -lrt
39 TARGET_LDFLAGS_C += -lrt
40 endif
41
42 include $(INCLUDE_DIR)/package.mk
43
44 define Package/hs20-common
45 SECTION:=net
46 CATEGORY:=Network
47 SUBMENU:=WirelessAPD
48 TITLE:=Hotspot 2.0 OSU common files
49 URL:=http://hostap.epitest.fi/
50 endef
51
52 define Package/hs20-common/description
53 Hotspot 2.0 OSU common files
54
55 Hotspot 2.0 SPP and OMA DM XML schema/DTD files
56 endef
57
58 define Package/hs20-client
59 SECTION:=net
60 CATEGORY:=Network
61 SUBMENU:=WirelessAPD
62 TITLE:=Hotspot 2.0 OSU client
63 URL:=http://hostap.epitest.fi/
64 DEPENDS:=+hs20-common +libopenssl +libcurl +libxml2
65 endef
66
67 define Package/hs20-client/description
68 Hotspot 2.0 OSU client
69
70 endef
71
72 define Package/hs20-server
73 SECTION:=net
74 CATEGORY:=Network
75 SUBMENU:=WirelessAPD
76 TITLE:=Hotspot 2.0 OSU server
77 URL:=http://hostap.epitest.fi/
78 DEPENDS:=+hs20-common +libopenssl +libsqlite3 +libxml2 +php7 +php7-cgi +php7-mod-xml +php7-mod-pdo-sqlite +openssl-util +sqlite3-cli +uhttpd +xxd
79 endef
80
81 define Package/hs20-server/description
82 Hotspot 2.0 OSU server
83
84 This implementation and the example configuration is meant only for
85 testing purposes in a lab environment. This design is not secure to be
86 installed in a publicly available Internet server without considerable
87 amount of modification and review for security issues.
88 endef
89
90 define Build/Prepare
91 $(call Build/Prepare/Default)
92 $(eval $(call Download,dm-ddf-dtd))
93 $(eval $(call Download,spp-xsd))
94 endef
95
96 define Build/Configure
97 $(CP) ./files/hostapd.config $(PKG_BUILD_DIR)/hostapd/.config
98 endef
99
100 define Build/RunMake
101 CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
102 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \
103 $(TARGET_CONFIGURE_OPTS) \
104 LIBS="$(TARGET_LDFLAGS) $(2)" \
105 LIBS_c="$(TARGET_LDFLAGS_C)" \
106 AR="$(TARGET_CROSS)gcc-ar" \
107 BCHECK= CONFIG_NO_BROWSER=y \
108 $(3)
109 endef
110
111 define Build/Compile
112 $(call Build/RunMake,hostapd,-lssl -lcrypto -lsqlite3,hostapd hlr_auc_gw)
113 $(call Build/RunMake,hs20/server,-lsqlite3 -lxml2,all)
114 $(call Build/RunMake,hs20/client,-lssl -lcrypto -lcurl -lxml2,all)
115 endef
116
117 define Package/hs20-common/install
118 $(INSTALL_DIR) $(1)/etc/hs20/spp
119 $(INSTALL_DATA) $(DL_DIR)/dm_ddf-v1_3.dtd $(1)/etc/hs20/spp
120 $(INSTALL_DATA) $(DL_DIR)/spp-v1_0.xsd $(1)/etc/hs20/spp/spp.xsd
121 endef
122
123 define Package/hs20-client/install
124 $(INSTALL_DIR) $(1)/usr/sbin
125 $(INSTALL_BIN) $(PKG_BUILD_DIR)/hs20/client/hs20-osu-client $(1)/usr/sbin/
126 endef
127
128 define Package/hs20-server/install
129 $(INSTALL_DIR) $(1)/usr/sbin $(1)/usr/share/hs20/ca $(1)/www/hs20 $(1)/etc/uci-defaults $(1)/etc/hs20/spp $(1)/etc/config $(1)/etc/init.d
130 $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd $(1)/usr/sbin/hostapd-hs20-radius-server
131 $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hlr_auc_gw $(1)/usr/sbin/
132 $(INSTALL_BIN) $(PKG_BUILD_DIR)/hs20/server/hs20_spp_server $(1)/usr/sbin/
133 $(INSTALL_DATA) $(PKG_BUILD_DIR)/hs20/server/www/* $(1)/www/hs20
134 $(INSTALL_DATA) $(PKG_BUILD_DIR)/hs20/server/sql.txt $(1)/usr/share/hs20
135 $(CP) $(PKG_BUILD_DIR)/hs20/server/ca/* $(1)/usr/share/hs20/ca
136 $(INSTALL_BIN) ./files/hs20-server.defaults $(1)/etc/uci-defaults/hs20-server
137 $(INSTALL_CONF) ./files/hs20.config $(1)/etc/config/hs20
138 $(INSTALL_BIN) ./files/hs20.init $(1)/etc/init.d/hs20
139 endef
140
141 $(eval $(call BuildPackage,hs20-common))
142 $(eval $(call BuildPackage,hs20-client))
143 $(eval $(call BuildPackage,hs20-server))