diff options
Diffstat (limited to 'package/crda')
-rw-r--r-- | package/crda/Makefile | 74 | ||||
-rw-r--r-- | package/crda/files/hotplug.rule | 6 | ||||
-rw-r--r-- | package/crda/patches/101-make_crypto_use_optional.patch | 13 |
3 files changed, 93 insertions, 0 deletions
diff --git a/package/crda/Makefile b/package/crda/Makefile new file mode 100644 index 000000000..0d075f1da --- /dev/null +++ b/package/crda/Makefile @@ -0,0 +1,74 @@ +# +# Copyright (C) 2009-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=crda +PKG_RELEASE:=1 +PKG_VERSION:=1.1.2 +PKG_SOURCE_URL:=http://wireless.kernel.org/download/crda +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_MD5SUM:=5226f65aebacf94baaf820f8b4e06df4 + +PKG_REGULATORY_NAME:=regulatory +PKG_REGULATORY_VERSION:=2011.04.28 +PKG_REGULATORY_SOURCE_URL:=http://wireless.kernel.org/download/wireless-regdb/regulatory.bins +PKG_REGULATORY_SOURCE:=$(PKG_REGULATORY_VERSION)-$(PKG_REGULATORY_NAME).bin +PKG_REGULATORY_MD5SUM:=1535e98bcaba732e2f8e8f62dac6f369 + +include $(INCLUDE_DIR)/package.mk + +define Package/crda + SECTION:=net + CATEGORY:=Network + TITLE:=Central Regulatory Domain Agent (CRDA) + DEPENDS:=+libnl-tiny + URL:=http://wireless.kernel.org/en/developers/Regulatory/CRDA +endef + +define Download/wireless-regdb + FILE:=$(PKG_REGULATORY_SOURCE) + URL:=$(PKG_REGULATORY_SOURCE_URL) + VERSION:=$(PKG_REGULATORY_VERSION) + MD5SUM:=$(PKG_REGULATORY_MD5SUM) +endef +$(eval $(call Download,wireless-regdb)) + +define Package/crda/description + This is the Central Regulatory Domain Agent for Linux. It serves one + purpose: tell Linux kernel what to enforce. In essence it is a udev + helper for communication between the kernel and userspace. You only + need to run this manually for debugging purposes. For manual changing + of regulatory domains use iw (iw reg set) or wpa_supplicant (feature + yet to be added). +endef + +TARGET_CPPFLAGS := \ + -I$(STAGING_DIR)/usr/include/libnl-tiny \ + -D_GNU_SOURCE \ + $(TARGET_CPPFLAGS) + +MAKE_FLAGS += \ + NL1FOUND="" NL2FOUND=Y \ + NLLIBNAME="libnl-tiny" \ + NLLIBS="-lnl-tiny -lm" \ + REG_BIN="$(DL_DIR)/$(PKG_REGULATORY_SOURCE)" \ + crda + +define Package/crda/install + $(INSTALL_DIR) $(1)/sbin + $(INSTALL_DIR) $(1)/etc/hotplug.d + $(INSTALL_DIR) $(1)/etc/hotplug.d/platform + $(INSTALL_DIR) $(1)/usr/lib/crda + $(INSTALL_BIN) $(PKG_BUILD_DIR)/crda $(1)/sbin/ + $(INSTALL_DATA) ./files/hotplug.rule $(1)/etc/hotplug.d/platform/10-regulatory + $(INSTALL_DATA) $(DL_DIR)/$(PKG_REGULATORY_SOURCE) $(1)/usr/lib/crda/regulatory.bin +endef + +$(eval $(call BuildPackage,crda)) + diff --git a/package/crda/files/hotplug.rule b/package/crda/files/hotplug.rule new file mode 100644 index 000000000..1ec033f46 --- /dev/null +++ b/package/crda/files/hotplug.rule @@ -0,0 +1,6 @@ +#!/bin/sh +# Copyright (C) 2009 OpenWrt.org + +[ change = "$ACTION" -a regulatory.0 = "$DEVICENAME" ] && { + /sbin/crda +} diff --git a/package/crda/patches/101-make_crypto_use_optional.patch b/package/crda/patches/101-make_crypto_use_optional.patch new file mode 100644 index 000000000..c7ace42c8 --- /dev/null +++ b/package/crda/patches/101-make_crypto_use_optional.patch @@ -0,0 +1,13 @@ +--- a/Makefile ++++ b/Makefile +@@ -35,7 +35,9 @@ LDLIBS += `pkg-config --libs openssl` + + reglib.o: keys-ssl.c + +-else ++endif ++ ++ifeq ($(USE_GCRYPT),1) + CFLAGS += -DUSE_GCRYPT + LDLIBS += -lgcrypt + |