1*4882a593SmuzhiyunSUMMARY = "Wireless Central Regulatory Domain Database" 2*4882a593SmuzhiyunHOMEPAGE = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda" 3*4882a593SmuzhiyunSECTION = "net" 4*4882a593SmuzhiyunLICENSE = "ISC" 5*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunSRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" 8*4882a593SmuzhiyunSRC_URI[sha256sum] = "fe81e8a8694dc4753a45087a1c4c7e1b48dee5a59f5f796ce374ea550f0b2e73" 9*4882a593Smuzhiyun 10*4882a593Smuzhiyuninherit bin_package allarch 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundo_install() { 13*4882a593Smuzhiyun install -d -m0755 ${D}${nonarch_libdir}/crda 14*4882a593Smuzhiyun install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys 15*4882a593Smuzhiyun install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin 16*4882a593Smuzhiyun install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db 19*4882a593Smuzhiyun install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s 20*4882a593Smuzhiyun} 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun# Install static regulatory DB in /lib/firmware for kernel to load. 23*4882a593Smuzhiyun# This requires Linux kernel >= v4.15. 24*4882a593Smuzhiyun# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass 25*4882a593Smuzhiyun# (in meta-networking) in kernel's recipe. 26*4882a593SmuzhiyunPACKAGES = "${PN}-static ${PN}" 27*4882a593SmuzhiyunRCONFLICTS:${PN} = "${PN}-static" 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunFILES:${PN}-static = " \ 30*4882a593Smuzhiyun ${nonarch_base_libdir}/firmware/regulatory.db \ 31*4882a593Smuzhiyun ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ 32*4882a593Smuzhiyun" 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun# Native users might want to use the source of regulatory DB. 35*4882a593Smuzhiyun# This is for example used by Linux kernel <= v4.14 and 36*4882a593Smuzhiyun# kernel_wireless_regdb.bbclass in meta-networking. 37*4882a593Smuzhiyundo_install:append:class-native() { 38*4882a593Smuzhiyun install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt 39*4882a593Smuzhiyun} 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunRSUGGESTS:${PN} = "crda" 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunBBCLASSEXTEND = "native" 44