[Buildroot] OLSR in buildroot
Bernhard Fischer
rep.dot.nop at gmail.com
Tue Sep 18 20:23:17 UTC 2007
On Tue, Sep 18, 2007 at 03:41:06PM -0300, Sushi Sensei wrote:
>I don't understand why isn't in the main line source the olsr package!!
>
>This routing algorithm is very usefull and used spread around the world in
>(quasi)every free wifi comunity for route mesh nets.
Well, because i don't need wifi and because there is zcip and quagga,
depending on what your primary target is supposed to do, or combinations
thereof ;P
>
>This is a working package file for this packet:
Please resubmit considering the notes below.
>package/olsr/Config.in
>
>config BR2_PACKAGE_OLSR
> bool "OLSR mesh networking Deamon"
> default n
> help
> OLSR
>
> A mesh networking protocol
>
> http://www.olsr.org/
>
>package/olsr/olsr.mk
>
>#############################################################
>#
># olsr
Does this conflict with the quagga suite?
I don't have a need for olsr, so this question is just for the sake of others..
>#
>#############################################################
>
>OLSR_VERSION_MAYOR=0.5
a mayor != major.
www.dict.org or ask your dict client, if in doubt.
>OLSR_VERSION_MINOR=3
>OLSR_VERSION:=$(OLSR_VERSION_MAYOR).$(OLSR_VERSION_MINOR)
>OLSR_SOURCE:=olsrd-$(OLSR_VERSION).tar.bz2
>OLSR_SITE:=http://www.olsr.org/releases/$(OLSR_VERSION_MAYOR)
>OLSR_DIR:=$(BUILD_DIR)/olsrd-$(OLSR_VERSION)
>OLSR_CAT:=$(BZCAT)
>OLSR_BINARY:=olsrd
>OLSR_TARGET_BINARY:=usr/bin/olsrd
>#OLSR_PLUGINS=httpinfo tas dot_draw nameservice dyn_gw dyn_gw_plain pgraph
>bmf quagga secure
hehe. See?
>OLSR_PLUGINS=dot_draw dyn_gw secure
>OLSR_TARGET_PLUGIN=usr/lib/
>
>$(DL_DIR)/$(OLSR_SOURCE):
> $(WGET) -P $(DL_DIR) $(OLSR_SITE)/$(OLSR_SOURCE)
>
>olsr-source: $(DL_DIR)/$(OLSR_SOURCE)
>
>olsr-unpacked: $(OLSR_DIR)/.unpacked
>$(OLSR_DIR)/.unpacked: $(DL_DIR)/$(OLSR_SOURCE)
> $(OLSR_CAT) $(DL_DIR)/$(OLSR_SOURCE) | tar -C $(BUILD_DIR)
>$(TAR_OPTIONS) -
> touch $(OLSR_DIR)/.unpacked
Nowadays we touch the target. I'll adjust the docs accordingly ASAP.
>$(OLSR_DIR)/.configured: $(OLSR_DIR)/.unpacked
> touch $(OLSR_DIR)/.configured
ditto.
>$(OLSR_DIR)/$(OLSR_BINARY): $(OLSR_DIR)/.configured
> $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(OLSR_DIR) olsrd
>$(OLSR_PLUGINS)
>
>$(TARGET_DIR)/$(OLSR_TARGET_BINARY): $(OLSR_DIR)/$(OLSR_BINARY)
> rm -f $(TARGET_DIR)/$(OLSR_TARGET_BINARY)
> cp -a $(OLSR_DIR)/$(OLSR_BINARY) $(TARGET_DIR)/$(OLSR_TARGET_BINARY)
cp -a doesn't work on MAC-OS-BSD. See other packages for the portable
equivalent.
> cp -R $(OLSR_DIR)/lib/*/olsrd_*.so.*
>$(TARGET_DIR)/$(OLSR_TARGET_PLUGIN)
> mkdir -p $(TARGET_DIR)/etc/init.d
> cp package/olsr/files/S50olsr $(TARGET_DIR)/etc/init.d/
> chmod a+x $(TARGET_DIR)/etc/init.d/S50olsr
> cp $(OLSR_DIR)/files/olsrd.conf.default.lq
>$(TARGET_DIR)/etc/olsrd.conf
>
>olsr: uclibc $(TARGET_DIR)/$(OLSR_TARGET_BINARY)
>
>olsr-clean:
> rm -f $(TARGET_DIR)/$(OLSR_TARGET_BINARY)
> -$(MAKE) -C $(OLSR_DIR) clean
I prefer the other way round, personally
>
>olsr-dirclean:
> rm -rf $(OLSR_DIR)
>
>#############################################################
>#
># Toplevel Makefile options
>#
>#############################################################
>ifeq ($(strip $(BR2_PACKAGE_OLSR)),y)
>TARGETS+=olsrd $(OLSR_PLUGINS)
>endif
>
>package/olsr/files/S50olsr
>
>#!/bin/sh
>#
># Starts OLSRD deamon
>#
>
>start() {
> echo -n "Starting OLSRd deamon: "
> start-stop-daemon --start --quiet --pidfile /var/run/olsrd.pid
>--exec /usr/sbin/olsrd
This is supposed to work with busybox's start-stop-daemon with long
options _turned off_. Please fix.
> echo "OK"
>}
>stop() {
> echo -n "Stopping OLSRd deamon: "
> start-stop-daemon --stop --quiet --pidfile /var/run/olsrd.pid
likewise.
> echo "OK"
>}
>restart() {
> stop
> start
>}
Superfluous wasting space. Invoke start and stop directly.
>
>case "$1" in
> start)
> start
Superfluous wasting space. Invoke start and stop directly.
> ;;
> stop)
> stop
Superfluous wasting space. Invoke start and stop directly.
> ;;
> restart|reload)
> restart
Superfluous wasting space. Invoke start and stop directly.
> ;;
> *)
> echo $"Usage: $0 {start|stop|restart}"
> exit 1
>esac
>
>exit $?
Please send a patch (svn add package/olsrd;svn diff package > \
~/br2-add-olsrd.01.patch) that can be applied.
thanks in advance,
More information about the buildroot
mailing list