From 31f16482f2986df49fab4556d022060267ebe0fd Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Tue, 28 Feb 2006 20:11:40 +0000
Subject: [PATCH] add the 'click' package with roofnet scripts (thanks to John
 Bicket)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@3288 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 openwrt/package/Config.in                  |  1 +
 openwrt/package/Makefile                   |  1 +
 openwrt/package/click/Config.in            | 18 ++++++
 openwrt/package/click/Makefile             | 65 ++++++++++++++++++++++
 openwrt/package/click/files/S50roofnet     |  7 +++
 openwrt/package/click/ipkg/click.control   |  6 ++
 openwrt/package/click/ipkg/roofnet.control |  6 ++
 7 files changed, 104 insertions(+)
 create mode 100644 openwrt/package/click/Config.in
 create mode 100644 openwrt/package/click/Makefile
 create mode 100755 openwrt/package/click/files/S50roofnet
 create mode 100644 openwrt/package/click/ipkg/click.control
 create mode 100644 openwrt/package/click/ipkg/roofnet.control

diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index e69cad2c3..aab7ea65c 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -57,6 +57,7 @@ source "package/bind/Config.in"
 source "package/bwm/Config.in"
 source "package/chillispot/Config.in"
 source "package/cifsmount/Config.in"
+source "package/click/Config.in"
 source "package/cups/Config.in"
 source "package/cutter/Config.in"
 source "package/dhcp/Config.in"
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index 39648ead1..23f0ab24a 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -21,6 +21,7 @@ package-$(BR2_PACKAGE_BWM) += bwm
 package-$(BR2_PACKAGE_CGILIB) += cgilib
 package-$(BR2_PACKAGE_CHILLISPOT) += chillispot
 package-$(BR2_PACKAGE_CIFSMOUNT) += cifsmount
+package-$(BR2_PACKAGE_CLICK) += click
 package-$(BR2_PACKAGE_CLINKC) += clinkc
 package-$(BR2_PACKAGE_COLLECTD) += collectd
 package-$(BR2_PACKAGE_CUPS) += cups
diff --git a/openwrt/package/click/Config.in b/openwrt/package/click/Config.in
new file mode 100644
index 000000000..31e18352c
--- /dev/null
+++ b/openwrt/package/click/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_CLICK
+	prompt "click............................. The Click Modular Router"
+	tristate
+	select BR2_PACKAGE_KMOD_TUN
+	default m if CONFIG_DEVEL
+	help
+		http://pdos.csail.mit.edu/click/
+
+config BR2_PACKAGE_ROOFNET
+	prompt "roofnet........................... roofnet mesh networking scripts"
+	tristate
+	depends BR2_PACKAGE_CLICK
+	select BR2_PACKAGE_KMOD_MADWIFI
+	default m if CONFIG_DEVEL
+	help
+		http://pdos.csail.mit.edu/roofnet/
+
+
diff --git a/openwrt/package/click/Makefile b/openwrt/package/click/Makefile
new file mode 100644
index 000000000..fb171a0e4
--- /dev/null
+++ b/openwrt/package/click/Makefile
@@ -0,0 +1,65 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=click
+PKG_VERSION:=cvs.2006.02.27
+PKG_RELEASE:=0
+PKG_MD5SUM:=0479c7e50547cc8fdbfcc60f6eea30b4
+
+ROOFNET_VERSION:=0.0.1
+
+PKG_SOURCE_URL:=http://pdos.csail.mit.edu/~jbicket/click_snapshots/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,CLICK,$(PKG_NAME),$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ROOFNET,roofnet,$(ROOFNET_VERSION),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+	(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+		$(TARGET_CONFIGURE_OPTS) \
+		CXXFLAGS="-static -O2 -MD" \
+		CFLAGS="-static -MD" \
+		CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+		LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+		./configure \
+		  --prefix=/usr \
+		  --target=$(GNU_TARGET_NAME) \
+		  --host=$(GNU_TARGET_NAME) \
+		  --build=$(GNU_HOST_NAME) \
+		  --enable-wifi \
+		  --disable-linuxmodule \
+		  --enable-tools=host \
+	);
+	touch $@
+
+$(PKG_BUILD_DIR)/.built:
+	rm -rf $(PKG_INSTALL_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		$(TARGET_CONFIGURE_OPTS) \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		all
+	touch $@
+
+$(IPKG_CLICK):
+	install -d -m0755 $(IDIR_CLICK)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/userlevel/click $(IDIR_CLICK)/usr/bin/click 
+	$(CP) $(PKG_BUILD_DIR)/tools/click-align/click-align $(IDIR_CLICK)/usr/bin/click-align
+	$(CP) $(PKG_BUILD_DIR)/conf/wifi/read_handler $(IDIR_CLICK)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/conf/wifi/write_handler $(IDIR_CLICK)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/conf/wifi/srcr.click $(IDIR_CLICK)/usr/bin
+	$(RSTRIP) $(IDIR_CLICK)
+	$(IPKG_BUILD) $(IDIR_CLICK) $(PACKAGE_DIR)
+
+
+$(IPKG_ROOFNET):
+	install -d -m0755 $(IDIR_ROOFNET)/usr/bin
+	$(CP) $(PKG_BUILD_DIR)/conf/wifi/gen_config_roofnet.sh $(IDIR_ROOFNET)/usr/bin
+	mkdir -p $(IDIR_ROOFNET)/etc/init.d
+	install -m 755 ./files/S50roofnet $(IDIR_ROOFNET)/etc/init.d/
+	$(IPKG_BUILD) $(IDIR_ROOFNET) $(PACKAGE_DIR)
diff --git a/openwrt/package/click/files/S50roofnet b/openwrt/package/click/files/S50roofnet
new file mode 100755
index 000000000..f43416375
--- /dev/null
+++ b/openwrt/package/click/files/S50roofnet
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+killall -q click
+cp /usr/bin/srcr.click /tmp
+sh /usr/bin/gen_config_roofnet.sh > /tmp/unaligned.click
+click-align /tmp/unaligned.click > /tmp/roofnet.click
+/usr/bin/click /tmp/roofnet.click > /tmp/roofnet.log 2>&1 &
diff --git a/openwrt/package/click/ipkg/click.control b/openwrt/package/click/ipkg/click.control
new file mode 100644
index 000000000..4fb2b2e3b
--- /dev/null
+++ b/openwrt/package/click/ipkg/click.control
@@ -0,0 +1,6 @@
+Package: click
+Priority: optional
+Section: net
+Maintainer: John Bicket <jbicket@mit.edu>
+Description: A modular router software
+
diff --git a/openwrt/package/click/ipkg/roofnet.control b/openwrt/package/click/ipkg/roofnet.control
new file mode 100644
index 000000000..8c3703775
--- /dev/null
+++ b/openwrt/package/click/ipkg/roofnet.control
@@ -0,0 +1,6 @@
+Package: roofnet
+Priority: optional
+Section: net
+Maintainer: John Bicket <jbicket@mit.edu>
+Description: The Roofnet mesh networking scripts for Click
+
-- 
2.20.1