prince: version bump to v0.4

Signed-off-by: Gabriele Gemmi <gabriel@autistici.org>
This commit is contained in:
Gabriele Gemmi 2018-04-25 02:16:07 +02:00
parent c9d120adc6
commit ff7b5da265
5 changed files with 102 additions and 74 deletions

View File

@ -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 <gabriel@autistici.org>
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))

View File

@ -1,27 +0,0 @@
From dda5c5a0cd2204816f2f83f18e7820ded6c962df Mon Sep 17 00:00:00 2001
From: Florian Fainelli <f.fainelli@gmail.com>
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/*

66
prince/Makefile Normal file
View File

@ -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 <gabriel@autistici.org>
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))

16
prince/files/prince.conf Normal file
View File

@ -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
}
}

20
prince/files/prince.init Normal file
View File

@ -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"
}