Linux 2.6.28 will support a new wireless regulatory domain infrastructure. Instead of the limited number of hardcoded regulatory domains in cfg80211 (EU, JP, US), there will be a userspace daemon that manages regulatory domains. We could still enable the "old" regulatory domain in the kernel. However, I would like to disable it, so kernel26 will have dependency (or optdependency) on crda (as would compat-wireless, if someone builds it with the new regulatory framework enabled).

The package includes the crda and regdbdump binaries, as well as a binary regulatory.bin database and a udev rule. John Linville's RSA public key is hardcoded in both crda and regdbdump, so they will only accept regulatory.bin files signed by him. (The build system allows to include other public keys and the data to build the regulatory.bin is publicly available.)

I am attaching the PKGBUILD for crda.
# $Id: $
# Maintainer: Thomas Bächler <[EMAIL PROTECTED]>

pkgname=crda
pkgver=0.9.4
pkgrel=1
pkgdesc="Central Regulatory Domain Agent"
arch=(i686 x86_64)
url="http://wireless.kernel.org/en/developers/Regulatory/CRDA";
license=('custom')
depends=('libnl' 'libgcrypt' 'udev')
makedepends=('python-m2crypto' 'git')
source=(http://wireless.kernel.org/download/crda/$pkgname-$pkgver.tar.bz2)
md5sums=('dddd9c0f08e7e447a29fc5b8eed5179f')

build() {
  # Install crda, regdbdump and udev rules
  msg "Compiling and installing crda ..."
  cd $srcdir/$pkgname-$pkgver
  make crda regdbdump || return 1
  make DESTDIR=$pkgdir install || return 1

  # Install and verify regulatory.bin file
  msg "Downloading and installing the regulatory.bin file ..."
  cd $srcdir
  if [ -d wireless-regdb ]; then
    cd wireless-regdb
    git pull
    cd ..
  else
    git clone 
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-regdb.git
  fi
  install -D -m444 wireless-regdb/regulatory.bin 
$pkgdir/usr/lib/crda/regulatory.bin || return 1
  if $pkgdir/sbin/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
  
  msg "Installing license ..."
  install -D -m644 $srcdir/$pkgname-$pkgver/LICENSE 
$pkgdir/usr/share/licenses/crda/LICENSE || return 1
}

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to