commit:     6bcc3054f2f5dcc1c7b09d3961f3b12b8009e2c0
Author:     Alexey Korepanov <kaikaikai <AT> yandex <DOT> ru>
AuthorDate: Sun Mar 13 20:47:45 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Mon Mar 14 09:01:13 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6bcc3054

net-misc/i2pd: fix bug #564596

 net-misc/i2pd/files/i2pd-2.5.0.confd     |  9 ++++
 net-misc/i2pd/files/i2pd-2.5.0.initd     | 26 +++++++++++
 net-misc/i2pd/files/i2pd-2.5.0.logrotate | 11 +++++
 net-misc/i2pd/files/i2pd-2.5.0.service   | 18 +++++++
 net-misc/i2pd/i2pd-2.5.0-r1.ebuild       | 80 ++++++++++++++++++++++++++++++++
 5 files changed, 144 insertions(+)

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 0000000..fee9bc4
--- /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 0000000..6c1d4b7
--- /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 0000000..41e55e6
--- /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 0000000..3a3076e
--- /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 0000000..bf77fc1
--- /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}"
+}

Reply via email to