initial BMX7 package
authorAxel Neumann <neumann@cgws.de>
Tue, 21 Jul 2015 12:24:09 +0000 (14:24 +0200)
committerAxel Neumann <neumann@cgws.de>
Tue, 21 Jul 2015 12:24:09 +0000 (14:24 +0200)
bmx7/Makefile [new file with mode: 0644]
bmx7/files/etc/config/bmx6 [new file with mode: 0644]
bmx7/files/etc/init.d/bmx6 [new file with mode: 0755]
bmx7/patches/001-json-c.patch [new file with mode: 0644]

diff --git a/bmx7/Makefile b/bmx7/Makefile
new file mode 100644 (file)
index 0000000..e611ffa
--- /dev/null
@@ -0,0 +1,156 @@
+#    Copyright (C) 2011 Fundacio Privada per a la Xarxa Oberta, Lliure i Neutral guifi.net
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License along
+#    with this program; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+#    The full GNU General Public License is included in this distribution in
+#    the file called "COPYING".
+#
+# Contibutors:
+#      Axel Neumann, Simó Albert i Beltran, Pau Escrich
+#
+
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bmx7
+
+PKG_SOURCE_PROTO:=git
+
+#PKG_SOURCE_URL:=git://bmx6.net/bmx6.git
+PKG_SOURCE_URL:=git://github.com/axn/bmx6.git
+#PKG_SOURCE_URL:=file:///home/neumann/bmx6/bmx6.git
+
+PKG_REV:=2865a2fe21e6dae00b43b3b91ba0625af9757c09
+PKG_VERSION:=r2015072121
+PKG_RELEASE:=4
+PKG_LICENSE:=GPL-2.0
+
+PKG_SOURCE_VERSION:=$(PKG_REV)
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
+
+include $(INCLUDE_DIR)/package.mk
+
+TARGET_CFLAGS += $(FPIC)
+
+MAKE_ARGS += \
+        EXTRA_CFLAGS="$(TARGET_CFLAGS) -I. -I$(STAGING_DIR)/usr/include -DCRYPTLIB=POLARSSL_1_3_4 -DCORE_LIMIT=20000 -DTRAFFIC_DUMP -DDEBUG_MALLOC" \
+        EXTRA_LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib " \
+        GIT_REV="$(PKG_REV)" \
+        CC="$(TARGET_CC)" \
+        INSTALL_DIR="$(PKG_INSTALL_DIR)" \
+        STRIP="/bin/false" \
+        build_all
+
+define Package/bmx7/Default
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Routing and Redirection
+  TITLE:=BMX7 layer 3 routing daemon
+  URL:=http://bmx6.net/
+  MAINTAINER:=Axel Neumann <neumann@cgws.de>
+  DEPENDS:=+zlib +libpolarssl +kmod-ip6-tunnel +kmod-iptunnel6 +kmod-tun @!bmx6
+endef
+
+define Package/bmx7/description
+BMX7 layer 3 routing daemon supporting IPv6, and IPv4 over IPv6
+endef
+
+define Package/bmx7
+  $(call Package/bmx7/Default)
+  MENU:=1
+endef
+
+define Package/bmx7-uci-config
+  $(call Package/bmx7/Default)
+  DEPENDS:=bmx7 +libuci
+  TITLE:=configuration plugin based on uci (recommended!)
+endef
+
+define Package/bmx7-json
+  $(call Package/bmx7/Default)
+  DEPENDS:=bmx7 +libjson-c
+  TITLE:=json plugin based on json-c
+endef
+
+define Package/bmx7-sms
+  $(call Package/bmx7/Default)
+  DEPENDS:=bmx7
+  TITLE:=sms plugin
+endef
+
+#define Package/bmx7-quagga
+#  $(call Package/bmx7/Default)
+#  DEPENDS:=bmx7 +qmp-quagga @BROKEN
+#  TITLE:=bmx7 quagga plugin to redistribute/export routes (needs manet/bmx patched quagga 0.99.21)
+#endef
+
+define Package/bmx7-table
+  $(call Package/bmx7/Default)
+  DEPENDS:=bmx7
+  TITLE:=bmx7 table plugin to automatically announce routing-table routes via ip6ip tunnels
+endef
+
+define Build/Configure
+       mkdir -p $(PKG_INSTALL_DIR)
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_ARGS)
+endef
+
+define Package/bmx7/install
+       $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/bmx6 $(1)/usr/sbin/bmx6
+endef
+
+define Package/bmx7-uci-config/conffiles
+/etc/config/bmx6
+endef
+
+define Package/bmx7-uci-config/install
+       $(INSTALL_DIR) $(1)/usr/lib $(1)/etc/config $(1)/etc/init.d
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_uci_config/bmx6_config.so $(1)/usr/lib/bmx6_config.so
+       $(INSTALL_BIN) ./files/etc/init.d/bmx6 $(1)/etc/init.d/bmx6
+       $(INSTALL_DATA) ./files/etc/config/bmx6 $(1)/etc/config/bmx6
+endef
+
+define Package/bmx7-json/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_json/bmx6_json.so $(1)/usr/lib/bmx6_json.so
+endef
+
+define Package/bmx7-sms/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_sms/bmx6_sms.so $(1)/usr/lib/bmx6_sms.so
+endef
+
+define Package/bmx7-table/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_table/bmx6_table.so $(1)/usr/lib/bmx6_table.so
+endef
+
+#define Package/bmx7-quagga/install
+#      $(INSTALL_DIR) $(1)/usr/lib
+#      $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmx6_quagga/bmx6_quagga.so $(1)/usr/lib/bmx6_quagga.so
+#endef
+
+$(eval $(call BuildPackage,bmx7))
+$(eval $(call BuildPackage,bmx7-uci-config))
+$(eval $(call BuildPackage,bmx7-json))
+$(eval $(call BuildPackage,bmx7-sms))
+#$(eval $(call BuildPackage,bmx7-quagga))
+$(eval $(call BuildPackage,bmx7-table))
diff --git a/bmx7/files/etc/config/bmx6 b/bmx7/files/etc/config/bmx6
new file mode 100644 (file)
index 0000000..5f7af9d
--- /dev/null
@@ -0,0 +1,48 @@
+
+# for more information:
+# http://bmx6.net/projects/bmx6/wiki
+# options execute: bmx6 --help
+
+config 'bmx6' 'general'
+#       option 'runtimeDir' '/var/run/bmx6'
+
+
+#config 'plugin'
+#        option 'plugin' 'bmx6_config.so'
+
+#config 'plugin'
+#        option 'plugin' 'bmx6_json.so'
+
+#config 'plugin'
+#        option 'plugin' 'bmx6_table.so'
+
+#config 'plugin'
+#        option 'plugin' 'bmx6_sms.so'
+
+
+config 'dev' 'mesh_1'
+        option 'dev' 'br-lan'
+
+config 'dev' 'mesh_2'
+        option 'dev' 'wlan0'
+
+config 'tunDev' default
+        option 'tunDev' 'default'
+        option 'tun6Address' '2012:0:0:6666::1/64'
+        option 'tun4Address' '10.66.66.1/24'
+
+
+#config 'tunOut'
+#        option 'tunOut' 'ip6'
+#        option 'network' '2012::/16'
+#        option 'exportDistance' '0'
+
+#config 'tunOut'
+#        option 'tunOut' 'ip4'
+#        option 'network' '10.0.0.0/9'
+#        option 'minPrefixLen' '27'
+
+
+
+
+
diff --git a/bmx7/files/etc/init.d/bmx6 b/bmx7/files/etc/init.d/bmx6
new file mode 100755 (executable)
index 0000000..cb2d5b3
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh /etc/rc.common
+#    Copyright (C) 2011 Fundacio Privada per a la Xarxa Oberta, Lliure i Neutral guifi.net
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License along
+#    with this program; if not, write to the Free Software Foundation, Inc.,
+#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+#    The full GNU General Public License is included in this distribution in
+#    the file called "COPYING".
+
+START=91
+
+BIN=/usr/sbin/bmx6
+CONF=/etc/config/bmx6
+PID=/var/run/bmx6/pid
+
+
+start() {
+       cd /root/
+       while pgrep -f mac80211.sh ; do sleep 1; done
+       ulimit -c 20000
+       $BIN -f $CONF -d0 > /dev/null &
+}
+
+stop() {
+       start-stop-daemon -p $PID -K
+}
+
+restart() {
+       stop; sleep 3; start
+}
diff --git a/bmx7/patches/001-json-c.patch b/bmx7/patches/001-json-c.patch
new file mode 100644 (file)
index 0000000..5d29dae
--- /dev/null
@@ -0,0 +1,13 @@
+Index: bmx6-r2014112401/lib/bmx6_json/json.c
+===================================================================
+--- bmx6-r2014112401.orig/lib/bmx6_json/json.c
++++ bmx6-r2014112401/lib/bmx6_json/json.c
+@@ -27,7 +27,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <stdint.h>
+-#include <json/json.h>
++#include <json-c/json.h>
+ //#include <dirent.h>
+ //#include <sys/inotify.h>