commit b4ef20332227e96f189f0e6240170f3bc0f4f8af Author: loqs Date: Tue Mar 23 20:07:44 2021 +0000 Replace crda diff --git a/trunk/85-regulatory.rules b/trunk/85-regulatory.rules new file mode 100644 index 0000000..7093bc2 --- /dev/null +++ b/trunk/85-regulatory.rules @@ -0,0 +1,3 @@ +# Set wireless regulatory domain at device creation + +ACTION=="add", SUBSYSTEM=="module", DEVPATH=="/module/cfg80211", RUN+="/usr/bin/set-wireless-regdom" diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD index efc4613..b274207 100644 --- a/trunk/PKGBUILD +++ b/trunk/PKGBUILD @@ -6,39 +6,31 @@ pkgrel=1 pkgdesc="Central Regulatory Domain Database" arch=('any') url="https://wireless.kernel.org/en/developers/Regulatory" -backup=(etc/conf.d/wireless-regdom) license=('custom') -depends=('sh') -makedepends=('crda') +depends=('bash' 'iw') +provides=('crda') +backup=(etc/conf.d/wireless-regdom) source=(https://www.kernel.org/pub/software/network/wireless-regdb/${pkgname}-${pkgver}.tar.{xz,sign} - crda.conf.d) + wireless-regdom + set-wireless-regdom + 85-regulatory.rules) sha256sums=('b4164490d82ff7b0086e812ac42ab27baf57be24324d4c0ee1c5dd6ba27f2a52' 'SKIP' - '192428fd959806705356107bffc97b8b379854e79bd013c4ee140e5202326e2b') + '192428fd959806705356107bffc97b8b379854e79bd013c4ee140e5202326e2b' + '603ce97da5cce3f5337e99007ce04e2f295bb33a36b308794884011f7bcabaf3' + 'f5055dfe7584757a11b419836320bcdcd1d3d1e5caf26e20c63a0c64779f3376') validpgpkeys=('2ABCA7498D83E1D32D51D3B5AB4800A62DB9F73A') #Seth Forshee package() { - # Install and verify regulatory.bin file - msg "Installing and verifying the regulatory.bin file ..." - install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/regulatory.bin "${pkgdir}"/usr/lib/crda/regulatory.bin - # This creates a depend/makedepend loop: - # crda depends on wireless-regdb (but strictly doesn't makedepend on it) - # wireless-regdb makedepends on crda - if /usr/bin/regdbdump "${pkgdir}"/usr/lib/crda/regulatory.bin > /dev/null; then - msg "Regulatory database verification was succesful." - else - error "Regulatory database verification failed." - return 1 - fi - install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/sforshee.key.pub.pem "${pkgdir}"/usr/lib/crda/pubkeys/sforshee.key.pub.pem - install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE "${pkgdir}"/usr/share/licenses/wireless-regdb/LICENSE - install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/regulatory.bin.5 "${pkgdir}"/usr/share/man/man5/regulatory.bin.5 - install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/regulatory.db "${pkgdir}"/usr/lib/firmware/regulatory.db - install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/regulatory.db.p7s "${pkgdir}"/usr/lib/firmware/regulatory.db.p7s - install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/regulatory.db.5 "${pkgdir}"/usr/share/man/man5/regulatory.db.5 - msg "Installing /etc/conf.d/wireless-regdom ..." - install -D -m644 "${srcdir}"/crda.conf.d "${pkgdir}"/etc/conf.d/wireless-regdom - for dom in $(grep ^country "${srcdir}"/${pkgname}-${pkgver}/db.txt | cut -d' ' -f2 | sed 's|:||g'); do + echo "Installing /etc/conf.d/wireless-regdom ..." + install -Dm644 wireless-regdom -t "${pkgdir}"/etc/conf.d + install -Dm644 85-regulatory.rules -t "${pkgdir}"/usr/lib/udev/rules.d + install -Dm755 set-wireless-regdom -t "${pkgdir}"/usr/bin + + cd ${pkgname}-${pkgver} + make install DESTDIR="${pkgdir}" MANDIR=usr/share/man FIRMWARE_PATH=usr/lib/firmware + + for dom in $(grep ^country db.txt | cut -d' ' -f2 | sed 's|:||g'); do echo "#WIRELESS_REGDOM=\"${dom}\"" >> "${pkgdir}"/etc/conf.d/wireless-regdom.tmp done sort -u "${pkgdir}"/etc/conf.d/wireless-regdom.tmp >> "${pkgdir}"/etc/conf.d/wireless-regdom diff --git a/trunk/set-wireless-regdom b/trunk/set-wireless-regdom new file mode 100755 index 0000000..3905ae9 --- /dev/null +++ b/trunk/set-wireless-regdom @@ -0,0 +1,5 @@ +#!/bin/bash + +unset WIRELESS_REGDOM +. /etc/conf.d/wireless-regdom +[ -n "${WIRELESS_REGDOM}" ] && iw reg set ${WIRELESS_REGDOM} diff --git a/trunk/crda.conf.d b/trunk/wireless-regdom similarity index 100% rename from trunk/crda.conf.d rename to trunk/wireless-regdom