mirror of
https://git.freebsd.org/ports.git
synced 2025-06-02 19:36:28 -04:00
security/i2pd: Update to 2.40.0
- Take maintainership - Switch to DISTVERSION - Enable AESNI by default (run time detection if it can be used or not) - Pet portfmt and portclippy - Respect hier(7) for config files and dirs Changes: https://github.com/PurpleI2P/i2pd/releases/tag/2.40.0 PR: 260206 Approved by: 0mp (mentor) Differential Revision: https://reviews.freebsd.org/D33384
This commit is contained in:
parent
918e65eb70
commit
074939ea07
7 changed files with 100 additions and 54 deletions
|
@ -1,8 +1,8 @@
|
|||
PORTNAME= i2pd
|
||||
PORTVERSION= 2.38.0
|
||||
DISTVERSION= 2.40.0
|
||||
CATEGORIES= security net-p2p
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
MAINTAINER= driesm@FreeBSD.org
|
||||
COMMENT= C++ implementation of I2P client
|
||||
|
||||
LICENSE= BSD3CLAUSE
|
||||
|
@ -11,46 +11,61 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
|
|||
BUILD_DEPENDS= boost-libs>=1.72.0_5:devel/boost-libs
|
||||
LIB_DEPENDS= libboost_thread.so:devel/boost-libs
|
||||
|
||||
USES= cmake:insource compiler:c++11-lib ssl
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= PurpleI2P
|
||||
|
||||
USES= cmake:insource compiler:c++11-lib ssl
|
||||
CMAKE_ARGS= -DWITH_GUI=OFF
|
||||
CMAKE_SOURCE_PATH= ${WRKSRC}/build
|
||||
USE_RC_SUBR= ${PORTNAME}
|
||||
|
||||
PORTDOCS= *
|
||||
CMAKE_SOURCE_PATH= ${WRKSRC}/build
|
||||
|
||||
SUB_FILES= i2pd.newsyslog.conf pkg-message
|
||||
SUB_LIST= CERTSDIR=${_CERTSDIR} \
|
||||
GROUP="${GROUPS}" \
|
||||
USER="${USERS}" \
|
||||
WRITEDATADIR=${_WRITEDATADIR}
|
||||
|
||||
USERS= _i2pd
|
||||
GROUPS= _i2pd
|
||||
|
||||
PLIST_SUB= USER="${USERS}" GROUP="${GROUPS}"
|
||||
SUB_LIST= USER="${USERS}" GROUP="${GROUPS}"
|
||||
SUB_FILES= i2pd.newsyslog.conf pkg-message
|
||||
PLIST_SUB= GROUP="${GROUPS}" \
|
||||
USER="${USERS}"
|
||||
|
||||
OPTIONS_DEFINE= AESNI UPNP DOCS HARDENING
|
||||
PORTDOCS= README.md
|
||||
|
||||
OPTIONS_DEFINE= AESNI DOCS HARDENING UPNP
|
||||
OPTIONS_DEFAULT= AESNI
|
||||
|
||||
AESNI_DESC= Use AES-NI instructions set
|
||||
HARDENING_DESC= Use hardening compiler flags
|
||||
UPNP_DESC= Include support for UPnP client
|
||||
|
||||
AESNI_DESC= Use AES-NI instructions set
|
||||
AESNI_CMAKE_BOOL= WITH_AESNI
|
||||
UPNP_DESC= Include support for UPnP client
|
||||
UPNP_CMAKE_BOOL= WITH_UPNP
|
||||
UPNP_LIB_DEPENDS= libminiupnpc.so:net/miniupnpc
|
||||
HARDENING_CMAKE_BOOL= WITH_HARDENING
|
||||
HARDENING_DESC= Use hardening compiler flags
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}|' ${WRKSRC}/libi2pd/Reseed.cpp
|
||||
HARDENING_CMAKE_BOOL= WITH_HARDENING
|
||||
|
||||
UPNP_LIB_DEPENDS= libminiupnpc.so:net/miniupnpc
|
||||
UPNP_CMAKE_BOOL= WITH_UPNP
|
||||
|
||||
_CERTSDIR= ${DATADIR}/certificates
|
||||
_WRITEDATADIR= /var/db/${PORTNAME}
|
||||
|
||||
post-patch: # fix config file
|
||||
@${REINPLACE_CMD} -e 's|%%ETCDIR%%|${ETCDIR}|g' ${WRKSRC}/contrib/i2pd.conf
|
||||
@${REINPLACE_CMD} -e 's|%%CERTSDIR%%|${_CERTSDIR}|g' ${WRKSRC}/contrib/i2pd.conf
|
||||
@${REINPLACE_CMD} -e 's|/var/lib/${PORTNAME}|${_WRITEDATADIR}|g' ${WRKSRC}/contrib/i2pd.conf
|
||||
|
||||
post-install:
|
||||
${INSTALL_MAN} ${WRKSRC}/debian/${PORTNAME}.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d
|
||||
${INSTALL_DATA} ${WRKDIR}/i2pd.newsyslog.conf ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/i2pd.conf
|
||||
${INSTALL_DATA} ${WRKDIR}/i2pd.newsyslog.conf ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/i2pd.conf.sample
|
||||
@${MKDIR} ${STAGEDIR}${ETCDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/contrib/i2pd.conf ${STAGEDIR}${ETCDIR}/i2pd.conf.sample
|
||||
@(cd ${WRKSRC}/contrib && ${COPYTREE_SHARE} "certificates" ${STAGEDIR}${DATADIR})
|
||||
${INSTALL_DATA} ${WRKSRC}/contrib/tunnels.conf ${STAGEDIR}${ETCDIR}/tunnels.conf.sample
|
||||
@(cd ${WRKSRC}/contrib/certificates && ${COPYTREE_SHARE} . ${STAGEDIR}${_CERTSDIR})
|
||||
@${MKDIR} ${STAGEDIR}/var/run/i2pd
|
||||
@${MKDIR} ${STAGEDIR}/var/log/i2pd
|
||||
@${MKDIR} ${STAGEDIR}/var/db/i2pd
|
||||
@${MKDIR} ${STAGEDIR}${ETCDIR}/tunnels.d
|
||||
|
||||
post-install-DOCS-on:
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1621346486
|
||||
SHA256 (PurpleI2P-i2pd-2.38.0_GH0.tar.gz) = 8452f5323795a1846d554096c08fffe5ac35897867b93a5079605df8f80a3089
|
||||
SIZE (PurpleI2P-i2pd-2.38.0_GH0.tar.gz) = 555543
|
||||
TIMESTAMP = 1638819224
|
||||
SHA256 (PurpleI2P-i2pd-2.40.0_GH0.tar.gz) = 4443f484ad40753e892170a26c8ee8126e8338bf416d04eab0c55c1c94a4e193
|
||||
SIZE (PurpleI2P-i2pd-2.40.0_GH0.tar.gz) = 587626
|
||||
|
|
|
@ -7,26 +7,42 @@
|
|||
#
|
||||
# Add the following line to /etc/rc.conf to enable i2pd:
|
||||
#
|
||||
# i2pd_enable="YES"
|
||||
# i2pd_enable: Set to NO by default.
|
||||
# Set it to YES to enable i2pd.
|
||||
# i2pd_certsdir: The directory where the default certificaties are stores.
|
||||
# Default: %%CERTSDIR%%
|
||||
# i2pd_config: The config file used to run the daemon.
|
||||
# Default: %%ETCDIR%%/i2pd.conf
|
||||
# i2pd_datadir: The datadir used to run the daemon.
|
||||
# Default: %%WRITEDATADIR%%
|
||||
# i2pd_group: The group account used to run the daemon.
|
||||
# Default: %%GROUP%%
|
||||
# i2pd_user: The user account used to run the daemon.
|
||||
# Default: %%USER%%
|
||||
#
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
desc="i2pd startup script"
|
||||
name="i2pd"
|
||||
rcvar=i2pd_enable
|
||||
rcvar="i2pd_enable"
|
||||
|
||||
load_rc_config ${name}
|
||||
|
||||
: ${i2pd_enable="NO"}
|
||||
: ${i2pd_user="%%USER%%"}
|
||||
: ${i2pd_group="%%GROUP%%"}
|
||||
: ${i2pd_datadir="/var/db/${name}"}
|
||||
: ${i2pd_certsdir="%%CERTSDIR%%"}
|
||||
: ${i2pd_config="%%ETCDIR%%/i2pd.conf"}
|
||||
: ${i2pd_datadir="%%WRITEDATADIR%%"}
|
||||
: ${i2pd_group="%%GROUP%%"}
|
||||
: ${i2pd_user="%%USER%%"}
|
||||
|
||||
required_dirs="${i2pd_datadir}"
|
||||
|
||||
required_dirs=${i2pd_datadir}
|
||||
pidfile=/var/run/i2pd/i2pd.pid
|
||||
command="%%PREFIX%%/bin/${name}"
|
||||
command_args="--conf ${i2pd_config} --service --datadir ${i2pd_datadir} --daemon"
|
||||
pidfile=/var/run/i2pd/i2pd.pid
|
||||
|
||||
command_args="--certsdir ${i2pd_certsdir} --conf ${i2pd_config} --daemon --datadir ${i2pd_datadir} --service"
|
||||
|
||||
extra_commands="reload"
|
||||
reload_cmd="pkill -2 -F ${pidfile} -x i2pd"
|
||||
|
||||
|
|
|
@ -1,7 +1,23 @@
|
|||
--- contrib/i2pd.conf.orig 2020-08-24 16:48:09 UTC
|
||||
--- contrib/i2pd.conf.orig 2021-11-28 01:26:44 UTC
|
||||
+++ contrib/i2pd.conf
|
||||
@@ -16,7 +16,7 @@
|
||||
# tunnelsdir = /var/lib/i2pd/tunnels.d
|
||||
@@ -8,19 +8,19 @@
|
||||
|
||||
## Tunnels config file
|
||||
## Default: ~/.i2pd/tunnels.conf or /var/lib/i2pd/tunnels.conf
|
||||
-# tunconf = /var/lib/i2pd/tunnels.conf
|
||||
+tunconf = %%ETCDIR%%/tunnels.conf
|
||||
|
||||
## Tunnels config files path
|
||||
## Use that path to store separated tunnels in different config files.
|
||||
## Default: ~/.i2pd/tunnels.d or /var/lib/i2pd/tunnels.d
|
||||
-# tunnelsdir = /var/lib/i2pd/tunnels.d
|
||||
+tunnelsdir = %%ETCDIR%%/tunnels.d
|
||||
|
||||
## Path to certificates used for verifying .su3, families
|
||||
-## Default: ~/.i2pd/certificates or /var/lib/i2pd/certificates
|
||||
-# certsdir = /var/lib/i2pd/certificates
|
||||
+## Default: ~/.i2pd/certificates or %%CERTSDIR%%
|
||||
+# certsdir = %%CERTSDIR%%
|
||||
|
||||
## Where to write pidfile (default: i2pd.pid, not used in Windows)
|
||||
-# pidfile = /run/i2pd.pid
|
||||
|
@ -9,7 +25,7 @@
|
|||
|
||||
## Logging configuration section
|
||||
## By default logs go to stdout with level 'info' and higher
|
||||
@@ -25,9 +25,9 @@
|
||||
@@ -30,9 +30,9 @@
|
||||
## * stdout - print log entries to stdout
|
||||
## * file - log entries to a file
|
||||
## * syslog - use syslog, see man 3 syslog
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
Static files belong to datadir, not vardir.
|
||||
|
||||
--- libi2pd/Reseed.cpp.orig 2021-02-15 13:21:30 UTC
|
||||
+++ libi2pd/Reseed.cpp
|
||||
@@ -497,7 +497,7 @@ namespace data
|
||||
|
||||
void Reseeder::LoadCertificates ()
|
||||
{
|
||||
- std::string certDir = i2p::fs::DataDirPath("certificates", "reseed");
|
||||
+ std::string certDir = "%%DATADIR%%/certificates/reseed";
|
||||
std::vector<std::string> files;
|
||||
int numCertificates = 0;
|
||||
|
|
@ -5,4 +5,12 @@ You may want to increase default i2pd bandwidth limit by adding
|
|||
setting "bandwidth" parameter to "X" in %%ETCDIR%%/i2pd.conf
|
||||
EOM
|
||||
}
|
||||
{ type: upgrade
|
||||
message: <<EOM
|
||||
Some defaults in the sample config file have been changed to respect hier(7).
|
||||
It is advised to take a look at i2pd.conf.sample and reflect the better defaults
|
||||
in your i2pd.conf manually. Dont forget to move the config files from the old
|
||||
to the new location after changing the location in i2pd.conf.
|
||||
EOM
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
bin/i2pd
|
||||
etc/newsyslog.conf.d/i2pd.conf
|
||||
@sample %%ETCDIR%%/i2pd.conf.sample
|
||||
@sample %%ETCDIR%%/tunnels.conf.sample
|
||||
@sample etc/newsyslog.conf.d/i2pd.conf.sample
|
||||
lib/libi2pd.a
|
||||
lib/libi2pdclient.a
|
||||
lib/libi2pdlang.a
|
||||
man/man1/i2pd.1.gz
|
||||
%%DATADIR%%/certificates/family/gostcoin.crt
|
||||
%%DATADIR%%/certificates/family/i2p-dev.crt
|
||||
|
@ -15,10 +18,11 @@ man/man1/i2pd.1.gz
|
|||
%%DATADIR%%/certificates/reseed/hottuna_at_mail.i2p.crt
|
||||
%%DATADIR%%/certificates/reseed/igor_at_novg.net.crt
|
||||
%%DATADIR%%/certificates/reseed/lazygravy_at_mail.i2p.crt
|
||||
%%DATADIR%%/certificates/reseed/orignal_at_mail.i2p.crt
|
||||
%%DATADIR%%/certificates/reseed/r4sas-reseed_at_mail.i2p.crt
|
||||
%%DATADIR%%/certificates/reseed/rambler_at_mail.i2p.crt
|
||||
%%DATADIR%%/certificates/reseed/reseed_at_diva.exchange.crt
|
||||
%%DATADIR%%/certificates/router/orignal_at_mail.i2p.crt
|
||||
@sample %%ETCDIR%%/i2pd.conf.sample
|
||||
@dir(%%USER%%,%%GROUP%%,755) /var/run/i2pd
|
||||
@dir(%%USER%%,%%GROUP%%,755) /var/log/i2pd
|
||||
@dir %%ETCDIR%%/tunnels.d
|
||||
@dir(%%USER%%,%%GROUP%%,755) /var/db/i2pd
|
||||
@dir(%%USER%%,%%GROUP%%,755) /var/log/i2pd
|
||||
@dir(%%USER%%,%%GROUP%%,755) /var/run/i2pd
|
||||
|
|
Loading…
Add table
Reference in a new issue