blob: fbe2e44fb341a65d1ed27c148daaa36842e8b31b [file] [log] [blame]
developer29c4d2d2022-12-26 19:41:22 +08001SUMMARY = "User space daemon for extended IEEE 802.11 management"
2HOMEPAGE = "http://w1.fi/hostapd/"
3SECTION = "kernel/userland"
4LICENSE = "BSD-3-Clause"
5LIC_FILES_CHKSUM = "file://hostapd/README;md5=c905478466c90f1cefc0df987c40e172"
6
7DEPENDS = "libnl openssl ubus"
8DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'telemetry2_0', 'telemetry', '', d)}"
9LDFLAGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'telemetry2_0', ' -ltelemetry_msgsender ', '', d)}"
10RDEPENDS_${PN} += "gawk"
11
12FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
13FILESEXTRAPATHS_prepend := "${THISDIR}/files/patches-${PV}:"
14
15SRCREV ?= "b704dc72ef824dfdd96674b90179b274d1d38105"
16SRC_URI = " \
17 git://w1.fi/hostap.git;protocol=https;branch=main \
18 file://hostapd-full.config \
19 file://hostapd-2G.conf \
20 file://hostapd-5G.conf \
21 file://hostapd-6G.conf \
22 file://hostapd-5G-7915.conf \
23 file://hostapd-5G-7916.conf \
24 file://hostapd.service \
25 file://hostapd-init.sh \
26 file://mac80211.sh \
27 file://init-uci-config.service \
28 file://src \
29 file://001-rdkb-remove-ubus-support.patch;apply=no \
30"
31require files/patches-${PV}/patches.inc
32
33B = "${WORKDIR}/git/hostapd"
34S = "${WORKDIR}/git"
35
36inherit update-rc.d systemd pkgconfig features_check
37INITSCRIPT_NAME = "hostapd"
38
39SYSTEMD_AUTO_ENABLE_${PN} = "enable"
40SYSTEMD_SERVICE_${PN} = "hostapd.service"
41SYSTEMD_SERVICE_${PN} += " init-uci-config.service"
42
43do_unpack_append() {
44 bb.build.exec_func('do_copy_openwrt_src', d)
45}
46
47do_copy_openwrt_src() {
48 cp -Rfp ${WORKDIR}/src/* ${S}/
49}
50
51do_configure_append() {
52 install -m 0644 ${WORKDIR}/hostapd-full.config ${B}/.config
53
54 echo "CONFIG_MBO=y" >> ${B}/.config
55 echo "CONFIG_WPS_UPNP=y" >> ${B}/.config
56 echo "CONFIG_DPP=y" >> ${B}/.config
57 echo "CONFIG_DPP2=y" >> ${B}/.config
58 echo "CONFIG_DPP3=y" >> ${B}/.config
59
60 echo "CONFIG_ACS=y" >> ${B}/.config
61 echo "CONFIG_IEEE80211AX=y" >> ${B}/.config
62 echo "CONFIG_TLS=openssl" >> ${B}/.config
63 echo "CONFIG_SAE=y" >> ${B}/.config
64 echo "CONFIG_OWE=y" >> ${B}/.config
65 echo "CONFIG_SUITEB192=y" >> ${B}/.config
66 echo "CONFIG_AP=y" >> ${B}/.config
67 echo "CONFIG_MESH=y" >> ${B}/.config
68 echo "CONFIG_WEP=y" >> ${B}/.config
69 echo "CONFIG_FILS=y" >> ${B}/.config
70}
71
72do_filogic_patches() {
73 cd ${S}
74 if [ ! -e patch_applied ]; then
75 patch -p1 < ${WORKDIR}/001-rdkb-remove-ubus-support.patch
76 touch patch_applied
77 fi
78}
79
80addtask filogic_patches after do_patch before do_compile
81
82do_compile() {
83 export CFLAGS="-MMD -O2 -Wall -g -I${STAGING_INCDIR}/libnl3"
84 export EXTRA_CFLAGS="${CFLAGS}"
85 make V=1
86}
87
88do_install() {
89 install -d ${D}${sbindir} ${D}${sysconfdir} ${D}${systemd_unitdir}/system/ ${D}${base_libdir}/rdk
90 install -m 0755 ${B}/hostapd ${D}${sbindir}
91 install -m 0755 ${B}/hostapd_cli ${D}${sbindir}
92 install -m 0644 ${WORKDIR}/hostapd-2G.conf ${D}${sysconfdir}
93 install -m 0644 ${WORKDIR}/hostapd-5G.conf ${D}${sysconfdir}
94 install -m 0644 ${WORKDIR}/hostapd-6G.conf ${D}${sysconfdir}
95 install -m 0644 ${WORKDIR}/hostapd-5G-7915.conf ${D}${sysconfdir}
96 install -m 0644 ${WORKDIR}/hostapd-5G-7916.conf ${D}${sysconfdir}
97 install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system
98 install -m 0755 ${WORKDIR}/hostapd-init.sh ${D}${base_libdir}/rdk
99 install -m 0644 ${WORKDIR}/init-uci-config.service ${D}${systemd_unitdir}/system
100 install -m 0755 ${WORKDIR}/mac80211.sh ${D}${sbindir}
101}
102
103FILES_${PN} += " \
104 ${systemd_unitdir}/system/hostapd.service \
105 ${sysconfdir}/hostapd-2G.conf \
106 ${sysconfdir}/hostapd-5G.conf \
107 ${sysconfdir}/hostapd-6G.conf \
108 ${sysconfdir}/hostapd-5G-7915.conf \
109 ${sysconfdir}/hostapd-5G-7916.conf \
110 ${base_libdir}/rdk/hostapd-init.sh \
111 ${systemd_unitdir}/system/init-uci-config.service \
112"