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 190f1b079f
commit 3dd4096da2
4 changed files with 102 additions and 45 deletions

View File

@ -1,45 +0,0 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=prince
PKG_VERSION:=v0.3.1
PKG_RELEASE:=1
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
Mantainer :=Gabriele Gemmi <gabriel@autistici.org>
TITLE :=PopRouting daemon
URL :=https://github.com/gabri94/poprouting
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.
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
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))

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