From ff7b5da265e1f91b14120572b0d839911e707a47 Mon Sep 17 00:00:00 2001 From: Gabriele Gemmi Date: Wed, 25 Apr 2018 02:16:07 +0200 Subject: [PATCH] prince: version bump to v0.4 Signed-off-by: Gabriele Gemmi --- poprouting/Makefile | 47 -------------------- poprouting/patches/001-cflags.patch | 27 ------------ prince/Makefile | 66 +++++++++++++++++++++++++++++ prince/files/prince.conf | 16 +++++++ prince/files/prince.init | 20 +++++++++ 5 files changed, 102 insertions(+), 74 deletions(-) delete mode 100644 poprouting/Makefile delete mode 100644 poprouting/patches/001-cflags.patch create mode 100644 prince/Makefile create mode 100644 prince/files/prince.conf create mode 100644 prince/files/prince.init diff --git a/poprouting/Makefile b/poprouting/Makefile deleted file mode 100644 index 6bede93..0000000 --- a/poprouting/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=prince -PKG_VERSION:=v0.3.1 -PKG_RELEASE:=2 - -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) -PKG_USE_MIPS16:=0 -PKG_SOURCE_PROTO:=git -PKG_SOURCE:=prince-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/gabri94/poprouting.git -PKG_SOURCE_VERSION:=v0.3.1 -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION) -include $(INCLUDE_DIR)/package.mk - -define Package/prince - SECTION:=net - CATEGORY:=Network - SUBMENU:=Routing and Redirection - MAINTAINER:=Gabriele Gemmi - TITLE:=PopRouting daemon - URL:=https://github.com/gabri94/poprouting - DEPENDS:= +libjson-c +libpthread -endef - -define Package/prince/description -Prince is an open source implementation of the PopRouting Algorithm. -It has been developed as a Google Summer of Code Project in collaboration with Freifunk and the University of Trento. - -It work by fetching topology data from a Link State routing demon(OONF, OLSR, OSPF, etc), -calculating the betweenness centrality using the topology, then using these data -the timer's value are optimized. Finally the timers are pushed back to the routing demon. -Currently it only supports OLSRd2 (aka OONF). -endef - -CFLAGS += $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) -LDFLAGS += $(TARGET_LDFLAGS) - -define Package/prince/install - $(INSTALL_DIR) $(1)/usr/lib - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/output/prince $(1)/usr/sbin/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/output/libprince_oonf_c.so $(1)/usr/lib/ -endef - - -$(eval $(call BuildPackage,prince)) diff --git a/poprouting/patches/001-cflags.patch b/poprouting/patches/001-cflags.patch deleted file mode 100644 index c1f13a1..0000000 --- a/poprouting/patches/001-cflags.patch +++ /dev/null @@ -1,27 +0,0 @@ -From dda5c5a0cd2204816f2f83f18e7820ded6c962df Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Mon, 5 Jun 2017 17:30:24 -0700 -Subject: [PATCH] Honor CFLAGS and LDFLAGS when passed - ---- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: prince-v0.3.1/Makefile -=================================================================== ---- prince-v0.3.1.orig/Makefile -+++ prince-v0.3.1/Makefile -@@ -1,11 +1,11 @@ - CFLAGS+=-lm -ldl -ljson-c -pthread - poprouting:out libs - cp prince/src/common_c.h prince/src/common.h -- $(CC) $(LDFLAGS) prince/src/prince.c prince/src/lib/ini.c prince/src/parser.c prince/src/socket.c graph-parser_c/src/brandes.c graph-parser_c/src/biconnected.c graph-parser_c/src/graph_parser.c graph-parser_c/src/graph/graph.c graph-parser_c/src/graph/list.c graph-parser_c/src/network_change.c -o output/prince $(CFLAGS) -+ $(CC) $(LDFLAGS) $(CFLAGS) prince/src/prince.c prince/src/lib/ini.c prince/src/parser.c prince/src/socket.c graph-parser_c/src/brandes.c graph-parser_c/src/biconnected.c graph-parser_c/src/graph_parser.c graph-parser_c/src/graph/graph.c graph-parser_c/src/graph/list.c graph-parser_c/src/network_change.c -o output/prince - rm prince/src/common.h - libs: - cp prince/src/common_c.h prince/src/common.h -- $(CC) -shared -fPIC -o output/libprince_oonf_c.so prince/src/oonf.c prince/src/socket.c prince/src/parser.c graph-parser_c/src/brandes.c graph-parser_c/src/biconnected.c graph-parser_c/src/graph_parser.c graph-parser_c/src/graph/graph.c graph-parser_c/src/graph/list.c graph-parser_c/src/network_change.c -+ $(CC) $(LDFLAGS) $(CFLAGS) -shared -fPIC -o output/libprince_oonf_c.so prince/src/oonf.c prince/src/socket.c prince/src/parser.c graph-parser_c/src/brandes.c graph-parser_c/src/biconnected.c graph-parser_c/src/graph_parser.c graph-parser_c/src/graph/graph.c graph-parser_c/src/graph/list.c graph-parser_c/src/network_change.c - clean: - rm output/* - diff --git a/prince/Makefile b/prince/Makefile new file mode 100644 index 0000000..046dc17 --- /dev/null +++ b/prince/Makefile @@ -0,0 +1,66 @@ +# +# Copyright (C) 2009-2018 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=prince +PKG_VERSION:=v0.4 +PKG_RELEASE:=1 + +# out of source build +CMAKE_BINARY_SUBDIR:=build + +PKG_BUILD_DIR:=$(BUILD_DIR)/prince-$(PKG_VERSION) +PKG_MIRROR_HASH:=19a3cae09f28a5ef07fc0f5ff12cf62c776a94fbf1626336ab04951775c104de +PKG_INSTALL:=0 +PKG_LICENSE:=MIT +PKG_SOURCE:=prince-$(PKG_VERSION).tar.xz +PKG_SOURCE_PROTO:=git +PKG_SOURCE_SUBDIR:=prince-$(PKG_VERSION) +PKG_SOURCE_URL:=https://github.com/AdvancedNetworkingSystems/prince.git +PKG_SOURCE_VERSION:=v0.4 +PKG_USE_MIPS16:=0 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/prince + SECTION :=net + CATEGORY :=Network + SUBMENU :=Routing and Redirection + Mantainer :=Gabriele Gemmi + TITLE :=Prince + URL :=https://github.com/AdvancedNetworkingSystems/prince + MENU :=0 + DEPENDS := +libjson-c +libpthread +endef + +define Package/prince/description + Prince is an open source implementation of the PopRouting Algorithm. + It has been developed as a Google Summer of Code Project in collaboration with Freifunk and the University of Trento. + + Prince fetches topology data from a Link State routing daemon (OONF, OLSR, OSPF, etc), + calculates the betweenness centrality using the topology and then computes the + the timers' optimal values using these data. At the end of the computation the timers are pushed back to the routing daemon. + Since v0.4 it supports both OONF and OLSRd. +endef + +define Package/prince/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_DIR) $(1)/usr/lib + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/prince $(1)/usr/bin/prince + $(INSTALL_BIN) ./files/prince.init $(1)/etc/init.d/prince + $(INSTALL_DATA) ./files/prince.conf $(1)/etc/prince.conf + $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/libprince_oonf.so $(1)/usr/lib + $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/libprince_olsr.so $(1)/usr/lib +endef + +CFLAGS += $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) +LDFLAGS += $(TARGET_LDFLAGS) + +$(eval $(call BuildPackage,prince)) diff --git a/prince/files/prince.conf b/prince/files/prince.conf new file mode 100644 index 0000000..7ffbcd4 --- /dev/null +++ b/prince/files/prince.conf @@ -0,0 +1,16 @@ +{ + "proto": { + "protocol": "oonf", + "host": "127.0.0.1", + "port": 2009 , + "refresh": 10, + "timer_port": 2009 + }, + "graph-parser": { + "heuristic": 1, + "weights": 1, + "recursive": 0, + "stop_unchanged": 0, + "multithreaded": 0 + } +} diff --git a/prince/files/prince.init b/prince/files/prince.init new file mode 100644 index 0000000..12f0c8f --- /dev/null +++ b/prince/files/prince.init @@ -0,0 +1,20 @@ +#!/bin/sh /etc/rc.common +# Init script for Prince +# Copyright (C) 2018 OpenWrt.org + +USE_PROCD=1 +START=99 +STOP=15 + +PROG="/usr/bin/prince" +CONF="/etc/prince.conf" + +start_service(){ + procd_open_instance + procd_set_param command $PROG $CONF + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_set_param user nobody + procd_close_instance + echo "Prince started" +}