diff --git a/srcpkgs/crda/files/set-wireless-regdom b/srcpkgs/crda/files/set-wireless-regdom new file mode 100644 index 0000000000..0e2ee95cec --- /dev/null +++ b/srcpkgs/crda/files/set-wireless-regdom @@ -0,0 +1,5 @@ +#!/bin/sh + +unset WIRELESS_REGDOM +. /etc/wireless-regdom +[ -n "${WIRELESS_REGDOM}" ] && iw reg set ${WIRELESS_REGDOM} diff --git a/srcpkgs/crda/template b/srcpkgs/crda/template new file mode 100644 index 0000000000..4322729935 --- /dev/null +++ b/srcpkgs/crda/template @@ -0,0 +1,57 @@ +# Template file for 'crda' +pkgname=crda +version=3.18 +_dbname=wireless-regdb +_dbversion=2015.01.30 +_dbsrc="${XBPS_BUILDDIR}/${_dbname}-${_dbversion}/" +revision=1 +hostmakedepends="libressl-openssl python python-M2Crypto pkg-config" +makedepends="libnl-devel libgcrypt-devel" +depends="iw" +short_desc="Central Regulatory Domain Agent for wireless networks" +maintainer="Andrea Brancaleoni " +license="ISC" +homepage="http://wireless.kernel.org/en/developers/Regulatory/CRDA" +distfiles="https://kernel.org/pub/software/network/crda/${pkgname}-${version}.tar.xz https://www.kernel.org/pub/software/network/wireless-regdb/${_dbname}-${_dbversion}.tar.xz" +checksum="43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf 438d7f3d62686bc997098d17fe1aff95c6f6ec061aaab90ab7c2c17e8451ce85" +conf_files="/etc/wireless-regdom" + +build_options="wardrive" +desc_option_wardrive="Disable CRDA checks for wardriving competitions" + + +post_extract() { + if [ "$build_option_wardrive" ]; then + sed -i 's/([0-9][0-9])/(33)/g' db.txt # Max 2W =~ 33dBm + fi +} + +do_build() { + cd ${_dbsrc} + make + cp *.pem ${wrksrc}/pubkeys + + cd ${wrksrc} + + make CC="$CC" all_noverify +} + +do_install() { + make DESTDIR="${DESTDIR}" SBINDIR="/usr/bin" UDEV_RULE_DIR="/usr/lib/udev/rules.d/" install + vlicense LICENSE + + cd ${_dbsrc} + vmkdir usr/lib/crda/ + vinstall regulatory.bin 644 usr/lib/crda/ + vmkdir etc/conf.d/ + for dom in $(grep ^country db.txt | cut -d' ' -f2 | sed 's|:||g'); do + echo "#WIRELESS_REGDOM=\"${dom}\"" >> ${DESTDIR}/etc/wireless-regdom.tmp + done + sort -u ${DESTDIR}/etc/wireless-regdom.tmp >> ${DESTDIR}/etc/wireless-regdom + rm ${DESTDIR}/etc/wireless-regdom.tmp + + vbin ${FILESDIR}/set-wireless-regdom + echo 'ACTION=="add" SUBSYSTEM=="module", DEVPATH=="/module/cfg80211", RUN+="/usr/bin/set-wireless-regdom"' >> ${DESTDIR}/usr/lib/udev/rules.d/85-regulatory.rules + + find ${DESTDIR} -type f -name \*.h -delete # No need for devel files, no package i know uses libreg.so +}