From fba9ee1512e8ffaea679a0c9f7f18c0c82de9ac8 Mon Sep 17 00:00:00 2001 From: David Yang Date: Thu, 28 Dec 2017 00:57:17 +0800 Subject: [PATCH] i2pd: Improve the package, fix #5326 Signed-off-by: David Yang --- net/i2pd/Makefile | 16 +++++++++--- net/i2pd/files/i2pd.init | 32 +++++++++++++++++++++--- net/i2pd/patches/010-cross-compile.patch | 11 -------- 3 files changed, 41 insertions(+), 18 deletions(-) delete mode 100644 net/i2pd/patches/010-cross-compile.patch diff --git a/net/i2pd/Makefile b/net/i2pd/Makefile index e78e7b0c34..95dea0b189 100644 --- a/net/i2pd/Makefile +++ b/net/i2pd/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=i2pd PKG_VERSION:=2.17.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_BUILD_PARALLEL:=1 PKG_SOURCE_PROTO:=git @@ -26,10 +26,11 @@ include $(INCLUDE_DIR)/package.mk define Package/i2pd SECTION:=net CATEGORY:=Network - DEPENDS:=+libopenssl +boost +boost-system +boost-filesystem +boost-regex \ - +boost-program_options +boost-date_time +libatomic +zlib + DEPENDS:=+libopenssl +boost +boost-system +boost-filesystem \ + +boost-program_options +boost-date_time +libatomic +zlib TITLE:=full-featured C++ implementation of I2P client URL:=https://github.com/PurpleI2P/i2pd + USERID:=i2pd:i2pd MAINTAINER:=David Yang endef @@ -45,13 +46,22 @@ define Package/i2pd/conffiles /etc/i2pd/tunnels.conf endef +TARGET_LDFLAGS+=-latomic MAKE_FLAGS+=USE_AESNI=no USE_AVX=no define Package/i2pd/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/i2pd $(1)/usr/sbin + $(INSTALL_DIR) $(1)/usr/share/i2pd + $(CP) $(PKG_BUILD_DIR)/contrib/certificates $(1)/usr/share/i2pd $(INSTALL_DIR) $(1)/etc/i2pd + $(LN) /usr/share/i2pd/certificates $(1)/etc/i2pd/certificates + $(LN) /var/lib/i2pd/peerProfiles $(1)/etc/i2pd/peerProfiles $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/i2pd.conf $(1)/etc/i2pd + $(SED) ' \ + s/127.0.0.1/192.168.1.1/g; \ + s/datadir = \/var\/lib/datadir = \/etc/ \ + ' $(1)/etc/i2pd/i2pd.conf $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/subscriptions.txt $(1)/etc/i2pd $(INSTALL_BIN) $(PKG_BUILD_DIR)/contrib/tunnels.conf $(1)/etc/i2pd $(INSTALL_DIR) $(1)/etc/init.d diff --git a/net/i2pd/files/i2pd.init b/net/i2pd/files/i2pd.init index 36a19906f2..f1c394a0e8 100755 --- a/net/i2pd/files/i2pd.init +++ b/net/i2pd/files/i2pd.init @@ -1,15 +1,39 @@ #!/bin/sh /etc/rc.common # Copyright (C) 2017 OpenWrt.org -START=70 -STOP=70 - USE_PROCD=1 + +START=90 +STOP=10 + PROG=/usr/sbin/i2pd +USER="i2pd" +GROUP="i2pd" +PIDFILE=/var/run/i2pd.pid +DATADIR=/etc/i2pd +PEERDIR=/var/lib/i2pd/peerProfiles start_service() { + ## RAM + if [ ! -d $PEERDIR ]; then + mkdir -p $PEERDIR + chown $USER:$GROUP $PEERDIR + fi + + ## We need permissions + chown -R $USER:$GROUP $DATADIR + touch $PIDFILE + chown $USER:adm $PIDFILE + procd_open_instance - procd_set_param command $PROG --conf=/etc/i2pd/i2pd.conf + procd_set_param command $PROG --service --conf=/etc/i2pd/i2pd.conf + ## Don't know about i2pd user's HOME + procd_set_param env HOME=$DATADIR + procd_set_param limits nofile=4096 + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_set_param user $USER + procd_set_param pidfile $PIDFILE procd_close_instance } diff --git a/net/i2pd/patches/010-cross-compile.patch b/net/i2pd/patches/010-cross-compile.patch deleted file mode 100644 index 614de4ad2d..0000000000 --- a/net/i2pd/patches/010-cross-compile.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile.linux 2017-11-14 03:20:41.000000000 +0800 -+++ b/Makefile.linux 2017-11-29 23:55:38.919136211 +0800 -@@ -44,7 +44,7 @@ - LDLIBS += -lpthread -static-libstdc++ -static-libgcc -lrt -ldl - USE_AESNI := no - else -- LDLIBS = -lcrypto -lssl -lz -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread -+ LDLIBS = -latomic -lcrypto -lssl -lz -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread - endif - - # UPNP Support (miniupnpc 1.5 and higher) -- 2.30.2