summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Korepanov <kaikaikai@yandex.ru>2016-03-13 20:47:45 +0000
committerAnthony G. Basile <blueness@gentoo.org>2016-03-14 05:01:13 -0400
commit6bcc3054f2f5dcc1c7b09d3961f3b12b8009e2c0 (patch)
tree26af57f19894534af25cfd34f4f64dab47750729
parentgames-engines/scummvm-tools: version bump (diff)
downloadgentoo-6bcc3054f2f5dcc1c7b09d3961f3b12b8009e2c0.tar.gz
gentoo-6bcc3054f2f5dcc1c7b09d3961f3b12b8009e2c0.tar.bz2
gentoo-6bcc3054f2f5dcc1c7b09d3961f3b12b8009e2c0.zip
net-misc/i2pd: fix bug #564596
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.0.confd9
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.0.initd26
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.0.logrotate11
-rw-r--r--net-misc/i2pd/files/i2pd-2.5.0.service18
-rw-r--r--net-misc/i2pd/i2pd-2.5.0-r1.ebuild80
5 files changed, 144 insertions, 0 deletions
diff --git a/net-misc/i2pd/files/i2pd-2.5.0.confd b/net-misc/i2pd/files/i2pd-2.5.0.confd
new file mode 100644
index 000000000000..fee9bc4256b5
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.0.confd
@@ -0,0 +1,9 @@
+I2PD_USER="${I2PD_USER:-i2pd}"
+I2PD_GROUP="${I2PD_GROUP:-i2pd}"
+I2PD_LOG="/var/log/i2pd.log"
+I2PD_PID="/var/run/i2pd.pid"
+I2PD_CFGDIR="/etc/i2pd/"
+# Options to i2pd
+I2PDOPTIONS="--daemon --service --pidfile ${I2PD_PID} \
+--log=file --logfile=${I2PD_LOG} \
+--conf=${I2PD_CFGDIR}i2pd.conf --tunconf=${I2PD_CFGDIR}tunnels.cfg"
diff --git a/net-misc/i2pd/files/i2pd-2.5.0.initd b/net-misc/i2pd/files/i2pd-2.5.0.initd
new file mode 100644
index 000000000000..6c1d4b7280f7
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.0.initd
@@ -0,0 +1,26 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="C++ daemon for accessing the I2P network"
+
+depend() {
+ use dns logger netmount
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ checkpath -f "${I2PD_LOG}" -o "${I2PD_USER}:${I2PD_GROUP}"
+ checkpath -f "${I2PD_PID}" -o "${I2PD_USER}:${I2PD_GROUP}"
+ start-stop-daemon -S -b -u "${I2PD_USER}:${I2PD_GROUP}" /usr/bin/i2pd -- ${I2PDOPTIONS}
+ sleep 1
+ [ -e "$I2PD_PID" -a -e /proc/$(cat "$I2PD_PID") ]
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon -K -p "${I2PD_PID}" -R SIGTERM/20 SIGKILL/20 -P
+ eend $?
+}
diff --git a/net-misc/i2pd/files/i2pd-2.5.0.logrotate b/net-misc/i2pd/files/i2pd-2.5.0.logrotate
new file mode 100644
index 000000000000..41e55e6a7427
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.0.logrotate
@@ -0,0 +1,11 @@
+/var/log/i2pd.log {
+ rotate 4
+ weekly
+ missingok
+ notifempty
+ create 640 i2pd i2pd
+ postrotate
+ /bin/kill -HUP $(cat /var/run/i2pd.pid)
+ endscript
+}
+
diff --git a/net-misc/i2pd/files/i2pd-2.5.0.service b/net-misc/i2pd/files/i2pd-2.5.0.service
new file mode 100644
index 000000000000..3a3076e5d1f9
--- /dev/null
+++ b/net-misc/i2pd/files/i2pd-2.5.0.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=C++ daemon for accessing the I2P network
+After=network.target
+
+[Service]
+Type=forking
+Restart=on-abnormal
+PIDFile=/var/run/i2pd.pid
+User=i2pd
+Group=i2pd
+PermissionsStartOnly=yes
+ExecStartPre=/bin/touch /var/run/i2pd.pid /var/log/i2pd.log
+ExecStartPre=/bin/chown i2pd:i2pd /run/i2pd.pid /var/log/i2pd.log
+ExecStart=/usr/bin/i2pd --daemon --service --pidfile /var/run/i2pd.pid --log=file --logfile=/var/log/i2pd.log --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.cfg
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/net-misc/i2pd/i2pd-2.5.0-r1.ebuild b/net-misc/i2pd/i2pd-2.5.0-r1.ebuild
new file mode 100644
index 000000000000..bf77fc15cc6b
--- /dev/null
+++ b/net-misc/i2pd/i2pd-2.5.0-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils systemd user cmake-utils
+
+DESCRIPTION="A C++ daemon for accessing the I2P anonymous network"
+HOMEPAGE="https://github.com/PurpleI2P/i2pd"
+SRC_URI="https://github.com/PurpleI2P/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="cpu_flags_x86_aes i2p-hardening libressl pch static +upnp"
+
+RDEPEND="!static? ( >=dev-libs/boost-1.46[threads]
+ dev-libs/crypto++
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ upnp? ( net-libs/miniupnpc )
+ )"
+DEPEND="${RDEPEND}
+ static? ( >=dev-libs/boost-1.46[static-libs,threads]
+ dev-libs/crypto++[static-libs]
+ !libressl? ( dev-libs/openssl:0[static-libs] )
+ libressl? ( dev-libs/libressl[static-libs] )
+ upnp? ( net-libs/miniupnpc[static-libs] ) )
+ i2p-hardening? ( >=sys-devel/gcc-4.7 )
+ || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.3 )"
+
+I2PD_USER="${I2PD_USER:-i2pd}"
+I2PD_GROUP="${I2PD_GROUP:-i2pd}"
+
+CMAKE_USE_DIR="${S}/build"
+
+src_prepare() {
+ epatch "${FILESDIR}/i2pd-2.4.0-fix_installed_components.patch"
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DWITH_AESNI=$(usex cpu_flags_x86_aes ON OFF)
+ -DWITH_HARDENING=$(usex i2p-hardening ON OFF)
+ -DWITH_PCH=$(usex pch ON OFF)
+ -DWITH_STATIC=$(usex static ON OFF)
+ -DWITH_UPNP=$(usex upnp ON OFF)
+ -DWITH_LIBRARY=ON
+ -DWITH_BINARY=ON
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.md
+ doman "${FILESDIR}/${PN}.1"
+ keepdir /var/lib/i2pd/
+ insinto "/var/lib/i2pd"
+ doins -r "${S}/contrib/certificates"
+ fowners "${I2PD_USER}:${I2PD_GROUP}" /var/lib/i2pd/
+ fperms 700 /var/lib/i2pd/
+ dodir "/etc/${PN}"
+ insinto "/etc/${PN}"
+ doins "${FILESDIR}/${PN}.conf"
+ doins "${FILESDIR}/tunnels.cfg"
+ fowners "${I2PD_USER}:${I2PD_GROUP}" "/etc/${PN}/${PN}.conf"
+ fperms 600 "/etc/${PN}/${PN}.conf"
+ dodir /usr/share/i2pd
+ newconfd "${FILESDIR}/${PN}-2.5.0.confd" "${PN}"
+ newinitd "${FILESDIR}/${PN}-2.5.0.initd" "${PN}"
+ systemd_newunit "${FILESDIR}/${PN}-2.5.0.service" "${PN}.service"
+ doenvd "${FILESDIR}/99${PN}"
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" "${PN}"
+}
+
+pkg_setup() {
+ enewgroup "${I2PD_GROUP}"
+ enewuser "${I2PD_USER}" -1 -1 "/var/lib/run/${PN}" "${I2PD_GROUP}"
+}