Repository : ssh://git@open-mesh.org/openwrt-feed-devel
On branches: ecsv/master,master
>---------------------------------------------------------------
commit 92b6e6eb18c89d892caf7eddbacdf64626790734
Author: Matthias Schiffer <mschiffer(a)universe-factory.net>
Date: Fri Jan 27 13:23:39 2017 +0100
batman-adv-devel: use kernel-specific PKG_BUILD_DIR
The batman-adv Makefile set a PKG_BUILD_DIR outside of KERNEL_BUILD_DIR;
this could lead to batman-adv not being rebuilt when switching targets and
thus kernel configurations. This resulted in ABI mismatches and
occasionally broke the build with messages like the following:
Package kmod-batman-adv is missing dependencies for the following libraries:
crc16.ko
Reported-by: David Lutz <kpanic(a)hirnduenger.de>
Signed-off-by: Matthias Schiffer <mschiffer(a)universe-factory.net>
[sven(a)narfation.org: Re-add PKG_BUILD_DIR to support batman-adv-devel
builds]
Signed-off-by: Sven Eckelmann <sven(a)narfation.org>
>---------------------------------------------------------------
92b6e6eb18c89d892caf7eddbacdf64626790734
batman-adv-devel/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/batman-adv-devel/Makefile b/batman-adv-devel/Makefile
index aff9ff7..6715154 100644
--- a/batman-adv-devel/Makefile
+++ b/batman-adv-devel/Makefile
@@ -19,10 +19,10 @@ PKG_SOURCE_URL:=https://git.open-mesh.org/snapshot/
PKG_SOURCE:=$(PKG_BATMAN_FNAME)
PKG_LICENSE:=GPL-2.0
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_BATMAN_DIR)
-
-include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
+include $(INCLUDE_DIR)/package.mk
+
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)/$(PKG_BATMAN_DIR)
define KernelPackage/batman-adv-devel
URL:=https://www.open-mesh.org/
Repository : ssh://git@open-mesh.org/openwrt-feed-devel
On branches: ecsv/master,master
>---------------------------------------------------------------
commit 48f9836b65d3e5d344d3b5bc51f0638191d2c2ab
Author: Matthias Schiffer <mschiffer(a)universe-factory.net>
Date: Sun Aug 9 18:03:28 2015 +0200
alfred-devel: not only wait for the interface, but also a link-local address
Changes between alfred 2015.0 and 2015.1 cause alfred to print an error
and exit when the interface to bind to is not completely set up (has no
non-tentative link-local address). As a workaround, wait for such an
address by reading /proc/net/if_inet6 before alfred is started.
In the long term, it would be nice to make alfred more robust against
missing interfaces (allowing alfred to start without the interface
existing, and keeping it working even when the interface is removed and
re-added while alfred is running).
Signed-off-by: Matthias Schiffer <mschiffer(a)universe-factory.net>
Signed-off-by: Sven Eckelmann <sven(a)narfation.org>
>---------------------------------------------------------------
48f9836b65d3e5d344d3b5bc51f0638191d2c2ab
alfred-devel/files/alfred.init | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/alfred-devel/files/alfred.init b/alfred-devel/files/alfred.init
index 5ce06c0..4c9a9e1 100755
--- a/alfred-devel/files/alfred.init
+++ b/alfred-devel/files/alfred.init
@@ -37,6 +37,31 @@ wait_for_dir()
fi
}
+wait_for_ll_address()
+{
+ local iface="$1"
+ local timeout=30
+
+ echo "${initscript}: waiting $timeout secs for $iface address..."
+ for i in $(seq $timeout); do
+ # We look for
+ # - the link-local address (starts with fe80)
+ # - without tentative flag (bit 0x40 in the flags field; the first char of the flags field begins 38 columns after the fe80 prefix
+ # - on interface $iface
+ if awk '
+ BEGIN { RET=1 }
+ /^fe80.{37} [012389ab]/ { if ($6 == "'"$iface"'") RET=0 }
+ END { exit RET }
+ ' /proc/net/if_inet6; then
+ return
+ fi
+ sleep 1
+ done
+
+ echo "${initscript}: $iface address not detected, alfred not starting."
+ exit 1
+}
+
alfred_start()
{
local args=""
@@ -62,7 +87,7 @@ alfred_start()
wait_for_dir "$batmanif" "/sys/class/net/$batmanif/mesh"
fi
- wait_for_dir "$interface" "/sys/class/net/$interface/"
+ wait_for_ll_address "$interface"
append alfred_args "$args"
enable=1
Repository : ssh://git@open-mesh.org/openwrt-feed-devel
On branches: ecsv/master,master
>---------------------------------------------------------------
commit 25b6237eed6c9af2b3da71c434b427526ce21190
Author: Sven Eckelmann <sven(a)narfation.org>
Date: Sat Feb 11 21:49:04 2017 +0100
alfred-devel: Import metadata from openwrt-routing
Signed-off-by: Sven Eckelmann <sven(a)narfation.org>
>---------------------------------------------------------------
25b6237eed6c9af2b3da71c434b427526ce21190
alfred-devel/Makefile | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/alfred-devel/Makefile b/alfred-devel/Makefile
index 48121f7..d1cb036 100644
--- a/alfred-devel/Makefile
+++ b/alfred-devel/Makefile
@@ -18,18 +18,36 @@ PKG_SOURCE_URL:=https://git.open-mesh.org/snapshot/
PKG_SOURCE:=$(PKG_ALFRED_FNAME)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_ALFRED_DIR)
+PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
define Package/alfred-devel
+ URL:=https://www.open-mesh.org/
SECTION:=net
CATEGORY:=Network
- TITLE:=Almighty Lightweight Fact Remote Exchange Daemon
+ TITLE:=A.L.F.R.E.D. - Almighty Lightweight Fact Remote Exchange Daemon devel
DEPENDS:= +libc @IPV6 +libnl-tiny +librt \
+ALFRED_DEVEL_NEEDS_lua:lua \
+ALFRED_DEVEL_NEEDS_libgps:libgps
endef
+define Package/alfred-devel/description
+alfred is a user space daemon for distributing arbitrary local information over
+the mesh/network in a decentralized fashion. This data can be anything which
+appears to be useful - originally designed to replace the batman-adv
+visualization (vis), you may distribute hostnames, phone books, administration
+information, DNS information, the local weather forecast ...
+
+alfred runs as daemon in the background of the system. A user may insert
+information by using the alfred binary on the command line, or use special
+programs to communicate with alfred (done via unix sockets). alfred then takes
+care of distributing the local information to other alfred servers on other
+nodes. This is done via IPv6 link-local multicast, and does not require any
+configuration. A user can request data from alfred, and will receive the
+information available from all alfred servers in the network.
+endef
+
define Package/alfred-devel/conffiles
/etc/config/alfred
endef