summaryrefslogtreecommitdiff
path: root/recipes/olsrd
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/olsrd')
-rw-r--r--recipes/olsrd/files/init36
-rw-r--r--recipes/olsrd/files/olsrd-0.5.5-unbreak-makefile.patch47
-rw-r--r--recipes/olsrd/files/olsrd.conf151
-rw-r--r--recipes/olsrd/files/unbreak-makefile.patch45
-rw-r--r--recipes/olsrd/olsrd.inc70
-rw-r--r--recipes/olsrd/olsrd_0.5.3.bb6
-rw-r--r--recipes/olsrd/olsrd_0.5.5.bb7
7 files changed, 362 insertions, 0 deletions
diff --git a/recipes/olsrd/files/init b/recipes/olsrd/files/init
new file mode 100644
index 0000000000..46b2aaabd2
--- /dev/null
+++ b/recipes/olsrd/files/init
@@ -0,0 +1,36 @@
+#! /bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/olsrd
+NAME="olsr.org"
+DESC="OLSR routing protocol daemon"
+
+test -x $DAEMON || exit 0
+
+set -e
+
+case "$1" in
+ start)
+ echo "Starting $DESC: $NAME"
+ start-stop-daemon -S -x $DAEMON -- -d 0;
+ echo "done."
+ ;;
+ stop)
+ echo "Stopping $DESC: $NAME "
+ start-stop-daemon -K -x $DAEMON
+ echo "done."
+ ;;
+ restart|force-reload)
+ echo "restarting $DESC: $NAME "
+ $0 stop
+ sleep 5
+ $0 start
+ exit;
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/recipes/olsrd/files/olsrd-0.5.5-unbreak-makefile.patch b/recipes/olsrd/files/olsrd-0.5.5-unbreak-makefile.patch
new file mode 100644
index 0000000000..c08a49524c
--- /dev/null
+++ b/recipes/olsrd/files/olsrd-0.5.5-unbreak-makefile.patch
@@ -0,0 +1,47 @@
+Index: olsrd-a5b9cf969979/Makefile
+===================================================================
+--- olsrd-a5b9cf969979.orig/Makefile 2008-02-06 19:32:49.000000000 +0100
++++ olsrd-a5b9cf969979/Makefile 2008-06-23 15:33:35.000000000 +0200
+@@ -95,9 +95,8 @@
+ install: install_olsrd
+
+ install_bin:
+- mkdir -p $(SBINDIR)
+- install -m 755 $(EXENAME) $(SBINDIR)
+- $(STRIP) $(SBINDIR)/$(EXENAME)
++ mkdir -p $(INSTALL_PREFIX)$(SBINDIR)
++ install -m 755 $(EXENAME) $(INSTALL_PREFIX)$(SBINDIR)
+
+ install_olsrd: install_bin
+ @echo ========= C O N F I G U R A T I O N - F I L E ============
+@@ -109,16 +108,15 @@
+ @echo per default.
+ @echo can be found at files/olsrd.conf.default.lq
+ @echo ==========================================================
+- mkdir -p $(ETCDIR)
+- -cp -i files/olsrd.conf.default.lq $(CFGFILE)
++ mkdir -p $(INSTALL_PREFIX)$(ETCDIR)
+ @echo -------------------------------------------
+ @echo Edit $(CFGFILE) before running olsrd!!
+ @echo -------------------------------------------
+ @echo Installing manpages $(EXENAME)\(8\) and $(CFGNAME)\(5\)
+- mkdir -p $(MANDIR)/man8/
+- cp files/olsrd.8.gz $(MANDIR)/man8/$(EXENAME).8.gz
+- mkdir -p $(MANDIR)/man5/
+- cp files/olsrd.conf.5.gz $(MANDIR)/man5/$(CFGNAME).5.gz
++ mkdir -p $(INSTALL_PREFIX)$(MANDIR)/man8/
++ cp files/olsrd.8.gz $(INSTALL_PREFIX)$(MANDIR)/man8/$(EXENAME).8.gz
++ mkdir -p $(INSTALL_PREFIX)$(MANDIR)/man5/
++ cp files/olsrd.conf.5.gz $(INSTALL_PREFIX)$(MANDIR)/man5/$(CFGNAME).5.gz
+
+ tags:
+ $(TAGCMD) -o $(TAGFILE) $(TAG_SRCS)
+@@ -140,7 +138,7 @@
+ $(MAKECMD) -C lib LIBDIR=$(LIBDIR) clean
+
+ libs_install install_libs:
+- $(MAKECMD) -C lib LIBDIR=$(LIBDIR) install
++ $(MAKECMD) -C lib LIBDIR=$(INSTALL_PREFIX)$(LIBDIR) install
+
+ httpinfo:
+ $(MAKECMD) -C lib/httpinfo clean
diff --git a/recipes/olsrd/files/olsrd.conf b/recipes/olsrd/files/olsrd.conf
new file mode 100644
index 0000000000..dbd0472803
--- /dev/null
+++ b/recipes/olsrd/files/olsrd.conf
@@ -0,0 +1,151 @@
+#
+# olsr.org configuration file
+#
+
+#
+# Periodically print the internal state, including information on
+# route calculation
+#
+
+DebugLevel 2
+
+#
+# Clear the screen each time the internal state changes
+#
+
+ClearScreen yes
+
+#
+# IP version to use
+#
+
+IpVersion 4
+
+#
+# IPv4 HNAs - syntax: netaddr netmask
+#
+
+Hna4
+{
+# 0.0.0.0 0.0.0.0
+}
+
+#
+# Do not use hysteresis
+#
+
+UseHysteresis no
+
+#
+# If using hysteresis, use "smooth" parameters
+#
+
+HystScaling 0.10
+HystThrHigh 0.80
+HystThrLow 0.30
+
+#
+# Which neighbours should be advertised via TC messages?
+#
+# 0 - only advertise our MPR selectors
+# 1 - advertise our MPR selectors and our MPRs
+# 2 - advertise all neighbors
+#
+
+TcRedundancy 2
+
+#
+# Specifies by how many MPRs each two-hop neighbour should be covered
+#
+
+MprCoverage 9
+
+#
+# Enable the link quality extensions?
+#
+# 0 - no
+# 1 - yes, use link quality for MPR selection
+# 2 - yes, use link quality for MPR selection and routing
+#
+
+LinkQualityLevel 2
+
+#
+# Windows size for packet loss calculation
+#
+
+LinkQualityWinSize 20
+
+#
+# Load the dot draw plugin
+#
+
+LoadPlugin "olsrd_httpinfo.so.0.1"
+{
+ PlParam "Port" "8080"
+ PlParam "Net" "192.168.0.0 255.255.255.0"
+}
+
+#LoadPlugin "olsrd_dot_draw.so.0.3"
+#{
+ # accept connection from IP:
+ # default 127.0.0.1 (localhost)
+ #PlParam "accept" "192.168.0.5"
+#}
+
+#
+# Interfaces -
+# change to the name of your WLAN interface
+#
+
+Interface "eth0" "wlan0" "wlan1" "ath0" "ath1"
+{
+
+ #
+ # HELLO interval in seconds (float)
+ #
+
+ HelloInterval 2.0
+
+ #
+ # HELLO validity time
+ #
+
+ HelloValidityTime 40.0
+
+ #
+ # TC interval in seconds (float)
+ #
+
+ TcInterval 3.0
+
+ #
+ # TC validity time
+ #
+
+ TcValidityTime 15.0
+
+ #
+ # MID interval in seconds (float)
+ #
+
+ MidInterval 5.0
+
+ #
+ # MID validity time
+ #
+
+ MidValidityTime 15.0
+
+ #
+ # HNA interval in seconds (float)
+ #
+
+ HnaInterval 5.0
+
+ #
+ # HNA validity time
+ #
+
+ HnaValidityTime 15.0
+}
diff --git a/recipes/olsrd/files/unbreak-makefile.patch b/recipes/olsrd/files/unbreak-makefile.patch
new file mode 100644
index 0000000000..cdf31df414
--- /dev/null
+++ b/recipes/olsrd/files/unbreak-makefile.patch
@@ -0,0 +1,45 @@
+--- /tmp/Makefile 2007-08-26 13:59:42.264688053 +0200
++++ olsrd-0.5.3/Makefile 2007-08-26 14:02:46.059161904 +0200
+@@ -89,9 +89,8 @@
+ install: install_olsrd
+
+ install_bin:
+- mkdir -p $(SBINDIR)
+- install -m 755 $(EXENAME) $(SBINDIR)
+- $(STRIP) $(SBINDIR)/$(EXENAME)
++ mkdir -p $(INSTALL_PREFIX)$(SBINDIR)
++ install -m 755 $(EXENAME) $(INSTALL_PREFIX)$(SBINDIR)
+
+ install_olsrd: install_bin
+ @echo ========= C O N F I G U R A T I O N - F I L E ============
+@@ -100,16 +99,16 @@
+ @echo configfile can be installed. Note that a LQ-based configfile
+ @echo can be found at files/olsrd.conf.default.lq
+ @echo ==========================================================
+- mkdir -p $(ETCDIR)
++ mkdir -p $(INSTALL_PREFIX)$(ETCDIR)
+ -cp -i files/olsrd.conf.default.rfc $(CFGFILE)
+ @echo -------------------------------------------
+ @echo Edit $(CFGFILE) before running olsrd!!
+ @echo -------------------------------------------
+ @echo Installing manpages olsrd\(8\) and olsrd.conf\(5\)
+- mkdir -p $(MANDIR)/man8/
+- cp files/olsrd.8.gz $(MANDIR)/man8/olsrd.8.gz
+- mkdir -p $(MANDIR)/man5/
+- cp files/olsrd.conf.5.gz $(MANDIR)/man5/olsrd.conf.5.gz
++ mkdir -p $(INSTALL_PREFIX)$(MANDIR)/man8/
++ cp files/olsrd.8.gz $(INSTALL_PREFIX)$(MANDIR)/man8/olsrd.8.gz
++ mkdir -p $(INSTALL_PREFIX)$(MANDIR)/man5/
++ cp files/olsrd.conf.5.gz $(INSTALL_PREFIX)$(MANDIR)/man5/olsrd.conf.5.gz
+
+ tags:
+ $(TAGCMD) -o $(TAGFILE) $(TAG_SRCS)
+@@ -131,7 +130,7 @@
+ $(MAKECMD) -C lib LIBDIR=$(LIBDIR) clean
+
+ libs_install install_libs:
+- $(MAKECMD) -C lib LIBDIR=$(LIBDIR) install
++ $(MAKECMD) -C lib LIBDIR=$(INSTALL_PREFIX)$(LIBDIR) install
+
+ httpinfo:
+ $(MAKECMD) -C lib/httpinfo clean
diff --git a/recipes/olsrd/olsrd.inc b/recipes/olsrd/olsrd.inc
new file mode 100644
index 0000000000..7fd25c23dd
--- /dev/null
+++ b/recipes/olsrd/olsrd.inc
@@ -0,0 +1,70 @@
+DESCRIPTION = "OLSR mesh routing daemon"
+HOMEPAGE = "http://www.olsr.org"
+SECTION = "console/network"
+PRIORITY = "optional"
+LICENSE = "BSD"
+
+MAJ_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}"
+SRC_URI = "http://www.olsr.org/releases/${MAJ_VER}/olsrd-${PV}.tar.bz2 \
+ file://init \
+ file://olsrd.conf"
+
+S = "${WORKDIR}/olsrd-${PV}"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "olsrd"
+INITSCRIPT_PARAMS = "defaults"
+EXTRA_OEMAKE = "MAKEFLAGS=-I${WORKDIR}/olsrd-${PV}"
+
+do_configure() {
+ oe_runmake OS=linux clean
+}
+
+do_compile() {
+ oe_runmake OS=linux clean
+ touch .depend
+ touch src/cfgparser/.depend
+ oe_runmake OS=linux all libs
+}
+
+do_install () {
+ oe_runmake OS=linux INSTALL_PREFIX=${D} STRIP=echo install install_libs
+
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/olsrd
+ install -m 644 ${WORKDIR}/olsrd.conf ${D}/${sysconfdir}
+}
+
+PACKAGES =+ "\
+ olsrd-plugin-dyngw \
+ olsrd-plugin-dyngw-plain \
+ olsrd-plugin-httpinfo \
+ olsrd-plugin-nameservice \
+ olsrd-plugin-quagga \
+ olsrd-plugin-tas \
+ olsrd-plugin-pgraph \
+ olsrd-plugin-bmf \
+ olsrd-plugin-txtinfo \
+ olsrd-plugin-arprefresh \
+ olsrd-plugin-secure \
+ olsrd-plugin-dotdraw \
+ olsrd-plugin-mini \
+ "
+
+FILES_olsrd-plugin-dyngw = "${libdir}/${PN}_dyn_gw.so.*"
+FILES_olsrd-plugin-dyngw-plain = "${libdir}/${PN}_dyn_gw_plain.so.*"
+FILES_olsrd-plugin-httpinfo = "${libdir}/${PN}_httpinfo.so.*"
+FILES_olsrd-plugin-nameservice = "${libdir}/${PN}_nameservice.so.*"
+FILES_olsrd-plugin-quagga = "${libdir}/${PN}_quagga.so.*"
+FILES_olsrd-plugin-tas = "${libdir}/${PN}_tas.so.*"
+FILES_olsrd-plugin-pgraph = "${libdir}/${PN}_pgraph.so.*"
+FILES_olsrd-plugin-bmf = "${libdir}/${PN}_bmf.so.*"
+FILES_olsrd-plugin-txtinfo = "${libdir}/${PN}_txtinfo.so.*"
+FILES_olsrd-plugin-arprefresh = "${libdir}/${PN}_arprefresh.so.*"
+FILES_olsrd-plugin-dotdraw = "${libdir}/${PN}_dot_draw.so.*"
+FILES_olsrd-plugin-secure = "${libdir}/${PN}_secure.so.*"
+FILES_olsrd-plugin-mini = "${libdir}/${PN}_mini.so.*"
+
+CONFFILES_${PN} = "${sysconfdir}/olsrd.conf"
+
diff --git a/recipes/olsrd/olsrd_0.5.3.bb b/recipes/olsrd/olsrd_0.5.3.bb
new file mode 100644
index 0000000000..1af0f257fd
--- /dev/null
+++ b/recipes/olsrd/olsrd_0.5.3.bb
@@ -0,0 +1,6 @@
+require olsrd.inc
+
+PR = "r1"
+
+SRC_URI += "file://unbreak-makefile.patch;patch=1"
+
diff --git a/recipes/olsrd/olsrd_0.5.5.bb b/recipes/olsrd/olsrd_0.5.5.bb
new file mode 100644
index 0000000000..d87197481e
--- /dev/null
+++ b/recipes/olsrd/olsrd_0.5.5.bb
@@ -0,0 +1,7 @@
+require olsrd.inc
+PR = "r0"
+
+# Oddity in the 0.5.5 source tarball.
+S = "${WORKDIR}/olsrd-a5b9cf969979"
+
+SRC_URI += "file://olsrd-0.5.5-unbreak-makefile.patch;patch=1"